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

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			FIBROGEN INC
		CENTRAL INDEX KEY:			0000921299
		STANDARD INDUSTRIAL CLASSIFICATION:	PHARMACEUTICAL PREPARATIONS [2834]
		ORGANIZATION NAME:           	03 Life Sciences
		IRS NUMBER:				000000000
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-36740
		FILM NUMBER:		24678824

	BUSINESS ADDRESS:	
		STREET 1:		409 ILLINOIS STREET
		CITY:			SAN FRANCISCO
		STATE:			CA
		ZIP:			94158
		BUSINESS PHONE:		415-978-1200

	MAIL ADDRESS:	
		STREET 1:		409 ILLINOIS STREET
		CITY:			SAN FRANCISCO
		STATE:			CA
		ZIP:			94158
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>fgen-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:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:fgen="http://www.fibrogen.com/20231231" 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:ixt="http://www.xbrl.org/inlineXBRL/transformation/2022-02-16" xmlns:srt="http://fasb.org/srt/2023" xmlns:utr="http://www.xbrl.org/2009/utr">
 <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_aa1007c5-cb60-40d4-8372-bc8445208dfe" name="dei:DocumentFiscalPeriodFocus" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc">FY</ix:nonNumeric><ix:nonNumeric id="F_2d21ca93-44c3-4f75-8ee4-93328d697bf0" name="dei:EntityCentralIndexKey" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc">0000921299</ix:nonNumeric><ix:nonNumeric id="F_801ae191-600f-44d5-bc5d-152a53c83266" name="dei:AmendmentFlag" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc">false</ix:nonNumeric><ix:nonFraction id="F_c9a5d341-6889-4520-9494-7c805a7e33fe" name="us-gaap:CommitmentsAndContingencies" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" unitRef="U_USD" xsi:nil="true"></ix:nonFraction><ix:nonFraction id="F_c1ae653e-9040-4144-acdf-a096c907387e" name="us-gaap:PreferredStockValue" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" unitRef="U_USD" xsi:nil="true"></ix:nonFraction><ix:nonFraction id="F_df5e8dbc-2fdb-42ef-9e0d-fd4668dddd0a" name="us-gaap:PreferredStockValue" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" unitRef="U_USD" xsi:nil="true"></ix:nonFraction><ix:nonNumeric id="F_000ff0b2-277e-4672-babe-12b5ceb15f67" name="us-gaap:TypeOfCostGoodOrServiceExtensibleList" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc">http://fasb.org/us-gaap/2023#ProductMember</ix:nonNumeric><ix:nonNumeric id="F_f2724b7f-2079-42a4-86d7-eac263261762" name="us-gaap:TypeOfCostGoodOrServiceExtensibleList" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf">http://fasb.org/us-gaap/2023#ProductMember</ix:nonNumeric><ix:nonNumeric id="F_3ffc38fd-b789-45d0-bd3a-744860736a32" name="us-gaap:TypeOfCostGoodOrServiceExtensibleList" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a">http://fasb.org/us-gaap/2023#ProductMember</ix:nonNumeric><ix:nonNumeric id="F_81f57a61-fc56-4d6e-854b-d1273e02f34b" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="C_2200ad89-0c83-43bb-b3c5-eabb8b0ab231">P3Y</ix:nonNumeric><ix:nonNumeric id="F_e71b16c5-6126-434d-8525-3ae79ff19db4" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="C_20b11c84-2ac1-415f-8a49-9b2c723eb504">P3Y</ix:nonNumeric><ix:nonNumeric id="F_0a9cc98a-5860-4392-89f3-199b7af3050c" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="C_07aca277-2192-46d7-b9e2-eb12c5876d83">P3Y</ix:nonNumeric><ix:nonNumeric id="F_6ec45d46-e39b-40aa-abcd-3246c7d8df9e" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="C_49c697f8-4383-42f1-b80a-352f71028d8a">P3Y</ix:nonNumeric><ix:nonFraction id="F_7af5f620-a6f5-43d7-8a81-a22096889955" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" unitRef="U_USD" decimals="INF" scale="3" format="ixt-sec:numwordsen">no</ix:nonFraction><ix:nonFraction id="F_a9c32616-f234-43aa-8b52-b408f0688471" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" unitRef="U_USD" decimals="INF" scale="3" format="ixt-sec:numwordsen">no</ix:nonFraction><ix:nonNumeric id="F_c2593476-76e4-4f28-a5db-a97a3c46c121" name="us-gaap:LesseeOperatingLeaseTermOfContract" contextRef="C_8656ccf6-7b9a-4d86-93ef-e201e089a439" format="ixt-sec:duryear">1</ix:nonNumeric><ix:nonNumeric id="F_8e85a034-f27b-4aca-9e79-82a8f7ef2519" name="us-gaap:LesseeOperatingLeaseTermOfContract" contextRef="C_05dd4bac-1564-4eb0-a139-99747a4f6697" format="ixt-sec:duryear">1</ix:nonNumeric><ix:nonNumeric id="F_b44be62d-5204-417d-8837-1e45bd5dd09f" name="us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62">http://fasb.org/us-gaap/2023#OtherAssetsNoncurrent</ix:nonNumeric><ix:nonNumeric id="F_73b7a46f-561b-4f66-8700-e955b456ad1f" name="us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b">http://fasb.org/us-gaap/2023#OtherAssetsNoncurrent</ix:nonNumeric><ix:nonNumeric id="F_79975e56-b464-43de-aee3-7997152e9a97" name="us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62">http://fasb.org/us-gaap/2023#LiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric id="F_4843918f-50da-42e9-9edd-e9aec5e36569" name="us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b">http://fasb.org/us-gaap/2023#LiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric id="F_5a2a9269-135e-4529-b640-63b2d92ecbbc" name="us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62">http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent</ix:nonNumeric><ix:nonNumeric id="F_6f1a9fbe-5bf0-4be8-adbe-2502374befd0" name="us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b">http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent</ix:nonNumeric><ix:nonNumeric id="F_8260618e-7cd2-4e43-8e51-091a7824a311" name="us-gaap:LongTermDebtContingentPaymentOfPrincipalOrInterest" contextRef="C_2ec22a62-3a7f-455b-b977-51076c6c7ae9">0</ix:nonNumeric><ix:nonFraction id="F_4256d155-e15f-4602-9cd7-3def6e363f77" name="us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" unitRef="U_USD" decimals="INF">0</ix:nonFraction><ix:nonFraction id="F_742d1821-3d19-4dff-bc16-8f6a11deb307" name="us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" unitRef="U_USD" decimals="INF">0</ix:nonFraction></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="fgen-20231231.xsd"/></ix:references><ix:resources><xbrli:context id="C_b4115d32-b0b1-49dc-bf90-810064b82555"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember><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_ae53f812-11a8-4b3f-804d-963c32ed9acd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:ClinicalDevelopmentMilestonesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2013-07-29</xbrli:startDate><xbrli:endDate>2013-07-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a8e9acae-1212-4097-9c37-f844af033f0a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</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_7893e42d-2153-432f-ad67-11cda72532bd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2005-06-01</xbrli:startDate><xbrli:endDate>2005-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5d37be62-0ace-4193-a87d-c84ddb509bba"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_49c697f8-4383-42f1-b80a-352f71028d8a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">fgen:LaboratoryEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_42f841df-c0a8-48f2-a100-6731350be873"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DiscountsAndRebatesMember</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_528c68f0-1f5d-4086-a9b8-00002b8a2506"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_6c42c9e1-23ed-4be2-a897-0b4a07cbcfae"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2014-11-19</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_fa2797cc-9fa1-460c-b81b-ef756cd58ad2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_79a4c265-ce10-4ad0-a49d-0b7b7bd2a4ad"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</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_9542e3e9-9b48-4954-bbee-633aa9763f0e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:IncreaseDecreaseInDeferredRevenueMember</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_0971c576-0a77-4b02-927e-a36961e449d4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2d9f1232-09cf-4a56-8df0-87268529c4f4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</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_334a3d96-8fc1-4b16-b7a5-6656db947ddb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</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_51e47433-6e9e-4fe2-aa05-81eb4d62a15e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</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_450cc1af-f17c-47be-95eb-1fc474c3abe9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</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_f3cfec5e-c85e-4535-a912-552935865538"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">fgen:SeniorSecuredTermLoanFacilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_464653e2-3d5b-4147-89da-5a519b1f4dc3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ea3f32a9-135e-4a96-aee7-ba59212b1b46"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEmployeeStockPurchasePlanMember</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_e89e03ad-6968-4126-8e82-d384cf6625eb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:ConvertiblePromissoryNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_788d981f-cb2d-4028-8f11-3a02658396ff"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember><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_d0d7bc76-8a99-4ef7-b51e-334ec0350450"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</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_bfb54ede-9fe4-45a3-8ed9-592de03fab65"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_1d84acbb-5f03-4d4b-8e85-b915043554c7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_eedcb0f0-0617-42c0-a213-1cfcbaac1e4e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_9c5dfa5d-d4c1-46d3-b755-cf68faa21d1b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:GeographicDistributionAxis">us-gaap:GeographicDistributionForeignMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9db76bb1-b3a5-45e5-aaea-7106d4b50ec2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:ShorensteinPropertiesLLCMember</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_d0d00f72-7613-4f69-8b32-87c3cc54a826"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</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_fc4b592e-3e33-428f-8377-d4b46df936f8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2013-07-29</xbrli:startDate><xbrli:endDate>2013-07-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cc135707-aa68-4991-8e25-405841d96721"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:BeijingEconomicTechnologicalDevelopmentAreaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_99f11c06-0f2e-4673-b7d9-8ef71a10f287"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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="us-gaap:TypeOfArrangementAxis">fgen:FalikangCollaborationAgreementMember</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_e021feb9-b9cd-4cfa-9657-a9290179f29a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:BondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_038dc011-9f80-4116-b2db-d0567bfd9eca"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ded8be4c-3bff-46bc-8353-7ded2d8b525a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b3f9d51b-4276-43fa-baaf-623b7b0b5c83"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4619cae0-6f48-4c8b-9b0a-c6c5ace442f1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_28284bee-e4c4-42f3-88d8-aa1be328eb8e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4348a71c-ade0-4f33-b4d8-0ca686ba006c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</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_0ec6afe4-7af2-41fa-a274-f2ffb1d3cc9a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fgen:RsusPrsusAndTsrAwardsMember</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_061a0b90-7f05-4b23-b2ae-a660d9e924e5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:EquityMethodInvestmentNonconsolidatedInvesteeAxis">fgen:BeijingFalikangPharmaceuticalCoLtdMember</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_6e56a1a2-5ac1-4477-a7a9-e841236053f5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">fgen:LaboratoryEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_820f5f16-8e7a-4f93-9e1e-f71123569725"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">us-gaap:OtherInvesteesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a16b6273-a322-4c18-962f-9d4ba804e1f0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_97ec9498-684f-432f-9f3e-82b654d09186"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_c61bb21b-1985-402e-81d6-06df73323bb4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5b29dd8d-06ef-496b-b47d-66ef14ce30fa"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</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_9bbd7689-d07f-499b-99f0-7e8f381129fd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DevelopmentRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</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_532066c6-4494-4995-835d-54fa1244b9ea"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">fgen:DelayedDrawTermLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:DebtFinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a38fa15d-11c9-4186-a4fb-733e5d096f07"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">fgen:OtherPurchasesAndProgramsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1954c157-71f8-42c7-8fb9-4f71a96245a0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">fgen:InitialTermLoanMember</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_9760f380-8f65-48ec-9aa0-021fab8935c0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7103d42b-9e77-441d-a76c-7890cfaea354"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:IncreaseDecreaseInDeferredRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</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_d16d7074-3c48-406c-a045-2bd69c7626c4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">fgen:AccountsReceivableFromDistributorsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:RoxadustatDrugProductMember</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_43e0e074-f5ce-4935-8fab-58ec7e6f2bdb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6fa8a44e-30f6-4a5b-9bd7-e5d40206a786"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_230eef7e-0721-4d7a-9dba-1e0bcfce9bbd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:TotalShareholderReturnAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_009e6fff-97b4-4b93-aa48-ba8b29bbf832"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:PerformanceBasedRestrictedStockAwardsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f5d69702-7188-49ef-8671-e43bbddf4a62"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_daa4758b-d109-45ac-bb36-09309b7fcf2b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_2e2e383d-456d-4a07-bc59-c13b2c44a1c0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3b37eeed-a9e7-4dab-92c2-9e49eacbd228"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:PerformanceBasedRestrictedStockAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1db5212a-dd5f-4f54-8697-a8f3e8aca7b0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</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_892731c6-14d2-4862-b12f-20aa8648074a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</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_78954666-d61e-45a3-b159-f9ed78d25d35"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:GeographicDistributionAxis">us-gaap:GeographicDistributionForeignMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_10344a47-fa45-4d9c-9af7-8a5f5494c8a3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</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_31338077-02b7-4c18-989c-288b2b2d9129"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f457bb67-f098-4369-aa8d-abe429fcd9aa"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</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_93c49346-c6c0-4035-9024-53edc792dbdc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenCaymanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e948d7d6-4033-4805-9359-234a74d76217"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_fc1c4857-2dc4-4e74-ada3-9dafeeab80be"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fgen:RsusPrsusAndTsrAwardsMember</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_c881fbac-216d-4491-b5e9-706acf6b4576"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</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_22b18794-5191-4b85-85b2-dc1d4050c6ba"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_547397e7-eb1b-49a0-a571-16036d2846dc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember><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_abbae10e-c5f9-4774-bf94-bad4b1bc9b52"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:ForeignGovernmentDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3614c635-ee35-4324-9cde-bfff3b11121b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:DebtFinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-29</xbrli:startDate><xbrli:endDate>2023-04-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_50be1263-1222-4ea9-9e75-30e9ca38196c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</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_47fac92d-3ba5-4f59-92a6-6764ef7b5aed"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2006-04-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_82baf30a-e6b7-4f88-af3e-2303ce28b33a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</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_ec4572d4-87c0-4490-a5ed-bd108b5fac84"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b490ff96-2542-4344-899b-17c8286897f4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</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_5a7a4ebd-293a-4eb4-a920-71b0be4627d7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:HiFiBiOAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-06-16</xbrli:startDate><xbrli:endDate>2021-06-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5cb58967-39dc-499b-9339-2ee01419f424"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">us-gaap:LatestTaxYearMember</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_51790052-a00c-4d1f-b3b3-7bef5e668b8a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e2ed8e46-1267-4633-bf23-9e61d09ab653"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_9bb9c8cc-d8e2-4d0a-8c34-8cd9bc2465d5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">fgen:LicenseRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_db1c0239-aeb1-4148-8dfe-f3b5578ab393"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_1a1fdc4a-4d80-4d7b-911a-eb0a0063070f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_53103ab2-3a7a-4d7d-93af-4497295b7078"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_9db542ad-7e55-49ed-aab4-8fbed025472e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">fgen:BeijingFalikangPharmaceuticalCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_93ffb450-1880-454f-a54a-cc29f02c3ef5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</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_56a03efb-f6a6-465a-ae75-afed946d1ab2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">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_cfcc0a09-81c0-4205-ae64-721f46f22e50"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</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_6448ae85-341e-476d-a342-5c0cd24af21b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_67c1856b-9aa2-42d6-bcf2-035ffc5afe02"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</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_591ccf76-7cf2-415c-afc5-42b0d40ee65d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</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_240dc063-7178-44cb-a041-3d7802e9afbe"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201901Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_dd069db0-06fc-4779-860f-d968de38ad92"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d23bf171-219a-4e80-b1f1-e64e5cd1757e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_08f88332-7bd7-4b3e-a5b2-dccb6c95e96e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</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_bf75c14d-7187-4d64-a37d-59031a3cdcee"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a009a95d-c91b-4118-a088-0722debb7cdf"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_77a21a8b-8316-4f17-bc57-a3490068665d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember><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_b2310234-45bf-40f1-a1c6-b8d494cac233"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesDPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c9de6165-5c70-47fa-8f69-51a12aa3a77d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</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_86497fcc-651c-446b-9de9-6bd0791a23de"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_37883dc5-23ed-47b3-b062-cfdc186d89a8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_96be5e1b-f948-40a1-a6de-29ea1446e622"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:NetTransferPriceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</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_f7bae724-7806-4068-8a59-a49fed19890a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</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_bb6bcc77-7a0f-4310-bb96-3bcf3822ed39"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_53afc120-1223-45ae-a543-af15c842403d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:ShorensteinPropertiesLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3a551d59-4413-4dad-9089-62d8982fd068"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TransactionTypeAxis">fgen:APIShipmentMember</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_f242600b-0ca7-4a2b-84d1-63f3ac5f9969"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9755559b-c556-449c-b20d-092303a2ed72"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:DebtFinancingAgreementMember</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_c7a002c3-7ac9-4881-a9ed-d23fe5787662"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_d44c9749-451c-4526-b833-5cf90b8de898"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">fgen:ManufactureAndSupplyOfPamrevlumabMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a4ea8880-b080-4f64-b120-e4ccdcaa8e6a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_c140df9a-e1bf-4a68-a31a-980d9399f28d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</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_2da3ba07-57c7-4b3a-81c9-5f0d614a4241"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_cd5519fe-2462-4e5c-ba0d-311dcb429297"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DrugProductRevenueMember</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_4231a158-8674-4371-b4b8-f298429c1c09"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">us-gaap:ValuationTechniqueDiscountedCashFlowMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_87ab9b9a-aabc-4dcf-b622-195ad575f47d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</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_84e1af20-ca17-4160-adfe-251eef105f87"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</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_c60cbb68-073d-4df4-9abc-e00293551276"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">fgen:FederalAndStateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d773362c-7cf3-4703-a248-9d377f16166b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ForeignGovernmentDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_fb3fc31f-e16b-44ac-a3e3-31af42d00b5f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_32fe60f9-4e53-4cfc-8f86-f9a79fce2894"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">fgen:PaymentPeriodOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-04</xbrli:startDate><xbrli:endDate>2022-11-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_199ec123-7c4b-43e3-8f2c-009e824a52be"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_944cc16b-628e-41a3-9da5-57c2fd1d3af4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember></xbrli:segment></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_b0f6d53b-7d83-428b-a51b-4c38c1aab8ab"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:FalikangCollaborationAgreementMember</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_e7b41c85-f1b5-406f-b8b1-0d58a35a1b75"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_f783ee6b-b7bf-4df8-8921-f64c2c32715e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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_81227e65-6a43-4199-bb79-b0865042fc33"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</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_3a4cc021-046c-4893-a352-3308e3c73063"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">fgen:PaymentPeriodTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-04</xbrli:startDate><xbrli:endDate>2022-11-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d8ba0bd1-0354-45d8-b873-d0f381b58cb8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-17</xbrli:startDate><xbrli:endDate>2022-11-17</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ca1a7f7c-109b-4aca-b1e9-936abc7e9c2a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-04</xbrli:startDate><xbrli:endDate>2022-11-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d8f03719-5f79-4d9f-ae54-099a4a9fb22d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_60f25780-d00e-4f9c-b047-4d24cf708a30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</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_d18ea9ec-9b52-464e-a850-9fd7826c0e76"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:EquityMethodInvestmentNonconsolidatedInvesteeAxis">fgen:BeijingFalikangPharmaceuticalCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_52726052-ce44-4f91-bb8f-1eb1fd0872d7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_d466837a-1b7a-43b4-a3be-2605701edfdb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">fgen:ThirdPartyShareholdersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">us-gaap:OtherInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_86f700ec-955a-4018-85dc-0a2983fea908"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b912fa2f-c4c4-4113-912b-a71f8ce9fde9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5f576384-fdf3-41c5-9023-17746a985932"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</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_c43f0be6-6491-4a49-a5a0-b04b1ffce8ae"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-05-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_20b11c84-2ac1-415f-8a49-9b2c723eb504"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</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_60707ab0-0133-4672-b0f4-ef21552b6370"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">fgen:BankOfFinlandInterestRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5c3d02e2-fe4d-43ac-8f9d-1eb5284d29a6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c8ee1d0d-831d-4de3-b1ca-208afec64a8d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</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_0808f146-6aa0-4a7b-941b-41dae8caa89b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_65c9c777-78c1-4cc1-bc12-d2c223fe6c98"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">fgen:PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-04</xbrli:startDate><xbrli:endDate>2022-11-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5402fc82-dece-4075-8abf-01b346722f6c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_7a4df5dc-804a-4240-84b6-1c6503fbfd52"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_37cf962e-018d-4026-8051-47d82e35ed38"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:CoDevelopmentInformationSharingAndCommitteeServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_25046d28-65c6-4a35-9399-55aba1d15900"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_daef42d2-df58-4844-9670-0dbd9e4afb13"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8cd46ce2-f63f-43c9-97de-d0eaaca65059"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</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_2976791d-f25c-4b1b-afd4-71ad7a47ef4f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_caa04941-0a8b-4a4d-8b28-6962cc72f452"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f0f9788e-e79d-4f19-b529-ca9df9cc78a0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</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_094f4a80-eacf-46b1-b93f-a4861cf28be3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:LicenseAndDevelopmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</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_06f086f0-9936-4c4a-8404-d51e9b1dcc47"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</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_d878faaa-d974-4b9c-9ef1-ec19c9a317fb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_d9313f8c-5a9b-4f62-a1eb-a404a4d5e997"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</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_05c5ce5e-eb10-425e-80f5-1adf25ba924a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</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_89cd8d98-4602-4f81-a61b-d4c8ef1c1072"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7bed8eff-b846-4d98-aa8d-91b72fc5710a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesDPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_932f5d94-42ce-47a7-8146-d7f8d232b03b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_1cd63588-2c9d-4afb-9ad3-1e4fc4fe5d43"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</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_26dced14-d578-4a08-9c2b-d659676a67ce"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesHPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b9b518e4-8fd7-4a1a-94fd-6e9e0c387058"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</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_c1f8b16a-ff9d-42be-a49c-180c1d376b34"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:RegulatoryMilestonesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2013-07-29</xbrli:startDate><xbrli:endDate>2013-07-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5c40f5a4-b2f9-4d93-8739-1517a3536a7c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:HiFiBiOAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f7b3cb4c-64c2-4916-a7b4-16e850ad2f4a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:MilestonePaymentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-04</xbrli:startDate><xbrli:endDate>2022-11-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_64cc3d18-f4e7-4539-b5c0-7644049497db"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2006-04-01</xbrli:startDate><xbrli:endDate>2009-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fa364b09-74f7-4cb9-9b08-b298ee139f14"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2014-09-01</xbrli:startDate><xbrli:endDate>2014-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b31fe196-c209-4ef2-9448-6a212cb030e3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">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_9ba5adc6-815e-43b9-ba53-e926244eadc8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</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_9d890592-a822-4a3d-b597-99d33459cbb9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_988a3f12-4d3b-4634-b6df-a7201ce3185c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">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_95f6cf41-e8d8-45e2-b37a-63281db2cba5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_b8f4b6e4-aee2-4158-8eb3-5a763ab922f0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:RsusPrsusAndTsrAwardsMember</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_a1bf767b-4c9c-475d-9944-9f21f37f5d35"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a6920112-4bc3-47b8-98ae-e3cc04f256e7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DeferredForFutureRecognitionMember</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_101342b0-9c1c-4d60-a23f-dd1df54c2c11"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</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_b236e042-06e0-4910-bdb2-e65dc298caf1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</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_cbea3c93-cb87-4fd0-92f1-68dd8d6a141f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_67a7751b-c72c-48b0-b1ac-c9e50300a6c7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:ChinaPerformanceObligationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7f882109-50f6-410b-bd71-d6aee5676342"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8c6e45bb-1f49-472e-9559-a3a3cefee8ec"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:CA</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_96cb75e0-1d1a-4a07-b3c7-4c4573ddde18"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:FalikangCollaborationAgreementMember</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_5a5f9f5b-e4e9-46ab-9c78-53b944ad3e49"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_397c3bed-839e-48de-92a2-d84e03a45424"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_baf4242f-5d13-4035-961f-f5744ebc2d09"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c7330853-b638-42fb-97ae-193aada07397"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2014-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2492c0a5-092b-4db0-ab54-2cb41fb20024"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">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_8dfca732-7b50-47d8-943b-06fd63bcd98e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TransactionTypeAxis">fgen:APIShipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b0d269b5-195b-4d57-92a7-c9011f90c4f8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_715f1e78-0df3-4b9d-9435-742afc271ff3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:BondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a8e3741f-80a7-4107-8144-8001263d30df"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_db7b6315-4893-4093-a8e3-4f206f41e360"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9c5e7487-267e-4264-bd03-b5f0cc05bd71"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenCaymanMember</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_8c26fd17-5407-4883-a9b1-f63dc695e38a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_07aca277-2192-46d7-b9e2-eb12c5876d83"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_02e61819-a36d-4328-821d-6652cddf6682"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1328efd7-31fc-4729-9933-b94c0dad16c8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</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_b9a3095e-7cea-4a4c-b2c9-5f08dad5771b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3bb318dd-86cf-40ed-a2aa-c686aa4fedd9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_f71f5c88-8e09-486d-87a3-fe5cc6fc75c3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">us-gaap:ValuationTechniqueDiscountedCashFlowMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e2a59c00-56d2-4312-8cd8-032f48bf6650"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_45b0924b-4cf9-4634-aa34-2d9e5b58e9b2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_812a6f56-e692-4550-8ae1-9a38563137f6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_af2adcf9-f465-4168-868b-527ff23d4372"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_965f9dfd-db09-4014-9ff2-4b3ce1fbeca1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</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_7718419f-135a-4b31-a47b-8736a1cdf919"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:OtherRevenuePatentTransferMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</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_8fdde903-c818-40c6-862b-d0e48161bace"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_88a9527f-c19c-4262-9a0b-0c86673d1614"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_44411402-4130-4eae-8a6a-b5b3a3b1d5a0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_fc66a24f-cb40-48a9-9e32-c517c08f6020"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0a847135-1a14-4fd4-a764-90ffc1ce8296"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_89069d82-173b-486d-b18a-12e0ed848777"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:BeijingEconomicTechnologicalDevelopmentAreaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2c22d0e6-9a4a-464d-8b52-2dd428e0c12e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</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_d0b541e7-1180-4256-975d-456eb0e68ad1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_bc67b859-6a7a-483d-b9ab-3f3606bfba16"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</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_6ee78229-9de9-4276-9464-cfaa0c01fd3d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b61346fe-47e6-41d4-bbe4-25b4aef1da42"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-10-17</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e86a2990-803e-4f7b-a835-1af10a81cf5c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d4d3a4ad-58d7-4cd6-8f7c-476693909649"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:ConvertiblePromissoryNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_987c8269-c09a-4c09-adf8-8ff473c94317"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_baf4e5d4-5795-4d34-8c60-de3fb2853bcb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:ConvertiblePromissoryNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2f06d81a-e18e-4ad2-a9cd-a3845a64f054"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:ClinicalDevelopmentMilestonesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2013-07-29</xbrli:startDate><xbrli:endDate>2013-07-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ab8c9705-5fc0-4804-adff-fa15225d56de"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ProfitShareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</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_5fec43db-89ef-48ff-988c-27ababfa9bdf"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</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_44966446-1567-4557-9601-0657675deb31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</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_05dd4bac-1564-4eb0-a139-99747a4f6697"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</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_986055b0-2f1f-4054-9df7-989f9b942219"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fgen:FortisTherapeuticsMember</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_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_e3ede601-bff4-412a-975e-c3fc0275bd2b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</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_7704c37f-1cad-4567-a037-6e7f7b844901"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</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_73216bff-85f3-4d56-9c06-bf1a34b575f6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_690ba101-7bcf-45b4-93ab-f75ecd71059c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5a42e7fa-5cf5-415b-9493-9ca0620d132f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</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_14692126-1d87-484c-a361-1cc42818617b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7d0d88d7-1f06-4b8a-bb98-f228d097c366"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ProfitShareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</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_d3b77e5c-d2a5-4628-8645-7f0536e2037f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_e5f5b775-79ab-4b88-89c5-628da75cf313"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_edc11a7b-a6b0-40fd-bfa6-9f386129b05a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember><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_afb93e67-b1f7-410a-9eb5-76a98e755f1e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_d18421a3-6eb0-41c3-865f-3d30610e76de"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0b9590f1-cdf0-4cee-9ecc-380bbffc159a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e5c67bae-0713-42f4-8a05-7bb5d22af872"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</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_08984c92-4fb6-4b96-87fe-b04e6fbdf4ca"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</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_9dcf2e46-d8b2-4c2c-ab36-8a4e3b80aaf3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</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_7c1914b9-8033-45d3-93fb-a282fb44696e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a5b0c087-4f4c-40c8-b327-d49d0cd24f70"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</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_a89db25d-a908-4a2c-a4b5-1acf00a714fa"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</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_95a49687-82c4-4056-b1bd-20c8519a55fe"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:RegulatoryMilestonesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2013-07-29</xbrli:startDate><xbrli:endDate>2013-07-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5557388d-a83e-4fbc-91f0-a6e63de32eb6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</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_506b093a-27a1-4916-ab54-8d4bebdcb0a3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</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_35841333-74f6-4133-a950-8375b5226923"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</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_28f2917a-4934-44af-a2cb-297cc1ada203"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</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_c867876f-e980-4297-9c42-81c5643cd3fd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c4776c5f-9047-4c34-b331-fbe33f89b649"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember><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_fd0c7653-e448-4e10-8cc5-3dc1479076ca"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2ce15aee-90af-4927-a5c8-a4a1f974398a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b20a7854-a42e-44ba-9c35-0a281cc96828"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:AtmProgramMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-27</xbrli:startDate><xbrli:endDate>2023-02-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8656ccf6-7b9a-4d86-93ef-e201e089a439"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_690e25a2-ec5a-4009-bdbb-c779cf8ed79f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9df69083-c305-4073-82ef-4bb5e3fd801e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">fgen:ManufactureAndSupplyOfRoxadustatMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_59b97078-5956-4d16-9e00-c3b9d75ab86e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesBPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_bb0b20be-5ebd-46ff-962e-5b39583edd9d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f2a3bec5-7ab0-40d4-98fa-5fed29caab14"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</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_4490c8f4-3882-4f3e-be33-fcc6e52f440c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2005-06-01</xbrli:startDate><xbrli:endDate>2009-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_70c0f8ea-eb0a-42c1-92aa-243d905a2ba6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_dfb977fc-38fe-4c04-a11d-3e6875c02b6e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">fgen:LaboratoryEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d6f21aa5-889c-4dfa-9ce2-92fcb4d2b9ea"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_77de3070-a7c7-4dff-aa32-3fd9d7fd7063"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">fgen:AccruedAndOtherCurrentLiabilitiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c5c4b2d6-09ca-4252-accc-c6b9b5a7a55e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenCaymanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2200ad89-0c83-43bb-b3c5-eabb8b0ab231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</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_79c00df0-8cd9-4b34-bb56-18329568f281"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">fgen:ThirdPartyShareholdersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">us-gaap:OtherInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_304bb7d9-3e21-42db-83a9-b5689f3fe6cd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-04</xbrli:startDate><xbrli:endDate>2022-11-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2c0f98cd-577c-4626-bc31-c1d608665324"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:TotalShareholderReturnAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5995f929-3741-4c1d-848c-3ccfd1ee27cc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8c1a506b-c25b-40df-9370-0bc732e1b43b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:FalikangCollaborationAgreementMember</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_025aeb48-93cb-46ce-b1ce-7c92cd66990f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</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_7497727e-27a1-44f0-a67c-9561eae1dc3a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesFPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9c928c5d-22e1-46f8-bb0e-197d157ef959"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_61912f00-c0b8-4f8c-a4d0-ec6b32adcde7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</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_91b986fc-d91b-46d1-bbbb-edb6c4975266"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-04</xbrli:startDate><xbrli:endDate>2022-11-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c72973a0-f5ac-4941-bd93-56ca141c6d0f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_8b286242-b5c5-40f3-aff0-125cd2031463"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4467ce7e-b010-490e-a6db-a3392c21a6be"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">fgen:LicenseRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2bcc9ae8-5367-4c0e-8506-7b39063bee70"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:LicenseAndDevelopmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</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_98f064b8-c8d1-446b-9181-9c5edbdb8a71"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesHPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1ec5d821-c9b4-4746-b661-4463e8a030f2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e64035f6-74f7-43ad-8c0c-b5cc97e8e131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesCPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_80fa294c-a5d2-4b39-a6dd-8bb5bde8fb78"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7e8436c1-49a6-41fa-a4fb-ea5535c12b40"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesEPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2ad24307-4357-4587-9fbd-afdfbb1fceb9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</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_3754bc73-6453-4e16-b248-cea34f4b85ef"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2015-01-01</xbrli:startDate><xbrli:endDate>2015-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_858d8afe-0b0f-4b51-be2b-9f08a5503083"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:RegulatoryMilestonesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</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_936d7fe1-23ee-4503-9a14-9385a4290304"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">fgen:BeijingFalikangPharmaceuticalCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ce10b568-068b-46a4-af77-391695657653"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:ClinicalDevelopmentMilestonesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2005-06-01</xbrli:startDate><xbrli:endDate>2005-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_86aecf7f-d4ad-48d6-81ed-7fd0f6d75915"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">fgen:ExpirationYearTwoThousandTwentySixMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e9d30697-9059-4875-a249-41c40837b52a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_62fb430b-045c-4c6f-8619-a8977b560ee1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">fgen:AccountsReceivableFromDistributorsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:RoxadustatDrugProductMember</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_5c1aed34-8144-4ef5-a31b-4004344b8f78"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_26f2e989-5f07-458e-a4d2-388ca07124d6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:StockOptionAwardsMember</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_b32ceb60-7f32-4a8c-aba6-7344a342d038"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">fgen:AccruedAndOtherCurrentLiabilitiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_505b9183-755e-4b21-80ae-014c47dacb80"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">fgen:FederalAndStateMember</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_36ecc7bf-c41d-460b-92f3-3ab64b425d0e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d3b0e95a-6238-461b-991b-812b32ec223f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFiveStockPlanMember</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_b355ec1f-7122-44d4-b503-7cbcc61bae01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8d9e40ae-957f-4260-b5e8-454c8d0adade"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesFPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3d3f82e4-4816-4489-814c-866d2684ba8a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c65ab633-2463-4897-b5a9-04b704f70dae"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:HiFiBiOAgreementMember</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_d8ce0cee-d608-43e4-a0b7-1ed4f965cd2c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8fb04946-4ae6-4072-8ec9-ffc9f2a84ad1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3ced6666-5930-4496-b340-906b5898d986"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_fce2cea9-acf6-4c1f-81de-929d48cfe083"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ProfitShareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</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_7047ebdf-c9fc-481e-b8cf-3f6a15695bc2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</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_7aa0ec63-9119-4ac2-b319-b78b312f4e03"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</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_4f3fb4b2-116d-43b3-94ee-3cfae72d071a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</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_5fd2f689-43e5-415a-a8f0-f5d4113acb9e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0d2a1068-530a-4790-a599-651e1d85cf2a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_587c875c-85c7-40f7-90ff-380658696ae9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-05-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f26887a3-0ec9-464e-8561-473ed3c3a56c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:BondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c53c0b6d-1c9a-49b8-ac78-9ba4ce287637"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</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_68ca4370-c0da-4899-81b5-ecfd60e71dc6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_222c8437-de38-43f8-96f8-8c1bcc2afec6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">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_29ae50fc-6f09-4103-bb32-9be92f9a8bcc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</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_9c462f04-8f46-44ab-ab72-a2ccd536adb1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201901Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7811b1fb-2195-41fe-b9b4-4698c263263d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</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_9c1fa134-424e-4294-b760-3a1f0e0bec6d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:MilestonePaymentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">fgen:PaymentPeriodOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-04</xbrli:startDate><xbrli:endDate>2022-11-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_61185a7e-4cc2-4fa4-9a59-c6e7007d895e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:TotalShareholderReturnAwardsMember</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_4281c003-8942-42b2-a9c5-fed334a66d68"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a9b93c03-b62c-4471-bdae-1229fdfb732c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</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_7ff027e1-84b6-447f-8fe2-c52b9725a2bd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1cda9703-aeb4-445a-b6b1-adf222eadc12"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6980804d-70eb-4306-a1a9-995e7bd59696"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">fgen:LaboratoryEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_260c93a8-c8e9-4970-9f44-90a16e8aed4d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e665c10a-3d2b-4ec4-8bde-27f0bccf1d4f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b02eeac9-405e-4cbb-8fa1-5618869e0285"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</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_9a383c87-d503-4a10-ba48-73b36eb158ae"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</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_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_ddff872e-147d-4935-b266-7e38857ce462"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-07-14</xbrli:startDate><xbrli:endDate>2023-07-14</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_779b6e72-8b61-47e2-9d07-7f55f735098c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><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_9428ff60-8d3e-4b0b-9dd9-61c512ead67a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</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_51afc4dc-9629-4c33-9580-80d7c32dc761"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8ad23aa4-dbf3-4abf-9c95-bf014b7bfe2f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:LicenseAndDevelopmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</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_92195a5b-b6f3-4971-89a8-3a0b2aff7918"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember><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_7b9b71e3-6fba-4b08-970e-1cc9051fc211"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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="us-gaap:TypeOfArrangementAxis">fgen:FalikangCollaborationAgreementMember</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_2241c9db-ebb5-46bc-bed6-e1572f418f14"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">fgen:FederalAndStateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_00ff4cc6-603c-4028-b586-66f9708a9dab"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1528764b-7417-43bf-b0e8-270db351abad"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_782b2c2c-8255-4e71-a234-c4eb4d25ecc5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-04</xbrli:startDate><xbrli:endDate>2022-11-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a9ac82b8-66aa-4bbd-a2d9-d559a20f5f07"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:FalikangCollaborationAgreementMember</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_e2cc0a7d-167d-4d1f-a543-70dc63e9891e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a7f201a4-4fc8-46c3-9232-d6e0061d36a2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_430d9eae-1a54-416a-978f-bd8321e45644"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-01</xbrli:startDate><xbrli:endDate>2021-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d43d1399-b0eb-4c13-8d3f-8f914f93c5c6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:BondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d0e308e7-c4c3-4a35-b0df-90ddc089beb5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_347617c4-c1a5-4907-b38b-a86639c20bc8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:ForeignGovernmentDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a0f43f9d-a4e3-47f5-88f8-200ba7bc2796"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:DeferredApprovalMilestoneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2013-07-29</xbrli:startDate><xbrli:endDate>2013-07-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_94968f74-2378-4f92-a41e-cb137e49f460"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2015-01-01</xbrli:startDate><xbrli:endDate>2015-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ac2ad58a-c256-44a4-b2b5-a0b1322e9dec"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldAndChinaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_db10d930-93d6-4b10-b745-9bdf9e585579"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0eeb9ede-f956-4236-8777-2393b5f0c2a1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</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_9b485fae-993b-4a81-9437-9082d4079a3e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_b35f67ea-70ba-4200-a0f3-3b3fff354071"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember</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_bc6a99e3-85df-4961-bc59-1bfcf38ad17b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:RegulatoryMilestonesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2005-06-01</xbrli:startDate><xbrli:endDate>2005-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_207f7479-2b33-486a-9e5e-2da2f18f3d8f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_12b09a60-f1ba-489d-80a0-5d51865c7616"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">us-gaap:ValuationTechniqueDiscountedCashFlowMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fgen:FortisTherapeuticsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f4110041-d180-43b1-9f3f-9d5bc9e44b24"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">fgen:FederalAndStateMember</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_7930c720-a15a-49d5-a673-4ac5dfcd7bfe"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</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_186be332-a1c2-4e53-84ff-55113081329f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">fgen:LeaseAmendmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:ShorensteinPropertiesLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-06-01</xbrli:startDate><xbrli:endDate>2021-06-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b9a48968-fbdd-410e-bb99-5866f6959b94"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f187a5ba-1fd3-43c9-a7e5-a15fdbb02cbc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_14b1d456-b401-44af-bc59-f83599a5779c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</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_c59b7f13-65ce-40e5-881d-f7cb503d09c2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_8161ddbe-54e2-4bb7-99f5-03366cbf8d26"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2014-09-01</xbrli:startDate><xbrli:endDate>2014-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3bb807ba-04ad-4d46-becb-e63d43a94e08"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:AtmProgramMember</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_c075cc89-6b9f-4627-a708-e7978888b2d5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_99cd03a9-4798-4b8a-8371-9c87615120e6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_b10232b4-a607-4beb-b644-228d14e03827"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6deda77e-2584-48d4-8b8c-8547fc48de28"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</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_b8335490-3812-4924-9787-048714b5e777"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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_97c91ca9-34fb-45af-b56f-7027b96b661d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</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_d94871d9-155f-45b6-85d5-3341ee165465"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesGPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a8b1dad5-8076-4dde-9643-5550cbef11b2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4ee03e1e-6501-4b6d-977d-f1e6fc2a7874"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">fgen:OfficeSpacesMember</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_0306163d-33a1-4585-9e18-f8ed18761bf1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</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_52f697e0-dad1-41cf-b6cc-29aa9845f30c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</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_ebd00914-687d-46b8-9d96-a90abc45db5b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:ConvertiblePromissoryNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3af042cd-501f-4d16-ab33-f5cc1769db27"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:PerformanceBasedRestrictedStockAwardsMember</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_5434968c-8b40-4fc1-a1a8-450008108bed"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_056299d5-b54d-42f0-8a35-dafc97db5874"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:SalesReturnsAndAllowancesMember</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_e82769fa-c6cc-4d5b-a6e6-4a445f9fbf48"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:TotalShareholderReturnAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_9eafba01-7637-4c8c-9722-18817fd59cd3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</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_1951cf98-3452-4729-9620-7bf634d5bd22"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_eee05b28-bf73-4a04-b53d-02702a48a5e5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2006-04-01</xbrli:startDate><xbrli:endDate>2006-04-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_57c84049-303f-43ed-998f-89ad95828c47"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</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_b121c107-842c-4bb6-9142-8fdb84696834"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</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_f29fd6eb-9bd2-496a-b4d7-1aa33757bd06"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a78aa492-a4f1-4008-bca5-4c4e263f2c78"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</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_a0e42a78-4719-467d-8c18-7cc053055418"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fgen:FortisTherapeuticsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-05-05</xbrli:startDate><xbrli:endDate>2023-05-05</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4b18c675-f7ca-483d-b296-3fbb22c4ebcb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesCPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e570d502-9900-4211-a721-4abaa783f4e3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201901Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_44801228-6da7-41e9-ac58-9e490e0eab1f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</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_fcdd70cc-02f1-4078-91fa-572c17727d6a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</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_195eefd4-6da3-43c0-81b0-6ea119e86f6e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:EquityMethodInvestmentNonconsolidatedInvesteeAxis">fgen:BeijingFalikangPharmaceuticalCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0be8756a-12e9-4939-b897-b138f42e27ca"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-09-18</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_60baaddf-10f0-4a6d-ad2b-5d5114bea420"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_e0dba2f4-2e6e-4443-a2cc-ab934480fa42"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e97f4ffe-92fb-4434-9162-5a5d8f056ada"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</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_ddc9ba9c-5861-4aa2-b92e-63b73c62e1d2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2a9fd702-bb23-464b-9bb3-bd219552aacc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f879e501-9478-46ef-a0a3-e2a2f87ba539"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1e0a6e67-86a9-4fd2-a2c0-fd64e9dd6066"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TransactionTypeAxis">fgen:APIShipmentMember</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_51eeb100-a8cf-4f3c-9d36-38c654db3929"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_67bbdbe1-8f4e-4610-9ba5-d4238cbd9b72"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:BiosyntheticCorneaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</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_3cd339e5-d423-4fac-b504-227336a6a578"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0f0dbffc-396b-44ef-8b73-7f9a3a5e51e1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DrugProductRevenueMember</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_e2d95cc7-6809-4e41-b4a5-c193f6a20300"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:SalesReturnsAndAllowancesMember</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_b0dd58a0-ab0d-4e16-9fee-d4c7c815b5a9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5748279b-966a-4c2a-93d8-b37a74cb9e56"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f51c9e5b-00c8-4ed5-994a-c730fa65cca4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:FalikangCollaborationAgreementMember</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_b1abd3f6-9e5f-4849-a22f-19625fdae480"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</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_2b061bd4-6cf5-4ed3-a98b-d3b0ce02e215"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:ClinicalDevelopmentMilestonesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2006-04-01</xbrli:startDate><xbrli:endDate>2006-04-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_6f1ce090-d670-4f43-ac8a-9596b7e8371f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-01</xbrli:startDate><xbrli:endDate>2021-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cc914418-c5b0-4dde-97b9-ffde29490b6e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenCaymanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_449f708b-00d7-40ff-a656-df58936be1ca"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:ConvertiblePromissoryNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_43212964-e3d4-447a-be42-9ee2d89d9290"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:TotalShareholderReturnAwardsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3a9b7a13-9844-4e3b-b842-6f7f8f7b06d7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_999e73e6-ee7b-4b73-bf56-360fbfb0c5a5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenCaymanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2013-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8d86ddc5-f189-461c-a0de-1deac7641775"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</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_cf240dc1-5b27-4497-9ed3-02c28c795f98"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</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_6eb1ac9b-f9eb-46f5-a850-37b4f530bdd0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c140c098-99ec-418b-87ce-cd5b3b31f1c0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_cd34fec9-258b-4bd4-af13-19f2e01c25c9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-07-01</xbrli:startDate><xbrli:endDate>2023-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_632750a9-441c-4788-9b20-27041510e572"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_279b072f-52a6-407e-a314-08cdb607df5d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_af8c70cf-5b7d-4e18-94ac-2b237f68b5cc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</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_82d124a4-1e8e-4c7c-8f11-2ef965609859"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:NetTransferPriceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</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_dbae7583-b097-4efb-82b8-4bd796994785"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a1db9951-e8e6-483c-abeb-2ea1de5b512e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_fe4460a2-ef5d-4301-bd7e-2dfcd14d9c5e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_49146cde-48bb-43d6-9da6-b54f2856ecc8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:PerformanceBasedRestrictedStockAwardsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a7d36e78-cbfd-4b7f-a8c5-3cb3bd2490e5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_81733a62-ea6b-4fb8-ac1a-6361b593f3a9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:ForeignGovernmentDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2427f058-7cf6-4c07-8c55-53020154028d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:HiFiBiOAgreementMember</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_bfaf7ee2-8a31-4a60-9a57-c2ed55095b93"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DiscountsAndRebatesMember</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_53bc918c-4181-4772-9d28-479d0f2e1e08"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</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_26002145-6f5e-42e8-9176-8a2b83d50419"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_6a50a82e-d849-43f5-8782-988b2133b3d4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ca8dabe4-ee75-4cc1-88fa-22ad86c9f220"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_357db032-314e-4a7c-9652-fc3e2a079d22"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</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_8aa3bc4c-9f6c-4fb2-b6d1-a5f58c06f239"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</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_1d12f457-88cd-4946-b657-3aca06a7cfc0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember><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_649d562e-a8ae-40b4-bb9a-131e714124b9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d7483c7b-f5cb-4e41-9fe5-b9cd6457e3b0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">us-gaap:OtherInvesteesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_68624f91-a5f7-4b90-be41-5f8fabc51019"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-04</xbrli:startDate><xbrli:endDate>2022-11-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c76f6e0e-7be1-4639-b16d-7816b6ab09d9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-30</xbrli:startDate><xbrli:endDate>2023-12-05</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e148661d-15d9-4087-ace0-a627aa82c0be"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">fgen:InitialTermLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:DebtFinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d30e646e-d518-4d7e-b48b-c0c5d8820692"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">fgen:FederalAndStateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4677bbd5-396e-460a-b9ea-1a8ef3003d69"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3f6c5da6-149d-4e23-bb36-bb5a0aaf655b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">fgen:ResearchAndPreClinicalStageDevelopmentProgramsMember</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_b0b4c4de-0aa6-4c3e-99c3-ea107fc99732"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">fgen:FederalAndStateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f0c22d34-501b-48ca-857f-8481c9178419"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fgen:FortisTherapeuticsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a5131c42-9d4d-465f-879d-86d0b5d0591e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fgen:RsusPrsusAndTsrAwardsMember</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_70f4531d-ca48-4f5a-869a-abd180a9ca96"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">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_8dcc6362-b7f5-451d-86fb-7ae7ee437868"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9fe43a64-ce73-4bb7-bf6e-a0ca0ee60adb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">fgen:FederalAndStateMember</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_88505922-bad8-4351-92b5-ba7d82e86b0b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:ForeignGovernmentDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_44ce08de-7b02-4982-8578-54a8d37f38db"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</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_b458ae5e-4dd0-40db-a156-3511b30b31df"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:PerformanceBasedRestrictedStockAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d4190d83-2c42-4569-8a71-c8f44b1bcb92"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</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_26dccaf9-87b1-4a6b-b8bc-2decb5273511"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</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_acb46919-8df0-40ef-aee5-d04d1c189e87"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</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_32c5005e-7734-4197-b44e-37a11e09e7fc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_2cb0b760-21b6-4428-9315-5445410e51a3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</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_4347292f-9186-426c-8f78-e90729035fab"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><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_c52b43d8-10ee-4799-a3ab-939a0ba45db9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</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_80abdbfe-1ea4-4f78-9a32-0e16549e5993"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:StockOptionAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3778ef7d-b3a4-43a0-9dd0-7b8f411e5e1b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:OtherRevenuePatentTransferMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</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_14b20dc5-02fe-4953-b340-ffb9bc5d98a6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:SalesReturnsAndAllowancesMember</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_79a389cf-3893-413e-92c7-f9510408990c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesGPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_20ffc867-55c8-4555-91bd-a994a29c5242"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1efa9634-32e0-4de7-85ff-95fb98b1d503"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">us-gaap:ValuationTechniqueDiscountedCashFlowMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3b2d0816-da4e-4855-b033-81decbc0c8cc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">fgen:PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-04</xbrli:startDate><xbrli:endDate>2022-11-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8575fc66-808b-4431-8e13-1c20ae80d04b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</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_b33c70ef-163d-44f3-a4d5-4beab3fab652"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_86aeaf95-72b1-4870-a0db-88d72f44070b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEmployeeStockPurchasePlanMember</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_b494fc69-c1b9-41de-8f89-256ad32ce8b9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</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_db6fb63e-a4ce-4e4a-886e-36ba9c7a1335"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_75280c83-48b9-4595-b131-fb7dddb45699"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_24d75f0b-1f76-4b16-bd10-ab69a60ebd4f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:DebtFinancingAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">fgen:DelayedDrawTermLoanTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_08b07b5f-6f5f-4b95-9e2f-9785bb4dfac5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_eb1b3f54-5cb0-423d-aa5f-3bb8c58bd699"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_a4a29692-8d36-4f1f-b49c-9ec01e60bbd7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesBPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a454d238-654d-4e8a-81ff-f9b70bc9f678"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">fgen:BeijingFalikangPharmaceuticalCoLtdMember</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_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d3e27962-7c7d-46f5-97f3-20e1fc677a66"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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_3118286d-5662-45d7-85a3-423ffb8d4445"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</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_02100ecc-9274-43bc-9a74-6f24c8be2c31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">fgen:InitialTermLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_04056763-b277-40b0-a25b-537f7d95e260"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</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_80e9ec01-68cc-4d71-8bd0-61807175b193"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFiveStockPlanMember</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_112d19ca-27a2-469c-8f59-37ee2038176f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">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_4123b229-24e9-42ce-933d-58cb92496c09"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2013-07-29</xbrli:startDate><xbrli:endDate>2013-07-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_6d6682fc-aec1-4833-96b7-940b1d676766"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-04</xbrli:startDate><xbrli:endDate>2022-11-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c60666af-5915-44bf-9839-b31f58215399"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1f899241-70c9-4171-a1b8-ce428e3fa43a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_22bf96dc-3a88-4f2d-8b81-83b17ef5db33"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8eb581ca-daaf-4614-8f29-d32923f44ed1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">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_1521386c-8756-4786-95dd-fc2446b96cf2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">us-gaap:OtherInvesteesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">fgen:OtherInvestorsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_eeef1c68-85f7-4cd0-b518-c15b6ad90eb1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</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_1478897f-b5f7-4307-85d3-8cd748c125a8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:CorneaProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c1dcd9da-92cc-4481-bba3-209dfe51295b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_53f09f2b-cf2e-493c-aca3-d328fef636de"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:ForeignGovernmentDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d5360206-f3de-41b6-ad8b-c2f52de6903e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ec9c7a0a-93b4-4511-959e-9016843b7f02"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:HiFiBiOAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</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_951e0203-c48a-4d08-955f-b254e9a55270"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ef8b564c-7619-41a4-be6d-99077aa05787"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</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_d2a8a398-f907-4749-871e-11c30e02d4f5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</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_0c685793-fd28-4163-b729-a03a05362e9f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenCaymanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0be7089b-5e8b-4f60-9296-67d70a1665d1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_91696334-462a-4ae6-9bcb-e34072cd9648"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</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_e04a45d7-0c58-4eb0-b40d-cef65ea46977"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">fgen:PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-04</xbrli:startDate><xbrli:endDate>2022-11-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_9feecbc0-749f-480e-9778-4fb17c34c7be"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</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_7560889c-d789-4d6d-900a-30785ab39b33"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4b8deb87-19cc-4154-ab8b-67e803401639"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:OtherRevenuePatentTransferMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</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_d77593e4-0d4f-419c-85a1-68133a695783"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_fb7c0467-3dd7-4a7d-8bdc-fe7a383febc7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_98e838d9-2839-491a-8c1f-691bbdb1d1b2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2ec22a62-3a7f-455b-b977-51076c6c7ae9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenCaymanMember</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_e5865776-8614-4851-88a2-404a4fcb76fc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_62cc5d28-3094-491c-abaf-debcf049cd9b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_42dc2692-decb-4ee2-8bb7-113216ea2fd0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f112fe27-cd15-4629-a0b6-afc4a980ea28"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201901Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">fgen:LeaseAmendmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:ShorensteinPropertiesLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c0399d25-ee44-4169-9544-4f358b8d17f8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_1c8e2c62-53fb-4b38-b9a7-a49e48f6693a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</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_e27c92da-13b4-47ec-a09e-24a45b583b49"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DiscountsAndRebatesMember</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_5f168ff8-6e2d-4722-88ad-0675b23ad132"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember><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_3ff6022c-ab9d-411d-a60c-41584de3ddda"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_56d0e822-a684-4ff1-839c-68f1dfbb7504"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_85746b8c-afc4-4010-8ea1-d590b5d46596"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:IncreaseDecreaseInDeferredRevenueMember</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_60fc1003-c564-49ad-9ecb-143a72f055bf"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6fb9042d-0170-48a2-9c58-e516bcaec174"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:RsusPrsusAndTsrAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_350305bb-67f1-4838-8fda-595fba86d7f6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cc537740-f6c3-470c-8622-b3d7bda3db47"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8e1bfb2b-d5cc-4db7-ba97-d0173c471d20"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0e9698e7-fcf9-4952-8342-d9f58d82f63c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:EquityMethodInvestmentNonconsolidatedInvesteeAxis">fgen:BeijingFalikangPharmaceuticalCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fgen:BeijingKangdaYongfuPharmaceuticalCoLTDMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">fgen:AstraZenecaABMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FibroGenBeijingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:TotalShareholderReturnAwardsMember</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_04238edf-69c7-4bc9-8251-233dbe9d8c1d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_ee7eb5a5-3eb4-404a-84fd-6b992110dacd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:DebtFinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_697e6687-689f-4ae6-b087-e8ac61423b43"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">us-gaap:OtherInvesteesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">fgen:OtherInvestorsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d3683abc-2d3d-4acf-a7b0-5c5b3fd5e132"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</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_09f0cc6d-149d-40c0-bb99-259b3d1af0eb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesEPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a12b6aff-01d9-4c1a-8610-6b0f117ed10a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:NetTransferPriceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</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_1ec55bc0-a413-4501-ab9b-d40e49526b6f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</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_f50a4abf-d42b-4eba-bcbe-16d0e1c79248"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember><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_f863be40-ba91-4310-a063-3c1d8317659e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-01</xbrli:startDate><xbrli:endDate>2021-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</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_ecdcb19c-96f8-4de0-bd94-9f5ff1dbf91e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</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_5ffb95b0-9909-4502-8d55-3a41b5c36bdf"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEmployeeStockPurchasePlanMember</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_f9dd4cad-13bb-420f-b339-f11ab7f9f5b0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DrugProductRevenueMember</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_908d3f33-b0dd-40d4-9c7a-51f3a0320acc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000921299</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:RegulatoryMilestonesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2006-04-01</xbrli:startDate><xbrli:endDate>2006-04-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="U_Option"><xbrli:measure>fgen:Option</xbrli:measure></xbrli:unit><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_Segment"><xbrli:measure>fgen:Segment</xbrli:measure></xbrli:unit><xbrli:unit id="U_ShareholderDerivative"><xbrli:measure>fgen:ShareholderDerivative</xbrli:measure></xbrli:unit><xbrli:unit id="U_PutativeClassAction"><xbrli:measure>fgen:PutativeClassAction</xbrli:measure></xbrli:unit><xbrli:unit id="U_shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="U_DevelopmentObligation"><xbrli:measure>fgen:DevelopmentObligation</xbrli:measure></xbrli:unit><xbrli:unit id="U_USD"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="U_PerformanceObligation"><xbrli:measure>fgen:PerformanceObligation</xbrli:measure></xbrli:unit></ix:resources></ix:header></div>
  <div style="min-height:0.5in;"></div>
  <p style="border-top:2.25pt double;padding-top:1pt;font-size:10pt;margin-top:2pt;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:17pt;font-family:Times New Roman;min-width:fit-content;">UNITED STATES</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:17pt;font-family:Times New Roman;min-width:fit-content;">SECURITIES AND EXCHANGE COMMISSION</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:11pt;font-family:Times New Roman;min-width:fit-content;">Washington, D.C. 20549</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:0.5pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:3pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:3pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:17pt;font-family:Times New Roman;min-width:fit-content;">Form </span><span style="font-size:17pt;font-family:Times New Roman;"><ix:nonNumeric id="F_702bff7f-3da1-4665-a256-c122ec7ee184" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:DocumentType"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:17pt;font-family:Times New Roman;min-width:fit-content;">10-K</span></ix:nonNumeric></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:0.5pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:3pt;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;">(Mark One)</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="font-size:12pt;font-family:'Segoe UI Symbol',sans-serif;"><ix:nonNumeric id="F_4bd9d2a2-bb74-41bc-8658-2d5454f34729" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:DocumentAnnualReport" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:'Segoe UI Symbol',sans-serif;min-width:fit-content;">&#9746;</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">	ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p>
  <p style="font-size:10pt;margin-top:3pt;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;">For the fiscal year ended </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_5dfc9451-cb20-4a71-9b01-0484d4ced7c3" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en"><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4cc8c5cf-19ab-4868-bc14-b4faaaa43a0c" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:CurrentFiscalYearEndDate" format="ixt:date-monthname-day-en"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31</span></ix:nonNumeric></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="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_58f00552-c15f-414e-9655-5396735edf0a" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:DocumentFiscalYearFocus"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;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:3pt;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;">OR</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="font-size:12pt;font-family:'Segoe UI Symbol',sans-serif;"><ix:nonNumeric id="F_f0e52229-d36f-4ca1-b7d6-759e3f233331" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:DocumentTransitionReport" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:'Segoe UI Symbol',sans-serif;min-width:fit-content;">&#9744;</span></ix:nonNumeric></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-weight:bold;font-size:12pt;font-family:Times New Roman;min-width:fit-content;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p>
  <p style="font-size:10pt;margin-top:3pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">For the transition period from </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">          </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9pt;font-family:Times New Roman;min-width:fit-content;"> to </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">          </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">.</span></p>
  <p style="font-size:10pt;margin-top:3pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Commission file number: </span><span style="font-size:9pt;font-family:Times New Roman;"><ix:nonNumeric id="F_8edc496d-db91-4f66-84a5-ca4c9c930704" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:EntityFileNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">001-36740</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9pt;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:0.5pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:3pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:3pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:22pt;font-family:Times New Roman;"><ix:nonNumeric id="F_92adf3ec-da33-47f8-8572-501f861d8a6e" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:EntityRegistrantName"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:22pt;font-family:Times New Roman;min-width:fit-content;">FIBROGEN, INC.</span></ix:nonNumeric></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:9pt;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:9pt;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:0.5pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:3pt;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:3pt;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:49%;"/>
    <td style="width:2%;"/>
    <td style="width:49%;"/>
   </tr>
   <tr style="height:10.8pt;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><ix:nonNumeric id="F_f4e0a1e6-6736-43a9-8967-35d3ba4143ac" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" 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: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="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><ix:nonNumeric id="F_6629be06-796a-4cbf-a8d2-b1a5bd04d460" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:EntityTaxIdentificationNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">77-0357827</span></ix:nonNumeric></span></p></td>
   </tr>
   <tr style="height:9.35pt;word-break:break-word;white-space:pre-wrap;">
    <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;">(State or other jurisdiction of incorporation or organization)</span></p></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;"> </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;">(I.R.S. Employer Identification No.)</span></p></td>
   </tr>
   <tr style="height:23.05pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:3pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><ix:nonNumeric id="F_687c8503-c7b9-4a49-b238-776014bca42f" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:EntityAddressAddressLine1"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">409 Illinois Street</span></ix:nonNumeric></span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><ix:nonNumeric id="F_ad45b70f-19d9-4165-a34e-8262430846ff" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:EntityAddressCityOrTown"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">San Francisco</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">, </span><span><ix:nonNumeric id="F_c63a5226-0be8-4b09-8bae-2efcaf8d976d" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:EntityAddressStateOrProvince"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">CA</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:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </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_585e2e02-2d9a-41f6-98df-7148d1f3d3b4" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:EntityAddressPostalZipCode"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">94158</span></ix:nonNumeric></span></p></td>
   </tr>
   <tr style="height:10.1pt;word-break:break-word;white-space:pre-wrap;">
    <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;">(Address of principal executive offices)</span></p></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;"> </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;">(zip code)</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:3pt;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:9pt;font-family:Times New Roman;min-width:fit-content;">Registrant&#8217;s telephone number, including area code:</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;">(</span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_1fbf2625-73b1-4a12-bc39-525b90229b03" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:CityAreaCode"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">415</span></ix:nonNumeric></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="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_c4c931f1-14f4-463c-bfda-7e1c6312ead7" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:LocalPhoneNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">978-1200 </span></ix:nonNumeric></span><span style="font-size:10pt;font-family:Times New Roman;"></span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:3pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">Securities registered pursuant to Section 12(b) of the Act:</span></p>
  <p style="text-indent: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:4pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:5.167%;border-spacing:0;table-layout:fixed;width:94.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:31.76%;"/>
    <td style="width:32.34%;"/>
    <td style="width:35.9%;"/>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="border-top:0.5pt solid;border-right:0.5pt solid;border-left:0.5pt solid;padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;"><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;">Title of each class</span></p></td>
    <td style="border-top:0.5pt solid;border-right:0.5pt solid;padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;"><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;">Trading Symbol</span></p></td>
    <td style="border-top:0.5pt solid;border-right:0.5pt solid;padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;"><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;">Name of each exchange on which registered</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="border-right:0.5pt solid;border-left:0.5pt solid;padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><ix:nonNumeric id="F_c2250faa-bb92-4e1a-bf5a-8dd4236dcc40" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:Security12bTitle"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Common Stock, $0.01 par value</span></ix:nonNumeric></span></p></td>
    <td style="border-right:0.5pt solid;padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;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_2333cb24-7042-477b-8352-bef76e731296" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:TradingSymbol"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">FGEN</span></ix:nonNumeric></span></p></td>
    <td style="border-right:0.5pt solid;padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;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_210261ea-80f5-4ede-8df3-6e2b8030df2d" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" 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:left;"><span style="white-space:pre-wrap;font-size:3pt;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:9pt;font-family:Times New Roman;min-width:fit-content;">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;">registered pursuant to Section 12(g) of the Act:</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;">None</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:0.5pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:3pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:3pt;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;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.    Yes  </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><span style="color:#000000;white-space:pre-wrap;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_f1c2b6e4-3ebf-4d9f-9782-105c0723354c" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:EntityWellKnownSeasonedIssuer"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">No</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">  </span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:'Segoe UI Symbol',sans-serif;min-width:fit-content;">&#9745;</span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:3pt;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;">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  </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><span style="color:#000000;white-space:pre-wrap;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_407a4896-1c74-47a3-b7ad-41dd96a06dc4" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:EntityVoluntaryFilers"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">No</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">  </span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:'Segoe UI Symbol',sans-serif;min-width:fit-content;">&#9745;</span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:3pt;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;">Indicate by check mark 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:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_d039c436-814c-43e7-b50a-dce7f9d04c96" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:EntityCurrentReportingStatus"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Yes</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">  </span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:'Segoe UI Symbol',sans-serif;min-width:fit-content;">&#9745;</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">     No  </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:4.533%;font-size:10pt;margin-top:3pt;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;">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:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_56a5bd2e-f793-4fc0-82e2-164f17a5163d" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:EntityInteractiveDataCurrent"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Yes</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">  </span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:'Segoe UI Symbol',sans-serif;min-width:fit-content;">&#9745;</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">     No  </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:4.533%;font-size:10pt;margin-top:3pt;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;">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></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:3pt;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:21.064%;"/>
    <td style="width:3.501%;"/>
    <td style="width:43.869%;"/>
    <td style="width:3.501%;"/>
    <td style="width:21.064%;"/>
    <td style="width:3.501%;"/>
    <td style="width:3.501%;"/>
   </tr>
   <tr style="height:10.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;">Large 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;"> </span></p></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-family:'Segoe UI Symbol',sans-serif;min-width:fit-content;">&#9744;</span></p></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;">  </span></p></td>
    <td style="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_696e5d9b-5d38-4dbd-a26f-2c5f8f74e818" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">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;"> </span></p></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-family:'Segoe UI Symbol',sans-serif;min-width:fit-content;">&#9745;</span></p></td>
   </tr>
   <tr style="height:10.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;"> </span></p></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-family:'Segoe UI Symbol',sans-serif;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;">  </span></p></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: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:8pt;font-family:'Segoe UI Symbol',sans-serif;"><ix:nonNumeric id="F_cf30e77d-f3d3-4813-8671-e31785a33d70" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" 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:10.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;">Emerging growth company</span></p></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;"> </span></p></td>
    <td style="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;font-family:'Segoe UI Symbol',sans-serif;"><ix:nonNumeric id="F_d37113f7-8bf1-45f1-a264-1214ffa78862" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" 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>
    <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;">  </span></p></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="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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;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;">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.     </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><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">    </span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:3pt;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;">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:8pt;font-family:'Segoe UI Symbol',sans-serif;"><ix:nonNumeric id="F_6c1e9842-39e2-451b-9ca7-f95d38c68fa5" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:IcfrAuditorAttestationFlag" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:'Segoe UI Symbol',sans-serif;min-width:fit-content;">&#9745;</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">    </span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:3pt;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;">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:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_f9dd6724-e893-4cd6-a096-8256d66ca7fd" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:DocumentFinStmtErrorCorrectionFlag" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:3pt;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;">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 &#167;240.10D-1(b). &#9744;</span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:3pt;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;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act).    Yes  </span><span style="font-size:8pt;font-family:'Segoe UI Symbol',sans-serif;"><ix:nonNumeric id="F_e4cdb92c-8a65-479e-9e8a-aa39cf170a01" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:EntityShellCompany" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:'Segoe UI Symbol',sans-serif;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">    No  </span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:'Segoe UI Symbol',sans-serif;min-width:fit-content;">&#9745;</span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:3pt;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;">The aggregate market value of the voting and non-voting common equity held by non-affiliates of the registrant, computed by reference to the closing price as of the last business day of the registrant&#8217;s most recently completed second fiscal quarter, June 30, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">, was approximately $</span><span style="font-size:8pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_286d5e36-1404-4b4c-8f1d-e906062e4a39" contextRef="C_b355ec1f-7122-44d4-b503-7cbcc61bae01" name="dei:EntityPublicFloat" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">261.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> million. Shares of common stock held by each executive officer and director have been excluded since such persons may be deemed affiliates. This determination of affiliate status is not necessarily a conclusive determination for other purposes.</span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:3pt;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;">The number of shares of common stock outstanding as of January 31, 2024</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> was </span><span style="font-size:8pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e9c1e2cf-3648-49b5-8367-43eb42797fe5" contextRef="C_d0b541e7-1180-4256-975d-456eb0e68ad1" name="dei:EntityCommonStockSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">98,771,247</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;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: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="min-height:0.5in;"></div>
  <div style="font-size:8pt;font-family:Times New Roman;"><ix:nonNumeric id="F_84aa7feb-f96f-4566-9204-665ec35638ad" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:DocumentsIncorporatedByReferenceTextBlock" escape="true"><p style="font-size:10pt;margin-top:9pt;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></p><p style="text-indent:4.533%;font-size:10pt;margin-top:3pt;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;">Items 10, 11, 12, 13 and 14 of Part III of this Annual Report on Form 10-K for the year ended December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> (the &#8220;Annual Report&#8221;) incorporate information by reference from the definitive proxy statement for the registrant&#8217;s 2024 Annual Meeting of Stockholders to be filed with the Securities and Exchange Commission pursuant to Regulation 14A not later than after 120 days after the end of the fiscal year covered by this Annual Report.</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: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></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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:10.2%;"/>
    <td style="width:1%;"/>
    <td style="width:81%;"/>
    <td style="width:1%;"/>
    <td style="width:6.8%;"/>
   </tr>
   <tr style="height:9.35pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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="text-indent:8.8pt;vertical-align:bottom;"><p style="margin-left:8.8pt;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="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;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;min-width:fit-content;">Page</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><a href="#forward_looking_state"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Forward-Looking Statements</span></a></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><a href="#summary_rf"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Risk Factor Summary</span></a></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">3</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><a href="#china_op_rf"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">China Operations and Related Risks</span></a></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></p></td>
   </tr>
   <tr style="height:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#0000ff;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">PART I</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_1_business"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Business</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_1a_risk_factors"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Risk Factors</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_1b_unresolved_staff_comments"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Unresolved Staff Comments</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">66</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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="#item_1c_cyber"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Cybersecurity</span></a><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 style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">66</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_2_properties"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Properties</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_3_legal_proceeedings"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Legal Proceedings</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_4_mine_safety_disclosures"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Mine Safety Disclosures</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:bottom;"><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:bottom;"><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:bottom;"><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:bottom;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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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;font-weight:bold;min-width:fit-content;">PART II</span></a></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:bottom;"><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:bottom;"><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:bottom;"><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:bottom;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:10.8pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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><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="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;"><a href="#item_5_market_for_registrants_common_equ"><span style="color:#0000ff;white-space:pre-wrap;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="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_6_reserved"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">[Reserved]</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">70</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_7_managements_discussion_analysis_f"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_7a_quantitative_qualitative_disclos"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Quantitative and Qualitative Disclosure About Market Risks</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">93</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_8_consolidated_financial_statements"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Consolidated Financial Statements and Supplementary Data</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_9_changes_in_disagreements_with_acc"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">151</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_9a_controls_procedures"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Controls and Procedures</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">151</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_9b_or_information"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Other Information</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_9c_frgn_juri"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="height:6.5pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:bottom;"><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:bottom;"><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:bottom;"><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:bottom;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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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;font-weight:bold;min-width:fit-content;">PART III</span></a></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="height:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:bottom;"><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:bottom;"><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:bottom;"><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:bottom;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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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 10.</span></p></td>
    <td style="vertical-align: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="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_10_directors_executive_ficers_corpo"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Directors, Executive Officers and Corporate Governance</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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 11.</span></p></td>
    <td style="vertical-align: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="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_11_executive_compensation"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Executive Compensation</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:top;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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 12.</span></p></td>
    <td style="vertical-align: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="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_12_security_ownership_certain_benef"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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 13.</span></p></td>
    <td style="vertical-align: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="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_13_certain_relationships_related_tr"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Certain Relationships and Related Transactions, and Director Independence</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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 14.</span></p></td>
    <td style="vertical-align: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="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_14_principal_accounting_fees_servic"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Principal Accountant Fees and Services</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="height:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:bottom;"><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:bottom;"><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:bottom;"><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:bottom;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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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;font-weight:bold;min-width:fit-content;">PART IV</span></a></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">154</span></p></td>
   </tr>
   <tr style="height:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;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:bottom;"><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:bottom;"><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:bottom;"><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:bottom;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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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;"><a href="#item_15_exhibits_financial_statement_sch"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Exhibits and Financial Statement Schedules</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">154</span></p></td>
   </tr>
   <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:bottom;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top: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;"><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="#item_16_form_10k_summary"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Form 10-K Summary</span></a></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">162</span></p></td>
   </tr>
   <tr style="height:12.25pt;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;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="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;"><a href="#signatures"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Signatures</span></a></p></td>
    <td style="vertical-align: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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">163</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>
  <p style="font-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: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;">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: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="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:center;" id="forward_looking_state"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FORWARD-LOOKIN</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">G STATEMENTS</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;">This Annual Report on Form 10-K for the year ended December 31, 2023 (&#8220;Annual Report&#8221;) and the information incorporated herein by reference, particularly in the sections captioned &#8220;Risk Factors,&#8221; &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8221; and &#8220;Business,&#8221; contains forward-looking statements, which involve substantial risks and uncertainties. In this Annual Report, all statements other than statements of historical or present facts contained in this Annual Report, including statements regarding our future financial condition, business strategy and plans and objectives of management for future operations, are forward-looking statements. In some cases, you can identify forward-looking statements by terminology such as &#8220;believe,&#8221; &#8220;will,&#8221; &#8220;may,&#8221; &#8220;estimate,&#8221; &#8220;continue,&#8221; &#8220;anticipate,&#8221; &#8220;contemplate,&#8221; &#8220;intend,&#8221; &#8220;target,&#8221; &#8220;project,&#8221; &#8220;should,&#8221; &#8220;plan,&#8221; &#8220;expect,&#8221; &#8220;predict,&#8221; &#8220;could,&#8221; &#8220;potentially&#8221; or the negative of these terms or other similar terms or expressions that concern our expectations, strategy, plans or intentions. Forward-looking statements appear in a number of places throughout this Annual Report and include statements regarding our intentions, beliefs, projections, outlook, analyses or current expectations concerning, among other things, our ongoing and planned preclinical development and clinical trials, the timing of and our ability to make regulatory filings and obtain and maintain regulatory approvals for roxadustat, pamrevlumab and our other product candidates, our intellectual property position, the potential safety, efficacy, reimbursement, convenience clinical and pharmaco-economic benefits of our product candidates, the potential markets for any of our product candidates, our ability to develop commercial functions, our ability to operate in the People&#8217;s Republic of China (&#8220;China&#8221;), expectations regarding clinical trial data, our results of operations, cash needs, spending of the proceeds from our initial public offering, financial condition, liquidity, prospects, growth and strategies, the industry in which we operate and the trends that may affect the industry or us. We have based these forward-looking statements largely on our current expectations and projections about future events and financial trends that we believe may affect our financial condition, results of operations, business strategy and financial needs.</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;">These forward-looking statements are subject to a number of risks, uncertainties and assumptions described in the section of this Annual Report captioned &#8220;Risk Factors&#8221; and elsewhere in this Annual Report. A summary of these risk factors can be found in the following section, however, please refer to the full risk factors in Item 1A &#8220;Risk Factors.&#8221; These risks are not exhaustive. Other sections of this Annual Report may include additional factors that could adversely impact our business and financial performance. Moreover, we operate in a very competitive and rapidly changing environment. New risk factors emerge from time to time, and it is not possible for our management to predict all risk factors nor can we assess the impact of all factors on our business or the extent to which any factor, or combination of factors, may cause actual results to differ materially from those contained in, or implied by, any forward-looking statements.</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;">You should not rely upon forward-looking statements as predictions of future events. We cannot assure you that the events and circumstances reflected in the forward-looking statements will be achieved or occur. Although we believe that the expectations reflected in the forward-looking statements are reasonable, we cannot guarantee future results, levels of activity, performance or achievements. The forward-looking statements made in this Annual Report are based on circumstances as of the date on which the statements are made. Except as required by law, we undertake no obligation to update publicly any forward-looking statements for any reason after the date of this Annual Report or to conform these statements to actual results or to changes in our expectations.</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;">In addition, statements that &#8220;we believe&#8221; and similar statements reflect our beliefs and opinions on the relevant subject. These statements are based upon information available to us as of the date of this Annual Report, and while we believe such information forms a reasonable basis for such statements, such information may be limited or incomplete, and our statements should not be read to indicate that we have conducted an exhaustive inquiry into, or review of, all potentially available relevant information. These statements are inherently uncertain and investors are cautioned not to unduly rely upon these statements.</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 also contains market data, research, industry forecasts and other similar information obtained from or based on industry reports and publications, including information concerning our industry, our business, and the potential markets for our product candidates, including data regarding the estimated size and patient populations of those and related markets, their projected growth rates and the incidence of certain medical conditions, as well as physician and patient practices within the related markets. Such data and information involve a number of assumptions and limitations, and you are cautioned not to give undue weight to such estimates.</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;">You should read this Annual Report with the understanding that our actual future results, levels of activity, performance and achievements may be materially different from what we expect. We qualify all of our forward-looking statements by these cautionary statements.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="summary_rf"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">RISK FACTOR SU</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">MMARY</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 success of FibroGen will depend on a number of factors, many of which are beyond our control and involve risks, including but not limited to the following:</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 the Development and Commercialization of Our Product Candidates</span></p>
  <div style="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.537%;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 are substantially dependent on the success of our lead products pamrevlumab and roxadustat. </span></div></div>
  <div style="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.537%;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;">Drug development and obtainment of marketing authorization are very difficult endeavors, and we may ultimately be unable to obtain regulatory approval for our various product candidates in one or more jurisdictions and one or more indications.</span></div></div>
  <div style="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.537%;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;">Preclinical, Phase 1, and Phase 2 clinical trial results may not be indicative of the results that may be obtained in larger clinical trials.</span></div></div>
  <div style="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.537%;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 do not know whether our ongoing or planned clinical trials will need to be redesigned based on interim results or if we will be able to achieve sufficient patient enrollment or complete planned clinical trials on schedule.</span></div></div>
  <div style="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.537%;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 candidates may cause or have attributed to them undesirable side effects or have other properties that delay or prevent their regulatory approval or limit their commercial potential.</span></div></div>
  <div style="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.537%;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 manufacturers or we cannot properly manufacture the appropriate volume of product, we may experience delays in development, regulatory approval, launch, or successful commercialization. </span></div></div>
  <div style="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.537%;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 face substantial competition in the discovery, development and commercialization of product candidates. </span></div></div>
  <div style="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.537%;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 candidates may not achieve adequate market acceptance among physicians, patients, healthcare payors, and others in the medical community necessary for commercial success.</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;">Risks Related to Our Reliance on Third Parties</span></p>
  <div style="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.537%;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 collaborations were terminated or if our partners were unwilling or unable to contribute or participate in these collaborations, our ability to successfully develop and commercialize the relevant product candidate would suffer. </span></div></div>
  <div style="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.537%;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 preclinical and clinical trial contractors do not properly perform their agreed-upon obligations, we may not be able to obtain or may be delayed in receiving regulatory approvals for our product candidates.</span></div></div>
  <div style="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.537%;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 currently rely, and expect to continue to rely, on third parties to conduct many aspects of our product manufacturing and distribution, and these third parties may terminate these agreements or not perform satisfactorily.</span></div></div>
  <div style="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.537%;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 have shortfalls, delays, or excesses in manufacturing. </span></div></div>
  <div style="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.537%;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;">Certain components of our products are acquired from single-source suppliers or without long-term supply agreements. The loss of these suppliers, or their failure to supply, would materially and adversely affect our business. </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;">Risks Related to Our Intellectual Property</span></p>
  <div style="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.537%;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 efforts to protect our proprietary and exclusively licensed technologies are not adequate, we may not be able to compete effectively in our market.</span></div></div>
  <div style="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.537%;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 reliance on third parties and agreements with collaboration partners requires us to share our trade secrets, which increases the possibility that a competitor may discover them or that our trade secrets will be misappropriated or disclosed.</span></div></div>
  <div style="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.537%;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 cost of maintaining our patent protection is high and requires continuous review and diligence. We may not be able to effectively maintain our intellectual property position throughout the major markets of the world.</span></div></div>
  <div style="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.537%;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 laws of some foreign countries do not protect proprietary rights to the same extent as do the laws of the U.S., and we may encounter significant problems in securing and defending our intellectual property rights outside the U.S.</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: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;">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:10pt;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>
  <div style="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.537%;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 regulatory approval process is highly uncertain and we may not obtain regulatory approval for our product candidates.</span></div></div>
  <div style="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.537%;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 current and future relationships with customers, physicians, and third-party payors are subject to healthcare fraud and abuse laws, false claims laws, transparency laws, and other regulations. If we are unable to comply with such laws, we could face substantial penalties.</span></div></div>
  <div style="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.537%;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 are subject to stringent and evolving U.S. and foreign laws, regulations, rules, contractual obligations, industry standards, policies and other obligations related to data privacy and security. Our actual or perceived failure to comply with such obligations could lead to regulatory investigations or actions; litigation (including class claims) and mass arbitration demands; fines and penalties; disruptions of our business operations; reputational harm; loss of revenue or profits; and other adverse business consequences.</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;">Risks Related to Our International Operations</span></p>
  <div style="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.537%;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 have established operations in China and are seeking approval to commercialize our product candidates outside of the U.S., and a number of risks associated with international operations could materially and adversely affect our business. </span></div></div>
  <div style="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.537%;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 pharmaceutical industry in China is highly regulated and such regulations are subject to change.</span></div></div>
  <div style="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.537%;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 use our own manufacturing facilities in China to produce roxadustat API and drug product for the market in China. There are risks inherent to operating commercial manufacturing facilities, and with these being our single source suppliers, we may not be able to continually meet market demand.</span></div></div>
  <div style="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.537%;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 experience difficulties in successfully growing and sustaining sales of roxadustat in China.</span></div></div>
  <div style="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.537%;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 retail prices of any product candidates that we develop will be subject to pricing control in China and elsewhere.</span></div></div>
  <div style="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.537%;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;">FibroGen Beijing would be subject to restrictions on paying dividends or making other payments to us, which may restrict our ability to satisfy our liquidity requirements.</span></div></div>
  <div style="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.537%;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 foreign operations, particularly those in China, are subject to significant risks involving the protection of intellectual property.</span></div></div>
  <div style="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.537%;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;">Uncertainties with respect to the China legal system and regulations could have a material adverse effect on us.</span></div></div>
  <div style="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.537%;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 China&#8217;s economic, governmental, or social conditions could have a material adverse effect on our business.</span></div></div>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="china_op_rf"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CH</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">INA OPERATIONS AND RELATED RISKS</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 incorporated in the state of Delaware. We operate within the Chinese market through FibroGen (China) Medical Technology Development Co., Ltd. (&#8220;FibroGen Beijing&#8221;), a wholly-owned subsidiary established in Beijing. FibroGen Beijing consists of development and commercialization operations as well as a drug product manufacturing facility. FibroGen Beijing holds the regulatory licenses issued by the Chinese regulatory authorities in respect of roxadustat. FibroGen Beijing has two branch offices located in Shanghai and Cangzhou, China. The branch office in Cangzhou operates a drug substance manufacturing facility. FibroGen Beijing also owns 51.1% of Beijing Falikang Pharmaceutical Co. Ltd. (&#8220;Falikang&#8221;), a joint venture established by FibroGen and operated in conjunction with AstraZeneca Investment (China) Co., Ltd. for the purpose of distributing our sole drug product approved for sale in China, roxadustat. Falikang conducts distribution activities for roxadustat within China while AstraZeneca Investment (China) Co., Ltd., AstraZeneca AB (&#8220;AstraZeneca&#8221;) and AstraZeneca (Wuxi) Trading Co., Ltd. provide sales and marketing services in support of roxadustat. Thus, stockholders of FibroGen, Inc. have an ownership interest in the joint venture, Falikang, through the FibroGen, Inc. equity ownership in our subsidiaries, including FibroGen Beijing.</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 a full discussion of our business in China, please see the section below titled &#8220;China - Roxadustat Commercial Program&#8221; as well as the sections titled &#8220;ANEMIA ASSOCIATED WITH MYELODYSPLASTIC SYNDROMES&#8221; and &#8220;CHEMOTHERAPY-INDUCED ANEMIA.&#8221; We summarize certain risks associated with our operations in China in this section, however, please refer also to the section of this Annual Report captioned &#8220;Item 1A. Risk Factors&#8221; for additional risks related to our international 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="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: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;">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:10pt;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;">To operate our business in China, each of our Chinese subsidiaries (and our joint venture with AstraZeneca, Falikang) is required to and does obtain a business license from the local counterpart of the State Administration for Market Regulation. Such business licenses list the business activities we are authorized to carry out and we would be noncompliant if we act outside of the scope of business activities set forth under the relevant business license. Due to China&#8217;s regulatory framework in general and for the pharmaceutical industry specifically, we are required to apply for and maintain many approvals or permits specific to many of our business activities, including but not limited to manufacturing, distribution, environmental protection, workplace safety and cybersecurity, from both national and local government agencies. For certain of our clinical trials conducted in China, we need to obtain, through the clinical sites, permits from the Human Genetic Resource Administrative Commission to collect samples that include human genetic resources, such as blood samples. We may also be required to obtain certain approvals from Chinese authorities before transferring certain scientific data abroad or to foreign parties or entities established or actually controlled by them. If we are unable to obtain the necessary approvals or permissions in order to operate our business in China, or if we inadvertently conclude that such approvals or permissions are not required, or if we are subject to additional requirements, approvals, or permissions, it could have an adverse effect on our business, financial condition and results of operations, our ability to raise capital and 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Due to our operations in China and the United States (&#8220;U.S.&#8221;), any unfavorable government policies on cross-border relations and/or international trade (including increased scrutiny on companies with significant China-based operations, capital controls or tariffs) may affect the competitive position of our drug products, the hiring of personnel, the demand for our drug products, the import or export of products and product components, our ability to raise capital, the market price of our common stock, or prevent us from selling our drug products in certain countries. While we do not operate in an industry that is currently subject to foreign ownership limitations in China, China could decide to limit foreign ownership in our industry, in which case there could be a risk that we would be unable to do business in China as we are currently structured.</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 long-term plans for distributing cash flows from FibroGen Beijing may involve any number of scenarios including keeping the money onshore to fund future expansion of our China operations or paying down additional debt obligations. Our capital contributions to FibroGen Beijing and the liquidity position of FibroGen Beijing depend on many factors, including those set forth under Part I, Item 1A &#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;">Risk Factors</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8221; in this Annual Report.</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 independent registered public accounting firm, PricewaterhouseCoopers LLP, is headquartered in the U.S. and was not identified in the Public Company Accounting Oversight Board (&#8220;PCAOB&#8221;)</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><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">report dated December 16, 2021 as a firm that the PCAOB was unable to inspect. Therefore, the Holding Foreign Companies Accountable Act does not apply to us.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:18pt;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;">PAR</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">T 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:18pt;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. BUSI</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">NESS</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;">OVERVIEW</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;">FibroGen, Inc. is developing and commercializing a diversified pipeline of novel therapeutics that work at the frontiers of cancer biology and anemia.</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 reported results from multiple Phase 3 trials, advanced our pancreatic cancer Phase 3 trials of pamrevlumab and our preclinical work on our product candidates FG-3165 and FG-3175, in-licensed a new product candidate (FG-3246), and we continued to see robust sales growth of roxadustat in China for anemia associated with chronic kidney disease (&#8220;CKD&#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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 2024, we look forward to an approval decision in China for roxadustat in chemotherapy-induced anemia (&#8220;CIA&#8221;) and presenting data from two pivotal pancreatic cancer trials of pamrevlumab, our first-in-class antibody targeting connective tissue growth factor (&#8220;CTGF&#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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 new partnership with Fortis Therapeutics (&#8220;Fortis&#8221;), we are also developing FG-3246 in metastatic castrate resistant prostate cancer (&#8220;mCRPC&#8221;) and potentially other cancers, and we also look forward to advancing our late-stage pre-clinical programs: our anti-Gal9 antibody FG-3165 and our anti-CCR8 antibody FG-3175.</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 is an overview of our clinical, commercial, and research programs.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PAMREVLUMAB FOR THE TREATMENT OF PANCREATIC CANCER</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;">Pamrevlumab is our first-in-class antibody developed to inhibit the activity of CTGF, a protein that has been shown to promote growth, survival, and spread of pancreatic tumors. To date, we have retained exclusive worldwide rights for pamrevlumab.</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 clinical studies involving more than 1,000 pamrevlumab-treated patients (approximately half of whom were dosed for more than six months), pamrevlumab has been well-tolerated across the range of doses studied, and there have been no dose-limiting toxicities seen thus far.</span><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 U.S. Food and Drug Administration (&#8220;FDA&#8221;) has granted Fast Track designation to pamrevlumab for the treatment of patients with locally advanced pancreatic cancer (&#8220;LAPC&#8221;).  The FDA has granted orphan drug designation to pamrevlumab for the treatment of pancreatic cancer.</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 2024, we expect to report topline results from our two ongoing pivotal studies of pamrevlumab, in LAPC and in metastatic pancreatic cancer.</span><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:18pt;font-family:Times New Roman;margin-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;">PANCREATIC CANCER</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;">Understanding Pancreatic Cancer and Current Therapies</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;">Certain malignant solid tumors have a prominent fibrosis component consisting mostly of extracellular matrix (&#8220;ECM&#8221;) that contributes to metastasis and progressive disease. Fibrosis is an aberrant response of the body to tissue injury that may be caused by trauma, inflammation, infection, cell injury, or cancer. ECM is the connective tissue framework of an organ or tissue.</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: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;">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:10pt;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;">Pancreatic ductal adenocarcinoma, or pancreatic cancer, is the second leading cause of cancer deaths in the U.S. Pancreatic cancer is typically not diagnosed until it is largely incurable; most patients are diagnosed after the age of 45. Approximately 64,000 people were diagnosed with pancreatic cancer in the U.S. in 2023, and approximately 50,000 people died of pancreatic cancer. Of all people diagnosed with pancreatic cancer in the U.S. between 2012 and 2018, the 5-year survival rate was 12%. Globally, an estimated 495,000 people were diagnosed with pancreatic cancer in 2020 and an estimated 466,000 people worldwide died from the disease. Because pancreatic cancer is difficult to diagnose, over 50% of new cases are metastatic, with a five-year survival rate of approximately 3%. An additional 15-20% of new pancreatic cancer patients are diagnosed with localized resectable tumors, with the remaining 30-35% of newly diagnosed patients having localized, unresectable tumors. On average, patients with resectable tumors live for 2.5 years post-diagnosis and have a five-year survival rate of 20-30%. In its report of December 2017, Decision Resources Group estimated that the major market sales (U.S., Europe and Japan) of pancreatic cancer drugs would grow from $1.3 billion in 2016 to approximately $3.7 billion in 2026.</span><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 majority of patients are treated with chemotherapy, but pancreatic cancer is highly resistant to chemotherapy. Approximately 15% to 20% of patients are treated with surgery; however, even for those with successful surgical resection, the median survival is approximately two years, with a five-year survival rate of 15% to 20% (Neesse et al. Gut (2011)). Radiation treatment may be used for locally advanced diseases, but it is not curative.</span><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 duration of effect of approved anti-cancer agents to treat pancreatic cancer is limited. Gemcitabine demonstrated improvement in median overall survival from approximately four to six months, and erlotinib in combination with gemcitabine demonstrated an additional ten days of survival. Nab-paclitaxel in combination with gemcitabine was approved by the FDA in 2013 for the treatment of pancreatic cancer, having demonstrated median survival of 8.5 months. The combination of folinic acid, 5-fluorouracil, irinotecan and oxaliplatin (FOLFIRINOX) was reported to increase survival to 11.1 months. These drugs illustrate that progress in treatment for pancreatic cancer has been modest, and there remains a need for substantial improvement in patient survival and quality of life.</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 approved chemotherapeutic treatments for pancreatic cancer target the cancer cells themselves. Tumors are composed of cancer cells and associated non-cancer tissue, or stroma, of which ECM is a major component. In certain cancers such as pancreatic cancer, both the stroma and tumor cells produce CTGF which in turn promotes the proliferation and survival of stromal and tumor cells. CTGF also induces ECM deposition that provides advantageous conditions for tumor cell adherence and proliferation, promotes blood vessel formation, or angiogenesis, and promotes metastasis, or tumor cell migration, to other parts of the body.</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;">Pancreatic cancers are generally resistant to powerful chemotherapeutic agents, and there is now growing interest in the use of an anti-fibrotic agent to diminish the supportive role of stroma in tumor cell growth and metastasis. The anti-tumor effects observed with pamrevlumab in preclinical models indicate that it has the potential to inhibit tumor expansion through effects on tumor cell proliferation and apoptosis as well as reduce metastasis.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Phase 3 Clinical Trial in Locally Advanced Unresectable Pancreatic Cancer</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;">LAPIS is our double-blind placebo-controlled Phase 3 clinical trial of pamrevlumab as a therapy for LAPC. We completed enrollment of 284 patients, who were randomized at a 1:1 ratio to receive either pamrevlumab or placebo, in each case in combination with chemotherapy (either FOLFIRINOX or gemcitabine plus nab-paclitaxel). We currently expect topline data for the primary endpoint of overall survival in mid-year 2024.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Phase 2/3 Clinical Trial in Metastatic Pancreatic Cancer</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;margin-right:1.111%;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 2021, the Pancreatic Cancer Action Network&#8217;s (PanCAN) Precision Promise</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;">SM</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> adaptive trial platform included pamrevlumab in combination with standard-of-care chemotherapy treatments for pancreatic cancer (gemcitabine and Abraxane</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;">), for patients with metastatic pancreatic cancer. Drug candidates in the Precision Promise study will progress from Stage 1 to Stage 2 of this seamless Phase 2/3 study, unless stopped sooner for safety or futility. The objective of Precision Promise is to expedite the study and approval of promising therapies for pancreatic cancer by bringing multiple stakeholders together, including academic, industry, and regulatory entities.</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: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;">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:10pt;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;margin-right:1.065%;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 third quarter of 2022, pamrevlumab graduated from Stage 1 to Stage 2, achieving a protocol pre-specified &#8805; 35% predictive probability of success for the primary endpoint of overall survival at the completion of the trial. Pamrevlumab was the first experimental treatment arm to graduate to Stage 2 of the trial. The pamrevlumab combination therapy was offered to patients as either a first- or second-line treatment option.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;margin-right:1.111%;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 first quarter of 2024, the pamrevlumab portion of the trial was completed, and we expect topline results in the second quarter of 2024. Precision Promise is a registration study, and the statistical design has been discussed by PanCAN with the FDA.</span><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:18pt;font-family:Times New Roman;margin-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;">Completed Clinical Trials for Pancreatic Cancer</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;margin-right:1.111%;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 aforementioned ongoing clinical trials, we have completed two other trials of pamrevlumab in pancreatic cancer.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Completed Phase 1/2 Clinical Trial in Locally Advanced Unresectable Pancreatic Cancer</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 completed an open-label, randomized (2:1) Phase 1/2 trial (FGC004C-3019-069) of pamrevlumab combined with gemcitabine plus nab-paclitaxel chemotherapy vs. the chemotherapy regimen alone in patients with inoperable LAPC that had not been previously treated. We enrolled 37 patients in this study and completed the six-month treatment period and surgical assessment at the end of 2017. The overall goal of the trial was to determine whether pamrevlumab in combination with chemotherapy can convert inoperable pancreatic cancer to operable, or resectable, cancer. Tumor removal is the best chance for cure of pancreatic cancer, but only approximately 15% to 20% of patients are eligible for surgery.</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 reported updated results from this study at the American Society of Clinical Oncology Annual Meeting in June 2018. A higher proportion (70.8%) of pamrevlumab-treated patients whose tumors were previously considered unresectable became eligible for surgical exploration than patients who received chemotherapy alone (15.4%), based on pre-specified eligibility criteria at the end of six months of treatment. Furthermore, a higher proportion of pamrevlumab-treated patients (33.3%) achieved surgical resection than those who received chemotherapy alone (7.7%).</span><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, this data showed improved overall survival among patients whose tumors were resected vs. not resected (NE vs. 18.56 months, p-value=0.0141) and a trend toward improved overall survival in patients eligible for surgery vs. patients who were not (27.73 vs. 18.40 months, p-value=0.0766). No increase in serious adverse events was observed in the pamrevlumab arm and no delay in wound healing was observed post-surgery.</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 pamrevlumab in combination with chemotherapy continues to demonstrate an enhanced rate of conversion from unresectable cancer to resectable cancer, it may support the possibility that pamrevlumab could provide a substantial survival benefit for LAPC patients.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Completed Phase 1/2 Clinical Trial in Pancreatic Cancer</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 completed an open-label Phase 1/2 (FGCL-MC3019-028) dose finding trial of pamrevlumab combined with gemcitabine plus erlotinib in patients with previously untreated locally advanced (Stage 3) or metastatic (Stage 4) pancreatic cancer. These study results were published in the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Journal of Cancer</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;font-style:italic;min-width:fit-content;">Clinical Trials </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(Picozzi et al., J Cancer Clin Trials 2017, 2:123). Treatment continued until progression of the cancer, or the patient withdrew for other reasons. Patients were then followed until death.</span><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;">Seventy-five patients were enrolled in this study with 66 (88%) having Stage 4 metastatic cancer. The study demonstrated a drug exposure-related increase in survival. At the lowest doses, no patients survived for even one year while at the highest doses up to 31% of patients survived one 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: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;">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:10pt;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;">A post-hoc analysis found that there was a significant relationship between survival and trough levels of plasma pamrevlumab measured immediately before the second dose (Cmin). Cmin greater than or equal to 150 &#181;g/mL was associated with significantly improved progression-free survival (p=0.01) and overall survival (p=0.03) vs. those patients with Cmin less than 150 &#181;g/mL. For patients with Cmin &gt;150 &#181;g/mL median survival was 9.0 months compared to median survival of 4.4 months for patients with Cmin &lt;150 &#181;g/mL. Similarly, 34.2% of patients with Cmin &gt;150 &#181;g/mL survived for longer than one year compared to 10.8% for patients with Cmin &lt;150 &#181;g/mL. These data suggest that sufficient blockade of CTGF requires pamrevlumab threshold blood levels of approximately 150 &#181;g/mL in order to improve survival in patients with advanced pancreatic cancer.</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 study, the majority of adverse events were mild to moderate, and were consistent with those observed for erlotinib plus gemcitabine treatment without pamrevlumab. There were 99 treatment-emergent serious adverse events, six of which were assessed as possibly related to the investigational drug by the principal investigator, and 93 as not related to study treatment. After investigation, it was our determination that there was no causal relationship between pamrevlumab and the treatment-emergent serious adverse events deemed possibly related by the principal investigator. We did not identify any evolving dose-dependent pattern, and higher doses of pamrevlumab were not associated with higher numbers of serious adverse events or greater severity of the serious adverse events observed.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">IDIOPATHIC PULMONARY FIBROSIS AND DUCHENNE MUSCULAR DYSTROPHY</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 2023, we announced topline results from ZEPHYRUS-1, our first Phase 3 trial of pamrevlumab in 356 IPF patients. The study did not meet the primary endpoint of change from baseline in forced vital capacity (&#8220;FVC&#8221;) at week 48. Preliminary safety data showed that pamrevlumab was generally safe and well tolerated, with the majority of treatment-emergent adverse events being mild or moderate.</span><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;">Given the results from ZEPHYRUS-1, we discontinued ZEPHYRUS-2, our second Phase 3 trial of pamrevlumab in approximately 340 IPF patients.</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 also announced topline results from LELANTOS-1 and LELANTOS-2, our double-blind, placebo-controlled Phase 3 trials evaluating pamrevlumab in non-ambulatory and ambulatory DMD, respectively. The studies did not meet their primary endpoints. Preliminary safety data showed that pamrevlumab was generally safe and well tolerated with the majority of treatment-emergent adverse events being mild or moderate.</span><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:18pt;font-family:Times New Roman;margin-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;">ROXADUSTAT FOR THE TREATMENT OF ANEMIA</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;">CHRONIC KIDNEY DISEASE</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 collaboration with our partners Astellas Pharma Inc. (&#8220;Astellas&#8221;) and AstraZeneca, we have completed 16 Phase 3 studies worldwide in over 11,000 patients to support our marketing approvals of roxadustat (&#29233;&#29790;&#21331;</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;&#65039;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, EVRENZO</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;">TM</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">) to treat anemia in chronic kidney disease in China, Europe, Japan, and numerous other countries.</span><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:18pt;font-family:Times New Roman;margin-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;">Background of Anemia in Chronic Kidney Disease</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;">CKD is a progressive disease characterized by gradual loss of kidney function that may eventually lead to kidney failure or end-stage renal disease requiring dialysis or a kidney transplant to survive. CKD affects approximately 15% of the global adult population. CKD is more prevalent in developed countries but is also growing rapidly in emerging markets such as China.</span><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;">Anemia is a complication of CKD and can be a serious medical condition in which patients have insufficient red blood cells and low levels of hemoglobin, a protein in red blood cells that carries oxygen to cells throughout the body. Anemia becomes increasingly common as kidney function declines and is associated with increased risk of hospitalization, cardiovascular complications and death, and frequently causes significant fatigue, cognitive dysfunction, and considerable reduction of quality of life.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">China &#8211; Roxadustat Commercial Program</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;">Since the launch of roxadustat (tradename: &#29233;&#29790;&#21331;&#174;) in 2019, the anemia of CKD market has expanded significantly. Roxadustat has captured the majority of this growth, benefiting from inclusion in the 2019, 2021, and 2023 National Reimbursement Drug Lists.</span><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, roxadustat sales in China continued to see significant volume growth in the treatment of anemia caused by CKD in non-dialysis and dialysis patients. As of December 2023, roxadustat was the top CKD anemia brand in China with approximately 42% value share within the segment of erythropoiesis-stimulating agents (&#8220;ESAs&#8221;) and HIF-PH inhibitors (roxadustat is currently the only HIF-PH inhibitor on the market in China). Roxadustat has seen broad adoption across the three segments of hemodialysis, peritoneal dialysis, and non-dialysis.</span><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 2024, we expect continued growth of roxadustat sales in China due to continued adoption by patients and doctors and the recent two-year renewal on the 2023 National Reimbursement Drug List with a limited price reduction of 7%.</span><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 established significant clinical experience and market leadership in treating CKD anemia in China, and we believe roxadustat has become the standard of care for the treatment of anemia in CKD in China. In 2024, we will focus on expanding the population treated with roxadustat, as well as the duration of treatment, which we believe is important in effective management of anemia in CKD.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Europe - Roxadustat Commercial Program</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 Europe, our partner Astellas continues the commercialization of EVRENZO</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;"> (roxadustat). EVRENZO is approved for the treatment of anemia associated with CKD in both non-dialysis and dialysis patients. In 2024, we expect sales of roxadustat for CKD anemia in Europe to accelerate as reimbursement has been achieved in most European countries.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Japan - Roxadustat Commercial Program</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 Japan, our partner Astellas continues the commercialization of EVRENZO (roxadustat), targeting healthcare providers that care for approximately 330,000 dialysis patients across Japan. EVRENZO is approved for the treatment of anemia associated with CKD in both non-dialysis and dialysis patients. EVRENZO is one of five HIF-PH inhibitors currently on the market in Japan.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CHEMOTHERAPY-INDUCED ANEMIA</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 blood cell production in bone marrow is highly prolific, it is particularly vulnerable to the cytotoxic effects of chemotherapy used to treat cancer patients. Many chemotherapy agents directly impair hematopoiesis in bone marrow, including disruption of red blood cell production. The nephrotoxic effects of some cytotoxic agents, such as platinum-containing agents, can also result in decreased production of erythropoietin by the kidneys, further contributing to reduced red blood cell production. Radiation therapy has also been associated with hematologic toxicity.</span><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;">There are approximately 10 million new cancer cases each year globally, 4.5 million in China. Of those, approximately half receive chemotheraphy, and half of those are anemic. The incidence and severity of CIA depend on a variety of factors, including the tumor type or the level of toxicity of the therapy, and further increases with each successive chemotherapy round. We believe the addressable population is approximately 500,000 in China.</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;">ESAs have been recommended for patients who develop CIA with the desirable goals of improvement in anemia-related symptoms and the avoidance of blood transfusions, which increase risk of infections and the risk of complications such as heart failure and allergic reactions. However, not all CIA patients respond to ESA therapy, which may be due to the etiology of their CIA or inflammatory comorbidity. ESA use also has associated toxicities, including increased thrombotic events, possible decreased survival and accelerated tumor progression, as cited in randomized clinical trials and meta-analyses, that led to label restrictions and boxed warnings in the U.S. for ESAs in cancer populations in 2007, followed by the ESA Risk Evaluation and Mitigation Strategy program.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Phase 3 Clinical Trial in Chemotherapy-Induced Anemia</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 May 2023, we announced positive topline data from our Phase 3 clinical study of roxadustat for treatment of anemia in patients receiving concurrent chemotherapy treatment for non-myeloid malignancies in China. Roxadustat demonstrated non-inferiority compared to recombinant erythropoietin alfa (SEPO &#174;) on the primary endpoint of change in hemoglobin (Hb) level from baseline to the average level during Weeks 9-13.</span><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 the preliminary safety analysis, the adverse event profile of roxadustat was generally consistent with previous findings and supportive of a positive benefit risk in this patient population.</span><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 total of 159 patients with non-myeloid malignancy (solid tumor) with a baseline hemoglobin level at or below 10 g/dL were enrolled into this Phase 3, randomized, open-label, active-controlled study investigating the efficacy and safety of roxadustat for treatment of CIA. Patients were randomly assigned roxadustat or erythropoietin alfa three times per week (TIW), during a treatment period of 12 weeks, with an additional 4-week follow-up period. We recently presented results from this study in an oral presentation at the European Society for Medical Oncology Congress 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;">Our supplemental New Drug Application for roxadustat in CIA was accepted by the China Health Authority in August 2023, and we expect an approval decision mid-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:12pt;font-family:Times New Roman;margin-bottom: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 CIA is one of the most common side effects of chemotherapy, it is frequently undertreated. CIA can adversely affect long-term patient outcomes, as anemia limits both quality of life and the ability of patients to continue chemotherapy treatment. The incidence and severity of CIA depends on a variety of factors. This includes the type of cancer and the treatment, including the type of chemotherapy, schedule, and intensity of therapy. It also depends on whether the patient has received prior myelosuppressive chemotherapy, radiation therapy, or both.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Phase 2 Clinical Trial in Chemotherapy-Induced Anemia</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 results of WHITNEY, the Phase 2 clinical trial of roxadustat in CIA in the U.S., was published by the American Journal of Hematology in January 2023. This study provided the basis for the study design for the China Phase 3 study.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ANEMIA ASSOCIATED WITH MYELODYSPLASTIC SYNDROMES</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;">Myelodysplastic syndromes (&#8220;MDS&#8221;) are a diverse group of bone marrow disorders characterized by ineffective production of healthy blood cells and premature destruction of blood cells in the bone marrow, leading to anemia. In most MDS patients, the cause of the disease is unknown.</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 diagnosed prevalence of MDS in the U.S. is estimated to be between 60,000 and 170,000, and continues to rise as more therapies become available and patients are living longer with MDS. Annual incidence rates are estimated to be 4.9/100,000 adults in the U.S., and 1.51/100,000 adults in China.</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;">Anemia is the most common clinical presentation in MDS, seen in approximately 80% of MDS patients, and produces symptoms of fatigue, weakness, exercise intolerance, shortness of breath, dizziness, and cognitive impairment.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Limitations of the Current Standard of Care for Anemia in Myelodysplastic Syndromes</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;">Stem cell transplant is the only potentially curative therapy for MDS, but it is not feasible in most patients due to their advanced age and frailty. The high rate of severe anemia leaves recurring red blood cell transfusions as the mainstay of care in MDS patients. Transfusion can result in direct organ damage through transfusional iron overload. Transfusion-dependent MDS patients suffer higher rates of cardiac events, infections, and transformation to acute leukemia, a decreased overall survival rate when compared with non-transfused patients with MDS, and decreased survival compared to an age-matched elderly population. Patients receiving red blood cell transfusions may require an iron chelator in order to address toxic elements of iron overload such as lipid peroxidation and cell membrane, protein, DNA, and organ damage.</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: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;">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:10pt;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;">Lower-risk MDS patients represent approximately 77% of the total diagnosed MDS population. Most national and international guidelines recommend use of ESAs for anemia only in lower-risk MDS patients presenting with symptomatic anemia with serum EPO levels at or below 500 mU/mL.</span><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 effectiveness of ESAs in treating anemia in lower-risk categories of MDS remains limited, with the best clinical study results showing 40% to 60% erythroid response rates, where significantly high doses of ESAs were used and enrolled patients had low serum EPO levels. New strategies to broaden the eligible population, improve anemia, and maintain adequate iron balance, as well as avoidance of transfusions, are highly desired in managing patients with MDS.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Market Opportunity for Roxadustat in Myelodysplastic Syndromes</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 there is a significant need for a safer, more effective, and more convenient option to address anemia in patients with lower-risk MDS. Roxadustat, our orally administered small molecule HIF-PH inhibitor, stimulates the body&#8217;s natural mechanism of red blood cell production and iron hemostasis based on cellular-level oxygen-sensing and iron-regulation mechanisms. Unlike ESAs which are limited to providing exogenous EPO, roxadustat activates a coordinated erythropoietic response in the body that includes the stimulation of red blood cell progenitors, an increase in the body&#8217;s production of endogenous EPO, and an increase in iron availability for hemoglobin synthesis, which we believe is important in a broad range of MDS patients. Moreover, in anemia of CKD, roxadustat has demonstrated the ability in clinical trials to increase and maintain hemoglobin levels in the presence of inflammation as measured by CRP, where ESAs have shown limited effect. We believe that roxadustat has the potential to replicate this result in MDS anemia patients, where it is not uncommon for patients to present with autoimmune and inflammatory conditions.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Phase 3 Clinical Trial in Myelodysplastic Syndromes</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;margin-right:0.741%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Topline 28-week data from MATTERHORN, our Phase 2/3 placebo-controlled, double-blind clinical trial of roxadustat for the treatment of anemia in MDS, was presented in the fourth quarter of 2023 at the American Society of Hematology annual conference.</span><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;margin-right:0.741%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">More patients in the roxadustat arm (47.5% of 80 patients) achieved transfusion independence for 56 consecutive days (within the first 28 weeks) than the placebo arm (33.3% of 57 patients); however, the p-value was not significant.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;margin-right:0.741%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">However, in a post-hoc analysis of patients with higher transfusion burden (2 or more units of packed red blood cells every 4 weeks), 36.1% of the 36 roxadustat patients achieved transfusion independence, versus 11.5% of the 26 patients in the placebo arm (p=0.047).</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PROSTATE CANCER</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;">FG-3246 for the Treatment of Metastatic Castration-Resistant Prostate Cancer</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 May 2023 we obtained an exclusive license to develop FG-3246 (previously FOR46) in metastatic castration-resistant prostate cancer (&#8220;mCRPC&#8221;) and other cancer indications. FG-3246 is a first-in-class antibody-drug conjugate (ADC) targeting a novel epitope on CD46 that is expressed at high levels in certain tumor types with limited expression in most normal tissues. The cytotoxic payload of FG-3246 is monomethyl auristatin E, an anti-mitotic agent that has been utilized in four commercially approved antibody-drug conjugate 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;">FG-3246 showed monotherapy efficacy in a Phase 1 clinical study in patients with mCRPC. Interim efficacy results presented at ASCO 2022 showed a PSA50 response rate of 45% and an objective response rate of 19%. We expect additional data from this study by the first quarter of 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:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">An investigator-sponsored trial of FG-3246 plus enzalutimide is ongoing. Side effects have been manageable and are consistent with other monomethyl auristatin E-based antibody-drug conjugate 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;">We anticipate the initiation of a PET biomarker-driven Phase 2 trial of FG-3246 for mCRPC in the second half of 2024. This trial is expected to have a dose-ranging lead-in portion prior to the biomarker-driven portion of the study. Development of the CD46-targeted PET biomarker is continuing with UCSF. We are also exploring additional potential tumor indications in which CD46 is commonly expressed.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PRECLINICAL PIPELINE</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 preclinical pipeline consists of two antibodies for immuno-oncology that are in investigational New Drug Application-enabling studies.</span><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:18pt;font-family:Times New Roman;margin-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;">FG-3165: Anti-Gal9 Antibody</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;">FG-3165 is a galectin-9 (&#8220;Gal9&#8221;) targeted antibody under development for treatment of solid tumors characterized by high Gal9 levels of expression. Gal9 has been reported to bind to multiple immune checkpoints on lymphocytes that suppress T and natural killer cell activation, and it is a driver of cancer progression in acute myeloid leukemia.  In preclinical studies FG-3165 and its variants inhibit Gal9 mediated T cell death, and also promotes anti-tumor immune responses in combination with other immune checkpoint targeted drugs. We plan to submit an investigational new drug application (IND) in the first quarter of 2024.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FG-3175: Anti-CCR8 Antibody</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;">FG-3175 is a c-c motif chemokine receptor 8 (&#8220;CCR8&#8221;) targeted antibody under development for treatment of solid tumors that are highly infiltrated by CCR8-positive T regulatory cells. T regulatory cells contribute to an immune suppressed tumor microenvironment, and multiple preclinical studies have demonstrated immune activation and tumor regression following depletion of this cell type from the tumor microenvironment. FG-3175 is a variant of our previous lead anti-CCR8 antibody, FG-3163, and was deemed to be a superior clinical candidate following extended characterization of both antibodies. FG-3175 has enhanced antibody dependent cellular cytotoxicity activity and induces potent killing of CCR8 expressing cells by natural killer cells in in vitro assay systems. We plan to submit an investigational new drug application (IND) in 2025.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">COLLABORATIONS</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;">Collaboration Partnerships for Roxadustat</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 revenue to date has been generated primarily from our collaboration agreements with Astellas and AstraZeneca for the development and commercialization of roxadustat. In addition, we started roxadustat commercial sales in China in 2019. For the fiscal year ended December 31, 2023, 25% of our revenue was related to our collaboration agreements, and 68% of our revenue was from roxadustat commercial sales in China. For the fiscal year ended December 31, 2022, 40% of our revenue was related to our collaboration agreements, and 59% of our revenue was from roxadustat commercial sales in China. For the fiscal year ended December 31, 2021, 76% of our revenue was related to our collaboration agreements, and 20% of our revenue was from roxadustat commercial sales in China.</span></p>
  <p style="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;font-style:italic;min-width:fit-content;">Astellas</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 two agreements with Astellas for the development and commercialization of roxadustat, one for Japan, and one for Europe, the Commonwealth of Independent States, the Middle East and South Africa. Under these agreements, we provided Astellas the right to develop and commercialize roxadustat for anemia in these territories.</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 share responsibility with Astellas for clinical development activities required for U.S. and Europe regulatory approval of roxadustat, and equally share those development costs under the agreed development plan for such activities. Astellas will be responsible for clinical development activities and all associated costs required for regulatory approval in all other countries in the Astellas territories. Astellas will hold and have responsibility for regulatory filings in its territories. We are responsible, either directly or through our contract manufacturers, for the manufacture and supply of all quantities of roxadustat to be used in development and commercialization under the agreements, other than roxadustat drug product for Japan. Astellas is responsible for roxadustat commercialization activities in the Astellas territories.</span></p>
  <p style="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;font-style:italic;min-width:fit-content;">AstraZeneca</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 collaboration agreement with AstraZeneca for roxadustat for the treatment of anemia in the U.S. and all territories except for China and those territories previously licensed to Astellas (the &#8220;AstraZeneca U.S./RoW Agreement&#8221;) was terminated (except South Korea) on February 23, 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:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">However, our ongoing collaboration agreement with AstraZeneca for the development and commercialization of roxadustat for the treatment of anemia in China (the &#8220;AstraZeneca China Agreement&#8221;) continues in full force and is unaffected.</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: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;">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:10pt;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;">Under the AstraZeneca China Agreement, which is conducted through FibroGen China Anemia Holdings, Ltd., FibroGen Beijing, and FibroGen International (Hong Kong) Limited (collectively, &#8220;FibroGen China&#8221;), the commercial collaboration was structured as a 50/50 profit share, which was amended by the AstraZeneca China Amendment in the third quarter of 2020, as discussed and defined 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;">In 2020, we entered into a Master Supply Agreement under the AstraZeneca U.S./RoW Agreement to define general forecast, order, supply, and payment terms for AstraZeneca to purchase roxadustat bulk drug product from FibroGen in support of commercial supplies.</span><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 July 2020, FibroGen China and AstraZeneca entered into an amendment, effective July 1, 2020, to the AstraZeneca China Agreement, relating to the development and commercialization of roxadustat in China (the &#8220;AstraZeneca China Amendment&#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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 AstraZeneca China Amendment, in September 2020, FibroGen Beijing and AstraZeneca completed the establishment of a jointly owned entity, Beijing Falikang Pharmaceutical Co. Ltd. (&#8220;Falikang&#8221;), which performs roxadustat distribution, as well as conduct sales and marketing through AstraZeneca.</span><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;">FibroGen Beijing manufactures and supplies commercial product to Falikang based on a gross transaction price, adjusted for the estimated profit share. Revenue is recognized upon the transfer of control of commercial products to Falikang in an amount that reflects the allocation of transaction price of the China manufacturing and supply obligation to the performance obligation satisfied during the reporting 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: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;font-style:italic;min-width:fit-content;">Additional Information Related to Collaboration Agreements</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;">Additional information related to our collaboration agreements is set forth in Item 7 of this Annual Report, and Note 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;">Collaboration Agreements, License Agreement and Revenues,</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 under Item 8 of this Annual Report. Information about collaboration partners that accounted for more than 10% of our total revenue or accounts receivable for the last three fiscal years is set forth in Note 17, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Segment and Geographic Information</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 under Item 8 of this Annual Report.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Exclusive License from HiFiBiO</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;">In June 2021, we entered into an exclusive license and option agreement with HiFiBiO (HK) Ltd. (d.b.a. HiFiBiO Therapeutics) (&#8220;HiFiBiO&#8221;), pursuant to which we exclusively licensed from HiFiBiO all product candidates in HiFiBiO&#8217;s Galectin-9 program and subsequently exclusively licensed all product candidates in HiFiBiO&#8217;s CCR8 program. In addition to the upfront payments we previously paid, HiFiBiO may receive up to a total of $345 million in future clinical, regulatory, and commercial milestone payments for each program. HiFiBiO will also be eligible to receive tiered royalties based upon worldwide net sales.</span><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:18pt;font-family:Times New Roman;margin-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;">Exclusive License and Option to Acquire Fortis Therapeutics</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;">On May 5, 2023, we entered into an exclusive option agreement to acquire Fortis with its novel Phase 1 antibody-drug conjugate, FG-3246 (previously FOR46), that targets a novel epitope on CD46 preferentially expressed on certain cancer cells. FG-3246 is in development for the treatment of metastatic castration-resistant prostate cancer with potential applicability in other solid tumors and hematologic malignancies.</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 an evaluation agreement entered into with Fortis concurrent with the option agreement, FibroGen has exclusively licensed FG-3246 and will control and fund future research and development, including a Phase 2 clinical study sponsored by FibroGen, and manufacturing of FG-3246 during the option period. As part of the clinical development strategy, we will continue the work to develop a PET-based biomarker utilizing a radiolabeled version of the targeting antibody for patient selection.</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: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;">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:10pt;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;">FibroGen is obligated to make four quarterly payments totaling $5.0 million to Fortis in support of its continued development obligations.</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 exercise the option to acquire Fortis, we will pay Fortis $80.0 million, and thereafter, Fortis would be eligible to receive from FibroGen up to $200.0 million in contingent payments associated with the achievement of various regulatory approvals. If we acquire Fortis, we would also be responsible to pay UCSF, an upstream licensor to Fortis, development milestone fees and a single digit royalty on net sales of therapeutic or diagnostic products arising from the collaboration. If FibroGen chooses not to acquire Fortis, its exclusive license to FG-3246 would expire.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Exclusive License with Eluminex</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 July 2021, we exclusively licensed to Eluminex Biosciences (Suzhou) Limited (&#8220;Eluminex&#8221;) global rights to our investigational biosynthetic cornea derived from recombinant human collagen type III. FibroGen may receive up to a total of $64.0 million in future manufacturing, clinical, regulatory, and commercial milestone payments for the biosynthetic cornea program, as well as $36.0 million in commercial milestones for the first recombinant collagen III product that is not the biosynthetic cornea. FibroGen will be eligible to receive mid-single-digit to low double-digit royalties based upon worldwide net sales of cornea products, and low single-digit to mid-single-digit royalties based on worldwide net sales of other recombinant human collagen type III products that are not cornea 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;">We received an $8.0 million upfront payment from Eluminex in 2022 and thereafter recognized a $3.0 million milestone payment based on Eluminex implanting a biosynthetic cornea in the first patient of its clinical trial in China, a $3.0 million manufacturing related milestone payment and a $1.0 million upfront payment. Additional information related to the Eluminex license revenue is set forth in Note 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;">Collaboration Agreements,</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;font-style:italic;min-width:fit-content;">License Agreement</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;font-style:italic;min-width:fit-content;">and Revenues</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 under Item 8 of this Annual Report.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">STRATEGIC FINANCING 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;">On November 4, 2022, we entered into a revenue interest financing agreement (&#8220;RIFA&#8221;) with an affiliate of NovaQuest Capital Management (&#8220;NovaQuest&#8221;) with respect to our revenues from Astellas&#8217; sales of roxadustat in Europe, Japan and the other Astellas territories.</span><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 RIFA, we received $49.8 million from NovaQuest, representing the gross proceeds of $50.0 million net of initial issuance costs, in consideration for a portion of future revenues we will receive from Astellas. For additional details about this financing transaction, see Note 10, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Liability Related to Sale of Future Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements.</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 April 29, 2023, we entered into a financing agreement (the &#8220;Financing Agreement&#8221;) with a $75.0 million senior secured term loan with investment funds managed by Morgan Stanley Tactical Value, as lenders, and Wilmington Trust, National Association, as the administrative agent. For additional details about this financing transaction, see Note 9, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Senior Secured Term Loan Facilities</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">COMPETITION</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 pharmaceutical and biotechnology industries are highly competitive, particularly in some of the indications of our developing drug candidates, including pancreatic cancer and anemia in CKD. We face competition from multiple other pharmaceutical and biotechnology companies, many of which have significantly greater financial, technical and human resources and experience in product development, manufacturing and marketing. These potential advantages of our competitors are particularly a risk in pancreatic cancer, where we do not currently have a development or commercialization partner.</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 expect any products that we develop and commercialize to compete based on, among other things, efficacy, safety, convenience of administration and delivery, price, the level of generic competition, and the availability of reimbursement from government and other third-party payors.</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: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;">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:10pt;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;">We expect that in many cases, the products that we commercialize will compete with existing marketed products, as well as  product candidates that may be approved in the future, from companies that have large, established commercial organizations. In addition, we will likely face competition in patient recruitment and enrollment for clinical trials from other companies developing or seeking to pursue products or treatments in the same diseases or indications as 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">We also face competition from generics that could enter the market after expiry of our composition of matter patent. As of the end of 2023, the Chinese health authority has accepted abbreviated New Drug Applications (&#8220;NDAs&#8221;) for nineteen (19) generic roxadustat applicants. As these generic manufacturers would offer unpatented versions of roxadustat at a significantly reduced price, this competition could materially and adversely affect our business and financial condition.</span></p>
  <p style="font-size:10pt;margin-top:19.8pt;font-family:Times New Roman;margin-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;">MANUFACTURE 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">We continue to enter into contractual arrangements with qualified third-party manufacturers to manufacture and package our products and product candidates. We believe this manufacturing strategy enables us to more efficiently direct financial resources to the research, development and commercialization of product candidates rather than diverting resources to establishing a significant internal manufacturing infrastructure, unless there is additional strategic value for establishing manufacturing capabilities, such as in China. As our product candidates proceed through development, we explore or enter into longer-term commercial supply agreements with key suppliers and manufacturers in order to meet the ongoing and planned clinical and commercial supply needs for ourselves and our partners. Our timing of entry into these agreements is based on the current development and commercialization plans.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Roxadustat</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;">Roxadustat is a small-molecule drug manufactured from generally available commercial starting materials and chemical technologies and multi-purpose equipment available from many third-party contract manufacturers. We have entered into commercial supply arrangements with Shanghai SynTheAll Pharmaceutical Co., Ltd. (&#8220;WuXi STA&#8221;) and Catalent Pharma Solutions, LLC (&#8220;Catalent&#8221;) as our primary manufacturers of roxadustat drug substance (also known as active pharmaceutical ingredient or &#8220;API&#8221;) and roxadustat drug product, respectively. WuXi STA is located in China and currently supplies our API globally except for China, for which it manufactures an intermediate to be further manufactured by FibroGen Beijing. WuXi STA has passed inspections by several regulatory agencies, including the FDA and NMPA, and is Current Good Manufacturing Practice (&#8220;cGMP&#8221;) compliant. Catalent is located in the U.S. and supplies our drug product tablets globally except for Japan, where they are manufactured by Astellas, and China, where they are manufactured by FibroGen Beijing. Catalent has passed several regulatory inspections, including by the FDA, and manufactures commercial products for other clients.</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 China, our Beijing facility received the Good Manufacturing Practice license for API and drug product. We are manufacturing drug product at our FibroGen Beijing manufacturing facility for commercial supply, but we are not currently manufacturing API at this facility. We are manufacturing API at our Cangzhou manufacturing facility, which is fully qualified and licensed. We may also qualify a third-party manufacturer to produce commercial API under the Marketing Authorization Holder System program.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Pamrevlumab</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 a clinical and commercial supply agreement for the manufacture of pamrevlumab with Samsung Biologics Co., Ltd., which passed several regulatory inspections, including by the FDA, and manufactures commercial products for other clients. We are transitioning our manufacturing of pamrevlumab from Boehringer Ingelheim to Samsung Biologics Co., Ltd.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our business activities and operations, including the clinical testing, manufacturing, labeling, storage, distribution, record keeping, advertising, promotion, import, export and marketing of our product candidates, among other things, are subject to extensive regulation by governmental authorities in the U.S., China, and other countries. The process of obtaining regulatory approvals and the subsequent compliance with appropriate federal, state, local and foreign statutes and regulations, including in Europe and China, requires the expenditure of substantial time and financial resources. Compliance with environmental laws, rules, and regulations has not had, and is not expected to have, a material effect on our capital expenditures, results of operations, or competitive position, and we do not currently anticipate material capital expenditures for environmental control facilities.</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: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;">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:10pt;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;">Failure to comply with the applicable requirements at any time during the product development process, approval process or after approval may subject an applicant and/or sponsor to a variety of administrative or judicial sanctions, including refusal by the applicable regulatory authority to approve pending applications, withdrawal of an approval, imposition of a clinical hold, issuance of warning letters and other types of letters, product recalls, product seizures, total or partial suspension of production or distribution, injunctions, fines, refusals of government contracts, restitution, disgorgement of profits, or civil or criminal investigations and penalties brought by FDA and the Department of Justice, or other governmental entities.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">U.S. Product Approval 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;">In the U.S., the FDA regulates drugs and biological products, or biologics, under the Public Health Service Act, as well as the FDCA, which is the primary law for regulation of drug products. Both drugs and biologics are subject to the regulations and guidance implementing these laws.</span><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 results of the preclinical studies, together with manufacturing information and analytical data, are submitted to the FDA as part of the IND, which includes a protocol detailing, among other things, the objectives of the clinical trial. The IND will become effective automatically 30 days after receipt by the FDA, unless the FDA raises concerns or questions about the conduct of the trials as outlined in the IND prior to that time. In this case, the IND sponsor and the FDA must resolve any outstanding concerns before clinical trials can proceed.</span><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;">While we have an Exclusive Option Agreement and Evaluation Agreement with Fortis, Fortis currently holds the IND for FG-3246/FOR46.</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;">Further, the protocol for each clinical trial must be reviewed and approved by an independent institutional review board, either centrally or individually at each institution at which the clinical trial will be conducted.</span><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 results of preclinical studies and clinical trials, together with detailed information on the manufacture, composition and quality of the product candidate, are submitted to the FDA in the form of an NDA (for a drug) or Biologics License Application (&#8220;BLA&#8221;) (for a biologic), requesting approval to market the product. The application must be accompanied by a significant user fee payment. The FDA has substantial discretion in the approval process and may refuse to accept any application or decide that the data is insufficient for approval and require additional preclinical, clinical or other studies.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Review of Application</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;">Once the NDA or BLA submission is accepted for filing, which occurs, if at all, 60 days after submission, the FDA informs the applicant of the specific date by which the FDA intends to complete its review. During the approval process, the FDA reviews NDAs and BLAs to determine, among other things, whether the proposed product is safe and effective for its intended use, and whether the product is manufactured in accordance with cGMPs to assure and preserve the product&#8217;s identity, strength, quality and purity. The FDA may require Risk Evaluation and Mitigation Strategy to assure safe use of the product, and inspections of manufacturing facilities (for cGMP compliance) and clinical trial sites (for integrity of data supporting safety and efficacy). The FDA may also convene an advisory committee of external experts to review issues relating to risk, benefit and interpretation of clinical trial data. The FDA may require post-marketing testing and surveillance to monitor safety or efficacy of a product. FDA will issue either an approval of the NDA or BLA or a CRL detailing the deficiencies and information required in order for reconsideration of the application.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Post-Approval Requirements</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;">Even after approval, drugs and biologics manufactured or distributed pursuant to FDA approvals are subject to continuous regulation by the FDA, including, among other things, requirements relating to recordkeeping, periodic reporting, product distribution, advertising and promotion and reporting of adverse experiences with the 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 addition, entities involved in the manufacture and distribution of approved drugs and biologics are required to register their establishments with the FDA and state agencies and are subject to periodic unannounced inspections by the FDA and these state agencies for compliance with cGMP requirements. The FDA requires prior approval before implementing any changes to the manufacturing process, investigations and corrections of any deviations from cGMP, and impose reporting and documentation requirements on the sponsor and any third-party manufacturer the sponsor may use. Accordingly, manufacturers must expend time, money, and effort in the area of production and quality control to maintain cGMP compliance.</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: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;">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:10pt;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 FDA strictly regulates marketing, labeling, advertising and promotion of products that are placed on the market. Drugs may be promoted only for the approved indications and in accordance with the provisions of the approved label. The FDA and other agencies actively enforce the laws and regulations prohibiting the promotion of off-label uses, and a company in violation may be subject to significant liability.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Federal and State Fraud and Abuse and Healthcare and Transparency 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;">In addition to FDA restrictions on marketing of pharmaceutical products, federal and state healthcare laws restrict certain business practices in the biopharmaceutical industry. These laws include, but are not limited to, anti-kickback, false claims, data privacy and security, and transparency statutes and regulations.</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 federal Anti-Kickback Statute prohibits, among other things, knowingly and willfully offering, paying, soliciting or receiving remuneration, directly or indirectly, to induce, or in return for, purchasing, leasing, ordering or arranging for the purchase, lease or order of any good, facility, item or service reimbursable under Medicare, Medicaid or other federal healthcare programs. Although there are a number of statutory exemptions and regulatory safe harbors protecting certain common activities from prosecution, the exemptions and safe harbors are drawn narrowly. The intent standard under the Anti-Kickback Statute was amended by the Patient Protection and Affordable Care Act as amended by the Health Care and Education Reconciliation Act of 2010 (collectively &#8220;PPACA&#8221;), to a stricter intent standard such that a person or entity no longer needs to have actual knowledge of this statute or the specific intent to violate it in order to have committed a violation. In addition, PPACA codified case law that a claim including items or services resulting from a violation of the federal Anti-Kickback Statute constitutes a false or fraudulent claim for purposes of the civil False Claims Act (discussed 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;">The federal false claims laws and federal civil monetary penalties statute prohibit, among other things, any person or entity from knowingly presenting, or causing to be presented, a false or fraudulent claim for payment or approval to the federal government or knowingly making, using or causing to be made or used a false record or statement material to a false or fraudulent claim to the federal government. The federal Health Insurance Portability and Accountability Act of 1996 (&#8220;HIPAA&#8221;), created new federal criminal statutes that prohibit knowingly and willfully executing, or attempting to execute, a scheme to defraud any healthcare benefit program, including private third-party payors and knowingly and willfully falsifying, concealing or covering up a material fact or making any materially false, fictitious or fraudulent statement in connection with the delivery of, or payment for, healthcare benefits, items or services.</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 may be subject to federal and state healthcare privacy and security laws. For example, HIPAA, as amended by the Health Information Technology for Economic and Clinical Health Act, and its implementing regulations, imposes certain requirements on covered entities, business associates and their covered subcontractors relating to the privacy, security and transmission of individually identifiable health information. In addition, state laws complicate compliance efforts by the way they govern the privacy and security of health information in certain circumstances, many of which differ from each other in significant ways and with varying effects.</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 Physician Payments Sunshine Act within the PPACA, and its implementing regulations, require that certain manufacturers of drugs, devices, biologicals and medical supplies for which payment is available under Medicare, Medicaid or the Children&#8217;s Health Insurance Program (with certain exceptions) to report information related to certain payments or other transfers of value made or distributed to physicians, other healthcare professionals, and teaching hospitals, or to entities or individuals at the request of, or designated on behalf of, such healthcare professionals and teaching hospitals and to report annually certain ownership and investment interests held by physicians and their immediate family members.</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, many states have similar healthcare statutes or regulations that apply to items and services reimbursed under Medicaid and other state programs, or, in several states, apply regardless of the payor. If our operations are found to be in violation of any of the health regulatory laws described above or any other laws that apply to us, we may be subject to penalties, including potentially significant criminal, civil and/or administrative penalties, damages, fines, disgorgement, individual imprisonment, exclusion of products from reimbursement under government programs, contractual damages, reputational harm, administrative burdens, diminished profits and future earnings and the curtailment or restructuring of our operations, any of which could adversely affect our ability to operate our business and our results of operations. To the extent that any of our products will be sold in a foreign country, we may be subject to similar foreign laws and regulations, which may include, for instance, applicable post-marketing requirements, including safety surveillance, anti-fraud and abuse laws and implementation of corporate compliance programs and reporting of payments or transfers of value to healthcare professionals.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Data Privacy and Security</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 the ordinary course of our business, we may process confidential, proprietary, and sensitive information, including personal data. Accordingly, we are, or may become, subject to numerous data privacy and security obligations, including federal, state, local, and foreign laws, regulations, guidance, and industry standards related to data privacy and security. Such obligations may include, without limitation, the Federal Trade Commission Act, the California Consumer Privacy Act of 2018 (&#8220;CCPA&#8221;), the Canadian Personal Information Protection and Electronic Documents Act, Canada&#8217;s Anti-Spam Legislation, the European Union&#8217;s General Data Protection Regulation 2016/679 (&#8220;EU GDPR&#8221;), the EU GDPR as it forms part of United Kingdom (&#8220;UK&#8221;) law by virtue of section 3 of the European Union (Withdrawal) Act 2018 (&#8220;UK GDPR&#8221;), China&#8217;s Personal Information Protection Law, the ePrivacy Directive, and the Payment Card Industry Data Security Standard. Several states within the United States have enacted or proposed data privacy and security laws. For example, Virginia passed the Consumer Data Protection Act, and Colorado passed the Colorado Privacy Act. Additionally, we are, or may become, subject to various U.S. federal and state consumer protection laws that require us to publish statements that accurately and fairly describe how we handle personal data and choices individuals may have about the way we handle their personal data.</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 CCPA and EU GDPR are examples of the increasingly stringent and evolving regulatory frameworks related to personal data processing that may increase our compliance obligations and exposure for any noncompliance. For example, the CCPA imposes obligations on covered businesses to provide specific disclosures related to a business&#8217;s collection, use, and disclosure of personal data and to respond to certain requests from California residents related to their personal data (for example, requests to know of the business&#8217;s personal data processing activities, to delete the individual&#8217;s personal data, and to opt out of certain personal data disclosures). Also, the CCPA provides for civil penalties and a private right of action for data breaches which may include an award of statutory damages. In addition, the California Privacy Rights Act of 2020 (&#8220;CPRA&#8221;), effective January 1, 2023, expanded the CCPA by, among other things, giving California residents the ability to limit use of certain sensitive personal data, establishing restrictions on personal data retention, expanding the types of data breaches that are subject to the CCPA&#8217;s private right of action, and establishing a new California Privacy Protection Agency to implement and enforce the new law.</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;">Foreign data privacy and security laws (including but not limited to the EU GDPR and UK GDPR) impose significant and complex compliance obligations on entities that are subject to those laws. As one example, the EU GDPR applies to any company established in the EEA and to companies established outside the EEA that process personal data in connection with the offering of goods or services to data subjects in the EEA or the monitoring of the behavior of data subjects in the EEA.  These obligations may include limiting personal data processing to only what is necessary for specified, explicit, and legitimate purposes; requiring a legal basis for personal data processing; requiring the appointment of a data protection officer in certain circumstances; increasing transparency obligations to data subjects; requiring data protection impact assessments in certain circumstances; limiting the collection and retention of personal data; increasing rights for data subjects; formalizing a heightened and codified standard of data subject consents; requiring the implementation and maintenance of technical and organizational safeguards for personal data; mandating notice of certain personal data breaches to the relevant supervisory authority(ies) and affected individuals; and mandating the appointment of representatives in the UK and/or the EU in certain circumstances.</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;">See the section titled &#8220;Risk Factors&#8221; for additional information about the laws and regulations to which we may become subject and about the risks to our business associated with such laws and regulations.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Pharmaceutical Coverage, Pricing and Reimbursement</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 both domestic and foreign markets, our sales of any approved products will depend in part on the availability of coverage and adequate reimbursement from third-party payors. Third-party payors include government health administrative authorities, managed care providers, private health insurers and other organizations. Patients who are prescribed treatments for their conditions and providers performing the prescribed services generally rely on third-party payors to reimburse all or part of the associated healthcare costs. Patients are unlikely to use our products unless coverage is provided and reimbursement is adequate to cover a significant portion of the cost of our products. Third-party payors are increasingly focused on containing healthcare costs by challenging the price and examining the cost-effectiveness of medical products and services. In addition, significant uncertainty exists as to the coverage and reimbursement status of newly approved healthcare product candidates.</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: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;">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:10pt;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;">Because each third-party payor individually approves coverage and reimbursement levels, obtaining coverage and adequate reimbursement is a time-consuming, costly and sometimes unpredictable process. We may be required to provide scientific and clinical support for the use of any product to each third-party payor separately with no assurance that approval would be obtained, and we may need to conduct expensive pharmacoeconomic studies in order to demonstrate the cost-effectiveness of our products. This process could delay the market acceptance of any product and could have a negative effect on our future revenues and operating results. We cannot be certain that our products and our product candidates will be considered cost-effective. If we are unable to obtain coverage of, and adequate reimbursement and payment levels for, our product candidates from third-party payors, physicians may limit how much or under what circumstances they will prescribe or administer them and patients may decline to purchase them. This in turn could affect our ability to successfully commercialize our products and impact our profitability, results of operations, financial condition and future 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;min-width:fit-content;">In addition, in many foreign countries, particularly the countries of the European Union and China, the pricing of prescription drugs is subject to government control. In some non-U.S. jurisdictions, the proposed pricing for a drug must be approved before it may be lawfully marketed. The requirements governing drug pricing vary widely from country to country. We may face competition for our product candidates from lower-priced products in foreign countries that have placed price controls on pharmaceutical products. In addition, there may be importation of foreign products that compete with our own products.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Healthcare Reform</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 the U.S. and foreign jurisdictions, we expect there will continue to be a number of legislative and regulatory changes to the healthcare system that could affect the future results of our operations as we directly commercialize our products. In particular, there continues to be a number of initiatives at the U.S. federal and state level that seek to reduce healthcare 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;">For example, as a cost containment measure, PPACA established: an annual, nondeductible fee on any entity that manufactures or imports certain branded prescription drugs and biologic agents; revised the methodology by which rebates owed by manufacturers to the state and federal government for covered outpatient drugs under the Medicaid Drug Rebate Program are calculated; increased the minimum Medicaid rebates owed by most manufacturers under the Medicaid Drug Rebate Program; and extended the Medicaid Drug Rebate program to utilization of prescriptions of individuals enrolled in Medicaid managed care organizations. There have been executive, judicial and Congressional challenges to certain aspects of the PPACA. In addition, on August 16, 2022, President Biden signed the Inflation Reduction Act of 2022 (&#8220;IRA&#8221;) into law, which among other things, extends enhanced subsidies for individuals purchasing health insurance coverage in PPACA marketplaces through plan year 2025. The IRA also eliminates the &#8220;donut hole&#8221; under the Medicare Part D program beginning in 2025 by significantly lowering the beneficiary maximum out-of-pocket cost and creating a new manufacturer discount program. It is possible that the PPACA will be subject to future judicial or Congressional challenges, other litigation, and healthcare reform measures of the Biden administration that may impact the PPACA 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Further, in the U.S. there was heightened governmental scrutiny over the manner in which manufacturers set prices for their marketed products, which resulted in several Presidential executive orders, Congressional inquiries and proposed and enacted federal and state legislation designed to, among other things, bring more transparency to drug pricing, reduce the cost of prescription drugs under government payor programs, and review the relationship between pricing and manufacturer patient programs. The IRA also, among other things, (1) directs the U.S. Department of Health and Human Services (&#8220;HHS") to negotiate the price of certain single-source drugs and biologics covered under Medicare and (2) imposes rebates under Medicare Part B and Medicare Part D to penalize price increases that outpace inflation. These provisions take effect progressively starting in fiscal year 2023. On August 29, 2023, HHS announced the list of the first ten drugs that will be subject to price negotiations, although the Medicare drug price negotiation program is currently subject to legal challenges. It is currently unclear how the IRA will be implemented but is likely to have a significant impact on the pharmaceutical industry. Further, on February 14, 2023, HHS released a report outlining three new models for testing by the CMS Innovation Center which will be evaluated on their ability to lower the cost of drugs, promote accessibility, and improve quality of care. It is unclear whether the models will be utilized in any health reform measures in the future. Further, on December 7, 2023, the Biden administration announced an initiative to control the price of prescription drugs through the use of march-in rights under the Bayh-Dole Act. On December 8, 2023, the National Institute of Standards and Technology published for comment a Draft Interagency Guidance Framework for Considering the Exercise of March-In Rights which for the first time includes the price of a product as one factor an agency can use when deciding to exercise march-in rights. While march-in rights have not previously been exercised, it is uncertain if that will continue under the new framework.  It is unclear whether these or similar policy initiatives will be implemented in the future.</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: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;">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:10pt;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;">Some states implemented, and other states are considering, price controls or patient access constraints under the Medicaid program, and some states are considering price-control regimes that would apply to broader segments of their populations that are not Medicaid-eligible. Due to the volatility in the current economic and market dynamics, we are unable to predict the impact of any unforeseen or unknown legislative, regulatory, payor or policy actions, which may include cost containment and healthcare reform measures. Such policy actions could impact on our business.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Approval Process and Other Regulation in China</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 pharmaceutical industry in China is highly regulated. The primary regulatory authority is the NMPA, including its provincial and local branches. As a developer, manufacturer and supplier of drugs, we are subject to regulation and oversight by the NMPA and its provincial and local branches. The Drug Administration Law of China provides the basic legal framework for the administration of the production and sale of pharmaceuticals in China and covers the manufacturing, distributing, packaging, pricing and advertising of pharmaceutical products. Its implementing regulations set forth detailed rules with respect to the administration of pharmaceuticals in China. In addition, we are, and we will be, subject to other Chinese laws and regulations that are applicable to business operators, manufacturers and distributors in general.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Pharmaceutical Clinical 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;">A new drug must be approved by the NMPA before it can be manufactured and marketed for sale. To obtain NMPA approval, the applicant must conduct clinical trials, which must be approved by the NMPA and are subject to the NMPA&#8217;s supervision and inspection. There are four phases of clinical trials. Application for registration of new drugs requires completion of Phase 1, 2 and 3 of clinical trials, similar to the U.S. In addition, the NMPA may require the conduct of Phase 4 studies as a condition to approval.</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;">Phase 4 studies are post-marketing studies to assess the therapeutic effectiveness of and adverse reactions to the new drug, including an evaluation of the benefits and risks, when used among the general population or specific groups, with findings used to inform adjustments to dosage, among other things.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">NDA and Approval to 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;">China requires approval of the NDA as well as the manufacturing facility before a drug can be marketed in China. Approval and oversight are performed at national and provincial levels of the NMPA, involve multiple agencies and consist of various stages of approval.</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 applicable drug registration regulations, drug registration applications are divided into three different types, namely Domestic NDA, Domestic Generic Drug Application, and Imported Drug Application. Drugs fall into one of three categories, namely chemical medicine, biological product, or traditional Chinese or natural medicine.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Foreign Regulation Outside of China</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 order to market any product outside of the U.S., we would need to comply with numerous and varying regulatory requirements of other countries and jurisdictions regarding quality, safety and efficacy and governing, among other things, clinical trials, manufacturing, marketing authorization, commercial sales and distribution of our products. Whether or not we obtain FDA approval for a product, we would need to obtain the necessary approvals by the comparable foreign regulatory authorities before we can commence clinical trials or marketing of the product in foreign countries and jurisdictions. Although many of the issues discussed above with respect to the U.S. apply similarly in the context of other countries we are seeking approval in, including Europe and China, the approval process varies between countries and jurisdictions and can involve different amounts of product testing and additional administrative review periods. For example, in Europe and in China, a sponsor must submit a clinical trial application, much like an IND prior to the commencement of human clinical trials. A clinical trial application must be submitted to each national health authority and an independent ethics committee.</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 other countries outside of the European Union, such as China and the countries in Eastern Europe, Latin America or Asia, the requirements governing the conduct of clinical trials, product licensing, pricing, and reimbursement vary from country to country. Regulatory approval in one country or jurisdiction does not ensure regulatory approval in another, but a failure or delay in obtaining regulatory approval in one country or jurisdiction may negatively impact the regulatory approval process in other countries.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Regulatory Exclusivity for Approved 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;">U.S. Patent Term Restoration</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;">Depending upon the timing, duration, and specifics of the FDA approval of our product candidates, some of our U.S. patents may be eligible for limited patent term extension under the Drug Price Competition and Patent Term Restoration Act of 1984, commonly referred to as the Hatch-Waxman Act. The Hatch-Waxman Act permits a patent restoration term of up to five years as compensation for patent term lost during product development and the FDA regulatory review process. The patent term restoration period is generally one-half the time between the effective date of an initial IND and the submission date of an NDA or BLA, plus the time between the submission date of the NDA or BLA and the approval of that product candidate application, to the extent such period occurs after grant of the patent. Patent term restoration cannot, however, extend the remaining term of a patent beyond a total of 14 years from the product&#8217;s approval date. In addition, only one patent applicable to an approved product is eligible for the extension and the application for the extension must be submitted prior to the expiration of the patent. The U.S. Patent and Trademark Office, in consultation with the FDA, reviews and approves applications for any patent term extension or restoration. In the future, we expect to apply for restoration of patent term for patents relating to each of our product candidates in order to add patent life beyond the current expiration date of such patents, depending on the length of the clinical trials and other factors involved in the filing of the relevant NDA or BLA.</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;">Market exclusivity provisions under the U.S. federal Food, Drug &amp; Cosmetic Act can also delay the submission or the approval of certain applications of companies seeking to reference another company&#8217;s NDA or BLA. The Hatch-Waxman Act provides a 5-year period of exclusivity to any approved NDA for a product containing a New Chemical Entity (&#8220;NCE&#8221;) never previously approved by FDA either alone or in combination with another active moiety. No application or abbreviated NDA directed to the same NCE may be submitted during the 5-year exclusivity period, except that such applications may be submitted after four years if they contain a certification of patent invalidity or non-infringement of the patents listed with the FDA by the innovator NDA.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Biologic Price Competition and Innovation Act</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 Biologics Price Competition and Innovation Act of 2009 (&#8220;BPCIA&#8221;) established an abbreviated pathway for the approval of biosimilar and interchangeable biological products. The abbreviated regulatory approval pathway establishes legal authority for the FDA to review and approve biosimilar biologics, including the possible designation of a biosimilar as &#8220;interchangeable&#8221; based on similarity to an existing branded product. Under the BPCIA, an application for a biosimilar product cannot be approved by the FDA until 12 years after the original branded product was approved under a BLA. However, an application may be submitted after four years if it contains a certification of patent invalidity or non-infringement with respect to the patents listed with the FDA by the innovator BLA holder.</span><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:18pt;font-family:Times New Roman;margin-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;">Orphan Drug Act</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;">Pamrevlumab has received orphan drug designation in pancreatic cancer in the U.S. Under the Orphan Drug Act, the FDA may grant orphan designation to a drug or biological product intended to treat a rare disease or condition, which is a disease or condition that affects fewer than 200,000 individuals in the U.S., or if it affects more than 200,000 individuals in the U.S. there is no reasonable expectation that the cost of developing and making a drug product available in the U.S. for this type of disease or condition will be recovered from sales of the product. Orphan product designation must be requested before submitting an NDA. After the FDA grants orphan product designation, the identity of the therapeutic agent and its potential orphan use are disclosed publicly by the FDA. Orphan product designation does not convey any advantage in or shorten the duration of the regulatory review and approval process.</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 a product that has orphan designation subsequently receives the first FDA approval for the disease or condition for which it has such designation, the product is entitled to orphan product exclusivity, which means that the FDA may not approve any other applications to market the same drug or biological product for the same indication for seven years, except in limited circumstances, such as a showing of clinical superiority to the product with orphan exclusivity. The designation of such drugs also entitles a party to financial incentives such as opportunities for grant funding towards clinical trial costs, tax advantages and user-fee waivers. Competitors, however, may receive approval of different products for the indication for which the orphan product has exclusivity or obtain approval for the same product but for a different indication for which the orphan product has exclusivity. Orphan product exclusivity also could block the approval of one of our products for seven years if a competitor obtains approval of the same drug or biological product as defined by the FDA or if our drug candidate is determined to be contained within the competitor&#8217;s product for the same indication or disease. If a drug product designated as an orphan product receives marketing approval for an indication broader than what is designated, it may not be entitled to orphan product exclusivity in any indication.</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: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;">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:10pt;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;">Products receiving orphan designation in Europe can receive ten years of market exclusivity, during which time no similar medicinal product for the same indication may be placed on the market. The ten-year market exclusivity may be reduced to six years if, at the end of the fifth year, it is established that the product no longer meets the criteria for orphan designation; for example, if the product is sufficiently profitable not to justify maintenance of market exclusivity. Additionally, marketing authorization may be granted to a similar product for the same indication at any time if the second applicant can establish that its product, although similar, is safer, more effective or otherwise clinically superior; the initial applicant consents to a second orphan medicinal product application; or the initial applicant cannot supply enough orphan medicinal product. An orphan product can also obtain an additional two years of market exclusivity in Europe for pediatric studies. No extension to any supplementary protection certificate can be granted on the basis of pediatric studies for orphan indications.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Foreign Country Data Exclusivity</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;">Europe also provides opportunities for additional market exclusivity. For example, in Europe, upon receiving marketing authorization, a NCE or new biologic generally receives eight years of data exclusivity and an additional two years of market exclusivity. If granted, data exclusivity prevents regulatory authorities in Europe from referencing the innovator&#8217;s data to assess a generic application. During the additional two-year period of market exclusivity, a generic marketing authorization can be submitted, and the innovator&#8217;s data may be referenced, but no generic product can be marketed until the expiration of the market exclusivity.</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 China, there may also be an opportunity for data exclusivity for a period of six years for data included in an NDA applicable to a NCE. According to the Implementing Regulations of the China Drug Administration Law, the Chinese government would protect undisclosed data from drug studies and prevent the approval of an application made by another company that uses the undisclosed data for the approved drug. However, even though the NMPA issued a draft regulation on regulatory data protection on April 25, 2018 for public comment, the regulation has yet to be finalized and implemented. As such, data exclusivity is currently not enforced.</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 an approved drug manufactured in China qualified as an innovative drug or an improved new drug before December 1, 2019, such drugs were eligible for a monitoring surveillance period for up to five years for the purpose of protecting public health. Under the regulations, during this post-marketing surveillance period, the NMPA would not accept marketing authorization applications filed by another company for the same product, nor approve marketing authorization applications filed by another company to produce, change dosage form of, or import the drug. The approved manufacturer was required to provide an annual report to the regulatory department of the province, autonomous region or municipality directly under the central government where it is located during the surveillance period. Although this procedure was reportedly still active for drugs that had qualified prior to changes in the law ending the monitoring surveillance provisions, the CDE started accepting marketing authorization applications for generic forms of roxadustat, starting in May 2023.</span></p>
  <p style="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-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 own or license numerous patents in the U.S. and foreign countries primarily covering our products. We have also developed and are developing brand names and trademarks for our products. We consider the overall protection of our patents, trademarks, licenses, and other intellectual property rights to be of material value and act to protect these rights from infringement. Our success depends in part upon our ability to obtain and maintain patent and other intellectual property protection for our product candidates including compositions-of-matter, dosages, and formulations, manufacturing methods, and novel applications, uses and technological innovations related to our product candidates and core technologies. We also rely on trade secrets, know-how and continuing technological innovation to further develop and maintain our competitive position.</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 seek to protect our proprietary position by, among other methods, filing U.S. and foreign patent applications related to our proprietary technologies, inventions and any improvements that we consider important to the development and implementation of our business and strategy. Our ability to maintain and solidify our proprietary position for our products and technologies will depend, in part, on our success in obtaining and enforcing valid patent claims. Additionally, we may benefit from a variety of regulatory frameworks in the U.S., Europe, China, and other territories that provide periods of non-patent-based exclusivity for qualifying drug products. Refer to</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;Government Regulation &#8212; Regulatory Exclusivity for Approved Products.&#8221;</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: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;">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:10pt;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;">We cannot ensure that patents will be granted with respect to any of our pending patent applications or with respect to any patent applications that may be filed by us in the future, nor can we ensure that any of our existing or subsequently granted patents will be useful in protecting our drug candidates, technological innovations, and processes. Additionally, any existing or subsequently granted patents may be challenged, invalidated, circumvented or infringed. We cannot guarantee that our intellectual property rights or proprietary position will be sufficient to permit us to take advantage of current market trends or otherwise to provide or protect competitive advantages. Furthermore, our competitors may be able to independently develop and commercialize similar products, or may be able to duplicate our technologies, business model, or strategy, without infringing our patents or otherwise using our intellectual property.</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 protection afforded by any particular patent depends upon many factors, including the type of patent, scope of coverage encompassed by the granted claims, availability of extensions of patent term, availability of legal remedies in the particular territory in which the patent is granted, and validity and enforceability of the patent. Changes in either patent laws or in the interpretation of patent laws in the U.S. and other countries could diminish our ability to protect our inventions and to enforce our intellectual property rights. Accordingly, we cannot predict with certainty the enforceability of any granted patent claims or of any claims that may be granted from our 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">The biotechnology and pharmaceutical industries are characterized by extensive litigation regarding patents and other intellectual property rights. Our ability to maintain and solidify our proprietary position for our products and core technologies will depend on our success in obtaining effective claims and enforcing those claims once granted. We have been in the past and are currently involved in various legal proceedings with respect to our patents and patent applications and may be involved in such proceedings in the future. Additionally, we may claim that a third party infringes our intellectual property, or a third party may claim that we infringe its intellectual property. Such legal proceedings may be associated with significant expenses, damages, attorneys&#8217; fees, costs of proceedings, and experts&#8217; fees, and management and employees may be required to spend significant time in connection with these actions.</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 the extensive time required for clinical development and regulatory review of a product candidate we may develop, it is possible that any patent related to our product candidates may expire before any of our product candidates can be commercialized, or may remain in force for only a short period of time following commercialization, thereby reducing the advantage afforded by any such patent.</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 patent positions for our most advanced programs are summarized below.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Roxadustat Patent Portfolio</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 the composition-of-matter patents covering roxadustat expire in 2024 (except in the U.S., where they expire in 2025), the roxadustat patent portfolio includes additional patents providing protection for roxadustat, including protection for the commercial crystalline form,  pharmaceutical compositions, and key intermediates in roxadustat synthesis. Subject to the additional details outlined below for particular territories, and exclusive of any patent term extension, U.S. and foreign patents relating to crystalline forms of roxadustat and key intermediates in roxadustat synthesis are due to expire in 2033, and U.S. and foreign patents relating to photostable formulations of roxadustat are due to expire in 2034.</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;">Supplemental Protection Certificates (SPCs) are pending or have been granted in European Union member states, where roxadustat has been granted marketing approval, on our European Patent No. 3470397 (the &#8220;`397 Patent&#8221;), which claims formulations comprising the commercial crystalline form of roxadustat, thereby extending patent protection to 2036.  Patent term extensions (PTEs) have also been granted for several roxadustat-related patents in Japan, where roxadustat has been granted marketing approval, including on composition-of-matter and crystal form patents extending patent protection to 2029 and 2035, respectively.</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 China, no photostable formulation patent has yet been granted (applications are pending). Our roxadustat China patent portfolio additionally includes a granted patent and pending patent applications directed to roxadustat particle size distribution (PSD) in commercial formulations and use of roxadustat to treat select CIA patient populations.  These patents and patent applications, upon grant, could extend the exclusivity of the roxadustat franchise with respect to the claimed subject matter to 2043.</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: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;">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:10pt;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;">Several patents in our roxadustat patent portfolio have been challenged in Europe and China.  In particular, patent challenges have been filed against our crystal form patents in Europe and China, and against our photostable formulations patent in Europe. While European Patent No. 2872488 (the &#8220;`488 Patent&#8221;), which claims the commercial crystalline form of roxadustat, was originally revoked in opposition, the decision is currently under appeal.  While both the `397 Patent and our European Patent No. 3003284 (the &#8220;`284 Patent&#8221;), which claims photostable formulations of roxadustat, were upheld in opposition, the opponents have appealed the decision in the `284 Patent and we anticipate the opponents will appeal the decision in the `397 Patent. In China, three roxadustat crystal form patents were revoked in first-round proceedings and two revocations were upheld on first appeal; however, all decisions currently remain on appeal. Final resolution of these proceedings in Europe and China will take time and we cannot be assured that these patents will survive these proceedings as originally granted or at all.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Pamrevlumab Patent Portfolio</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 pamrevlumab patent portfolio includes U.S. and foreign patents providing composition-of-matter protection for pamrevlumab. Exclusive of any patent term extension, the last of the U.S. patents relating to pamrevlumab composition-of-matter is due to expire in 2025 and corresponding foreign patents are due to expire, exclusive of any patent term extension, in 2024. Therefore, in most jurisdictions, exclusivity for pamrevlumab will rely primarily on regulatory exclusivities, including a 12-year reference product exclusivity period from approval in the U.S. and a 10-year marketing protection period from approval in Europe.  Similar regulatory exclusivities exist in other jurisdictions.  Refer to</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;Government Regulation &#8212; Regulatory Exclusivity for Approved Products &#8212; Biologic Price Competition and Innovation Act&#8221; </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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> &#8220;Government Regulation &#8212; Regulatory Exclusivity for Approved Products &#8212; Foreign Country Data Exclusivity.&#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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 also hold additional granted U.S. and foreign patents and pending patent applications directed to the use of pamrevlumab to treat pancreatic cancer. Upon marketing approval of pamrevlumab in most jurisdictions, we can request patent term extension on a non-expired patent in that jurisdiction that is relevant to the approved label. For example, we believe that if pamrevlumab is approved in the U.S. prior to expiration of the composition-of-matter patent, a full five-year patent term extension under the Hatch-Waxman Act will be available, extending the term of that patent to 2030.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FG-3246 Patent Portfolio</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 FG-3246 patent portfolio includes U.S. and foreign patents and pending patent applications providing, upon grant, composition-of-mater protection for FG-3246 that are due to expire in 2035 exclusive of any patent term extension.</span><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:18pt;font-family:Times New Roman;margin-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;">Trade Secrets and Know-How</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 patents, we rely upon proprietary trade secrets and know-how and continuing technological innovation to develop and maintain our competitive position. We seek to protect our proprietary information, in part, using confidentiality and other terms in agreements with our commercial partners, collaboration partners, consultants, and employees. Such agreements are designed to protect our proprietary information and may also grant us ownership of technologies that are developed through a relationship with a third party, such as through invention assignment provisions. Agreements may expire and we could lose the benefit of confidentiality, or our agreements may be breached, and we may not have adequate remedies for any breach. In addition, our trade secrets may otherwise become known or be independently discovered by competitors.</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 extent that our commercial partners, collaboration partners, employees and consultants use intellectual property owned by others in their work for us, disputes may arise as to the rights in related or resulting know-how and inventions.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In-Licenses</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;">Bristol-Myers Squibb Company (Medarex, Inc.)</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 July 9, 1998, and as amended on June 30, 2001 and January 28, 2002, we entered into a research and commercialization agreement with Medarex, Inc. and its wholly-owned subsidiary GenPharm International, Inc. (now, collectively, part of Bristol-Myers Squibb Company (&#8220;Medarex&#8221;)) to develop fully human monoclonal antibodies for potential anti-fibrotic therapies. Under the agreement, Medarex was responsible for using its proprietary immunizable transgenic mice (&#8220;HuMAb-Mouse technology&#8221;) during a specified research period (the &#8220;Research Period&#8221;), to produce fully human antibodies against our proprietary antigen targets, including CTGF, for our exclusive use.</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: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;">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:10pt;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 agreement granted us an option to obtain an exclusive worldwide, royalty-bearing, commercial license to develop antibodies derived from Medarex&#8217;s HuMAb-Mouse technology, for use in the development and commercialization of diagnostic and therapeutic products. In December 2002, we exercised that option with respect to twelve antibodies inclusive of the antibody from which pamrevlumab is derived. We granted back to Medarex an exclusive, worldwide, royalty-free, perpetual, irrevocable license, with the right to sublicense, to certain inventions created during the parties&#8217; research collaboration, with such license limited to use by Medarex outside the scope of our licensed antibodies.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;margin-right:1.667%;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 the exercise of our option to obtain the commercial license, Medarex is precluded from:</span><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;margin-right:1.667%;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;margin-right:1.667%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(i) knowingly using any technology involving immunizable transgenic mice containing unrearranged human immunoglobulin genes with any of our antigen targets that were the subject of the agreement,</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;margin-right:1.667%;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;margin-right:1.731%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(ii) granting to a third party a commercial license that covers such antigen targets or those antibodies derived by Medarex during the Research Period, and</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;">(iii) using any antibodies derived by Medarex during the Research Period, except as permitted under the agreement for our benefit or to prosecute patent applications in accordance with the agreement.</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;">Medarex retained ownership of the patent rights relating to certain mice, mice materials, antibodies and hybridoma cell lines used by Medarex in connection with its activities under the agreement, and Medarex also owns certain claims in patents covering inventions that arise during the Research Period, which claims are directed to (i) compositions of matter (e.g., an antibody) except formulations of antibodies for therapeutic or diagnostic use, or (ii) methods of production. We own the patent rights to any inventions that arise during the Research Period that relate to antigens, as well as claims in patents covering inventions directed to (a) methods of use of an antibody, or (b) formulations of antibodies for therapeutic or diagnostic use. Upon exercise of our option to obtain the commercial license, we obtained the sole right but not obligation to control prosecution of patents relating solely to the licensed antibodies or products. Medarex has back-up patent prosecution rights in the event we decline to further prosecute or maintain such patents.</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 research support payments by us to Medarex during the Research Period, and an upfront commercial license fee in the form of 181,819 shares of FibroGen Series D Convertible Preferred Stock paid upon exercise of our option, we committed development-related milestone payments of up to $11 million per therapeutic product containing a licensed antibody, and we have paid a $1 million development-related milestone, in the form of 133,333 shares of FibroGen Series G Convertible Preferred Stock, and a cash payment of $2 million, for pamrevlumab to date. At our election, the remaining milestone payments may be paid in common stock of FibroGen, Inc., or cash.</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 respect to our sales and sales by our affiliates, the agreement also requires us to pay Medarex low single-digit royalties for licensed therapeutic products and low double-digit royalties plus certain capped sales-based bonus royalties for licensed diagnostic products. With respect to sales of licensed products by a sublicensee, we may elect to pay the foregoing royalties based on our sublicensee&#8217;s sales, or a percentage (in the high-teens) of all payments received by us from such sublicensee. We are also required to reimburse Medarex any pass-through royalties, if any, payable under Medarex&#8217;s upstream license agreements with Medical Research Council and DNX. Royalties payable by us under the agreement are on a licensed product-by-licensed product and country-by-country basis and subject to reductions in specified circumstances, and royalties are payable for a period until either expiration of patents covering the applicable licensed product or a specified number of years following the first commercial sale of such product in the applicable country.</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;">Unless earlier terminated, the agreement will continue in effect for as long as there are royalty payment obligations by us or our sublicensees. Either party may terminate the agreement for certain material breaches by the other party, or for bankruptcy, insolvency or similar circumstances. In addition, we may also terminate the agreement for convenience upon written notice.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fortis Therapeutics / University of California, San Francisco (UCSF)</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 May 5, 2023, we entered into an Evaluation Agreement with Fortis Therapeutics, Inc., under which FibroGen was granted an exclusive license to certain Fortis intellectual property (IP) and additional IP in-licensed by Fortis from UCSF for the purpose of performing evaluation activities associated with use of FG-3246/FOR46 particularly for treatment of metastatic castration-resistant prostate cancer (mCRPC).  The IP includes know-how, patents, and patent applications related to FG-3246 composition-of-matter and variants thereof, anti-CD46 antibodies and immunoconjugates made therefrom, and formulations, dosing regimens, and uses thereof. Composition-of-matter patents for FG-3246 are due to expire in 2035, and formulation and dosing regimen patents are due to expire in 2041, in each case exclusive of any patent term extension or adjustment that may be available.</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 agreement, we have first right to prepare, file, prosecute, and maintain patents and patent applications in the Fortis IP at our own expense and using mutually agreed-upon counsel.  We are also obligated to reimburse Fortis for all payments made by Fortis to UCSF for expenses incurred by UCSF in prosecution and maintenance of the in-licensed patent portfolio, and other payments made by Fortis to UCSF under their license agreement during the term of the Evaluation 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:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Unless terminated according to terms in the Evaluation Agreement, the term of the license is subject to an Option Agreement and Plan of Merger by and between FibroGen, Fortis Therapeutics, and Shareholder Representative Services LLC dated May 5, 2023. If we exercise our merger option on or before the option exercise deadline, we will acquire Fortis Therapeutics and all benefits and obligations associated with the Fortis IP and license with UCSF, subject to contingent payments of up to $200 million based on certain milestones.  If we do not exercise our merger option, the license will terminate at the option exercise deadline which is the earlier of 90 days from the receipt of end of phase 2 meeting minutes from FDA regarding FG-3246 or May 5, 2027 absent extension.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">HiFiBiO Therapeutics</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 June 16, 2021, we entered into an Exclusive License and Option Agreement with HiFiBiO (HK) Ltd. (d.b.a. HiFiBiO Therapeutics), under which FibroGen was granted an exclusive, worldwide license to HiFiBiO know-how and patent rights to all galectin-9 (Gal-9)-directed products for all uses, and a sublicense from HiFiBiO to in-licensed anti-Gal-9 antibodies from Soci&#233;t&#233; d&#8217;Acc&#233;l&#233;ration du Transfert de Technologie (&#8220;SATT-NORD&#8221;).  The patent rights include U.S. and foreign patents and patent applications directed to specific anti-Gal-9 antibodies, fragments, and uses, and are due to expire in 2041 exclusive of any patent term extension or adjustment that may be available. The licensed patents relate to FG-3165 and related 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;min-width:fit-content;">We were also granted an option under the agreement to license a second program from HiFiBiO which we exercised on December 10, 2021, with respect to HiFiBiO know-how and patent rights to all CCR8-directed products for all uses.  The patent rights include U.S. and foreign patents and patent applications directed to specific anti-CCR8 antibodies, fragments, and uses, and are due to expire in 2042 exclusive of any patent term extension or adjustment that may be available. The licensed patents relate to FG-3175 and related 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;min-width:fit-content;">Under the agreement, we have first right to prepare, file, prosecute, and maintain patents and patent applications in the HiFiBiO patent rights at our own expense and using mutually agreed-upon counsel.  We are also obligated to pay an upfront licensing and option fee totaling $35 million and a subsequent option exercise payment of $35 million for the CCR8 program, all of which have been paid, and R&amp;D and regulatory milestone payments of up to $175 million, as well as sales milestones of up to $170 million, and an escalating royalty based on calendar year aggregate net sales of licensed product capped at 10%, subject to certain reductions.</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;">Unless earlier terminated, the agreement will continue in effect, on a country-by-country basis, until the expiration of all licensed patents in a country, after which the license will become perpetual, irrevocable, fully-paid up, and royalty free. HiFiBiO may terminate the agreement for our uncured material breach or bankruptcy. We may terminate the agreement for HiFiBiO&#8217;s uncured material breach, bankruptcy, or at any time on prior written notice to HiFiBiO.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">HUMAN 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 had a total of 486 employees at FibroGen as of December 31, 2023. None of our U.S. employees are represented by a labor union. The employees of FibroGen Beijing are represented by a labor union under the China Labor Union Law. None of our employees have entered into a collective agreement with 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are highly committed to building a diverse, dedicated, and impassioned team to deliver innovative therapies to patients facing serious unmet medical needs. Our core values of excellence, respect for people, integrity, and empowerment are fundamental to how we attract, grow, engage, and retain our people.</span><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 conducted a company-wide employee engagement survey. We had an overall participation rate of 96% with an 89% overall engagement score (China 96%. U.S. 79%). Just as in 2022, we exceeded our corporate goal of an 85% overall engagement score. Further, in 2022, an independent firm established a diversity, equity, and inclusion index based upon 10 employee questions within the survey to measure the effectiveness of, and employee sentiment about, our progress in nurturing a culture of diversity, equity, belonging and inclusion; our diversity index score was 89% (China 90%, U.S. 88%), an increase compared to 88% in 2022. These scores significantly exceed normative industry participation and engagement benchmarks.</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 biotechnology industry is an extremely competitive labor market and recruiting and retaining employees is critical to the continued success of our business. We focus on recruiting, retaining, and developing employees from a diverse range of backgrounds to conduct our research, development, commercialization, and administrative activities. As in 2022, we have been able to contain regrettable turnover to less than 6%, and we closed 2023 with only 3.1% regrettable losses. We also believe that to be an employer of choice, we must support the communities in which we live and operate. In 2023, we doubled the size of our high school and college internship program (after re-launching the program in 2022), which provides opportunities for people of color and/or economically disadvantaged youth to contribute and learn for eight to twelve weeks at our U.S. 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;">We consistently review and evaluate our people practices to ensure that we attract, develop and retain a diverse, engaged and talented workforce. Our offerings include competitive, innovative and equitable pay practices, comprehensive health and wellness benefits, retirement and life insurance offerings, learning and giving programs, and flexible work arrangements. In addition to our employee and manager fundamentals programs, we offer personal coaching and resiliency sessions, as well as access to an on-demand global learning management system. In addition to annual compliance training on harassment prevention, our Code of Conduct, Anti-Bribery and data privacy, our employees are offered internal career development programs each year in addition to tuition reimbursement eligibility.</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 state-of-art, human capital management system, implemented in 2020, has significantly expanded our capabilities to develop and assess our employees. We build comprehensive development and succession plans at all levels in the organization to ensure that we have a strong pipeline of ready talent to meet our business outcomes.</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;">Ensuring diversity in our workforce begins with role modeling and striving for diversity in senior management. On our Board of Directors, 3 of 9 members (33%) are female. Further, 2 of 9 members (22%) identify as Asian or Hispanic ethnicity. Notably, our U.S. workforce is 50% female. Our U.S. employees that self-report ethnicity are 58% Asian, Hispanic or Black. Of our U.S. Executive population (Vice President and above), 37.5% are female and of our U.S. executives that self-report ethnicity, 25% identify as Asian or Hispanic. Our China workforce is 57% female (largely unchanged), and of our China Executives (Vice President and above) 67% are female, an increase from 50% in 2022. Across our workforce and our leadership, we have increased our female and ethnicity representation year over year and continue to expand our efforts and corporate objectives accordingly. One of our goals in 2024 is to increase female diversity at the executive director level and above, which was 49% in the U.S.  and 67% in China at the end of 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;">In addition to furthering our investments in our human resources, we plan to continue our efforts in 2024 in critical environmental, social, and governance (&#8220;ESG&#8221;) areas. In 2023, we performed an ESG assessment of our operations, finding that we accomplished most of our yearly goals, including high-impact goals such as providing disclosure on investor outreach and feedback on Say-on-Pay proposals and resulting changes, improving Compensation Discussion and Analysis (CD&amp;A) disclosure, and adopting a policy to increase patient diversity in clinical trials.  In 2023, we also determined a number of goals for 2024, including adopting a cybersecurity incidence response policy and committee charter, drafting a 2024 Equity Incentive Plan, and performing a climate impact analysis once the SEC adopts final climate disclosure regulations.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FACILITIES</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 corporate and research and development operations are located in San Francisco, California, where we lease approximately 234,000 square feet of office and laboratory space with approximately 12,000 square feet subleased. We are currently under contract to stay at our San Francisco headquarters until the end of 2028. We also lease approximately 67,000 square feet of office and manufacturing space in Beijing, China, and multiple office spaces in Beijing and Shanghai, China. Our leases in China expire in 2026. We have constructed a commercial manufacturing facility of approximately 5,500 square meters in Cangzhou, China, on approximately 33,000 square meters of land. Our right to use such land expires in 2068. We believe our facilities are adequate for our current needs and that suitable additional or substitute space would be available if needed.</span><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:18pt;font-family:Times New Roman;margin-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></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 internet website address is www.fibrogen.com. In addition to the information about us and our subsidiaries contained in this Annual Report, information about us can be found on our website. The information contained on, or that can be accessed through, our website is not part of, and is not incorporated into, this Annual Report.</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 annual reports on Form 10-K, quarterly reports on Form 10-Q, current reports on Form 8-K and amendments to those reports filed or furnished pursuant to Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended, are available free of charge through our website as soon as reasonably practicable after they are electronically filed with or furnished to the Securities and Exchange Commission. Additionally the Securities and Exchange Commission maintains an internet site that contains reports, proxy and information statements and other information. The address of the SEC&#8217;s website is www.sec.gov.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CORPORATE INFORMATION</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 headquarters are located at 409 Illinois Street, San Francisco, California 94158 and our telephone number is (415) 978-1200. Our website address is www.FibroGen.com.</span><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 subsidiaries consist of the following: 1) FibroGen Europe Oy, a majority-owned entity incorporated in Finland in 1996; 2) Skin Sciences, Inc., a majority-owned entity incorporated in the State of Delaware in 1995; 3) FibroGen International (Cayman) Limited, a majority-owned entity incorporated in the Cayman Islands in 2011; 4) FibroGen China Anemia Holdings Ltd., a majority-owned entity incorporated in the Cayman Islands in 2012; 5) FibroGen International (Hong Kong) Limited, a majority-owned entity incorporated in Hong Kong in 2011; 6) FibroGen INTL LLC, a majority-owned entity incorporated in the State of Delaware in 2021; 7) FibroGen (China) Medical Technology Development Co., Ltd., a majority-owned entity incorporated in China in 2011; and 8) Beijing Falikang Pharmaceutical Co. Ltd., an unconsolidated variable interest entity incorporated in China in 2020.</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;">&#8220;FibroGen,&#8221; the FibroGen logo and other trademarks or service marks of FibroGen, Inc. appearing in this Annual Report are the property of FibroGen, Inc. This Annual Report contains additional trade names, trademarks and service marks of others, which are the property of their respective owners. We do not intend our use or display of other companies&#8217; trade names, trademarks or service marks to imply a relationship with, or endorsement or sponsorship of us by, these other companies.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:18pt;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. 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;">FACTORS</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;">Investing in our common stock involves a high degree of risk. You should carefully consider the risks described below in addition to the other information included or incorporated by reference in this Annual Report on Form 10-K for the year ended December 31, 2023 (&#8220;Annual Report&#8221;), including our consolidated financial statements and the related notes and &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations,&#8221; before deciding whether to invest in our common stock. The occurrence of any of the events or developments described below could harm our business, financial condition, results of operations and growth prospects. In such an event, the market price of our common stock could decline, and you may lose all or part of your investment. Although we have discussed all known material risks, the risks described below are not the only ones that we may face. Additional risks and uncertainties not presently known to us or that we deem immaterial may also impair our business operations.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to the Development and Commercialization of Our Product Candidates</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 substantially dependent on the success of our lead products pamrevlumab and roxadustat.</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 date, we have invested substantially in the research and development of pamrevlumab and roxadustat.</span><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 near-term value drivers for the Company depend in large part on pamrevlumab, which is in clinical development for locally advanced unresectable pancreatic cancer (&#8220;LAPC&#8221;) and metastatic pancreatic cancer. Even if one or both of the Phase 3 clinical trials are successful, pamrevlumab will require substantial further investment. At this time, we do not have a collaboration partner to support the development and commercialization of pamrevlumab. Additionally, as a monoclonal antibody, it will cost significantly more to manufacture pamrevlumab than it would for a typical small molecule drug.</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 near-term value drivers also include continued development and commercialization of roxadustat in the People&#8217;s Republic of China (&#8220;China&#8221;), Japan, Europe, and elsewhere. We continue to co-commercialize roxadustat in China with AstraZeneca AB (&#8220;AstraZeneca&#8221;) and develop roxadustat in China in chemotherapy-induced anemia (&#8220;CIA&#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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">After terminating (except for South Korea) our collaboration agreement with AstraZeneca for roxadustat for the treatment of anemia in the U.S. and all territories except for China and those territories previously licensed to Astellas Pharma Inc. (&#8220;Astellas&#8221;) (the &#8220;AstraZeneca U.S./RoW Agreement&#8221;) on February 23, 2024, we are currently investigating new licensing opportunities for roxadustat; however, there can be no assurance that we will find such a partner or be able to agree to a license on reasonable terms.</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 we continue to fulfill our mission to develop novel therapeutics, we are investing in new drug programs to expand our early oncology pipeline. While we see great potential value in our early development oncology pipeline, these programs are years away from commercialization, and the success of any development program is not guaranteed. Our biggest value drivers in the near term rely on the success of pamrevlumab Phase 3 trials and roxadustat commercialization.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug development and obtaining marketing authorization is a very difficult endeavor and we may ultimately be unable to obtain regulatory approval for our various product candidates in one or more jurisdictions and in one or more indications.</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 development, manufacturing, marketing, and selling of our products and product candidates are and will continue to be subject to extensive and rigorous review and regulation by numerous government authorities in the U.S. and in other countries where we intend to develop and, if approved, market any product candidates. Before obtaining regulatory approval for the commercial sale of any product candidate, we must demonstrate through extensive preclinical trials and clinical trials that the product candidate is safe and effective for use in each indication for which approval is sought.</span><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 drug development and approval processes are expensive and require substantial resources and time, and in general, very few product candidates that enter development ultimately receive regulatory approval. In addition, our collaboration partners for roxadustat have final control over development decisions in their respective territories and they may make decisions with respect to development or regulatory authorities that delay or limit the potential approval of roxadustat, or increase the cost of development or commercialization. Accordingly, we may be unable to successfully develop or commercialize any of our other product candidates in one or more indications and jurisdictions.</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: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;">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:10pt;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;">Moreover, for any clinical trial to support a New Drug Application (&#8220;NDA&#8221;)/Biologics License Application (&#8220;BLA&#8221;) submission for approval, the U.S. Food and Drug Administration (&#8220;FDA&#8221;) and foreign regulatory authorities require compliance with regulations and standards (including good clinical practices (&#8220;GCP&#8221;) requirements for designing, conducting, monitoring, recording, analyzing, and reporting the results of clinical trials) to ensure that (1) the data and results from trials are credible and accurate; and (2) that the rights, integrity and confidentiality of trial participants are protected. Although we rely on third parties to conduct our clinical trials, we as the sponsor remain responsible for ensuring that each of these clinical trials is conducted in accordance with its general investigational plan and protocol under legal and regulatory requirements, including GCP.</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;">Regulatory authorities may take actions or impose requirements that delay, limit or deny approval of our product candidates for many reasons, including, among others:</span></p>
  <div style="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.537%;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 failure to adequately demonstrate to the satisfaction of regulatory authorities or an independent advisory committee that our product candidate is safe and effective in a particular indication, or that such product candidate&#8217;s clinical and other benefits outweigh its safety risks;</span></div></div>
  <div style="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.537%;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 failure of clinical trials to meet the level of statistical significance required for approval;</span></div></div>
  <div style="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.537%;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 determination by regulatory authorities that additional information (including additional preclinical or clinical data or trials) is necessary to demonstrate the safety and efficacy of a product candidate, </span></div></div>
  <div style="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.537%;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;">disagreement over the design or implementation of our clinical trials;</span></div></div>
  <div style="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.537%;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 candidates exhibiting an unacceptable safety signal at any stage of development;</span></div></div>
  <div style="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.537%;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;">failure either by us or the clinical research organizations (&#8220;CROs&#8221;) or investigators that conduct clinical trials on our behalf, to comply with regulations or GCPs, clinical trial protocols, or contractual agreements, which may adversely impact our clinical trials;</span></div></div>
  <div style="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.537%;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;">disagreement over whether to accept results from clinical trial sites in a country where the standard of care is potentially different from that in the U.S.;</span></div></div>
  <div style="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.537%;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;">failure either by us or third-party contractors manufacturing our product candidates to maintain current good manufacturing practices (&#8220;cGMP&#8221;), successfully pass inspection, or meet other applicable manufacturing regulatory requirements;</span></div></div>
  <div style="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.537%;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;">requirements by regulatory authorities to exclude the use of patient data from unreliable clinical trials, or disagreement with our interpretation of the data from our preclinical trials and clinical trials; or</span></div></div>
  <div style="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.537%;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;">failure by collaboration partners to perform or complete their clinical programs in a timely manner, or at all.</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;">Any of these factors, many of which are beyond our control, could delay or jeopardize our or our collaboration partners&#8217; abilities to obtain regulatory approval for our product candidates in one or more indications.</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;">Even if we believe our clinical trials are successful, regulatory authorities may not agree that our completed clinical trials provide adequate data on safety or efficacy. Approval by one regulatory authority does not ensure approval by any other regulatory authority.</span><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;">Even if we do obtain regulatory approval, our product candidates may be approved for fewer or more limited indications than we request, approval may be contingent on the performance of costly post-marketing clinical trials, or approval may require labeling that does not include the labeling claims necessary or desirable for the successful commercialization of that product candidate. In addition, if our product candidates produce undesirable side effects or safety issues, the FDA may require the establishment of Risk Evaluation and Mitigation Strategy (or other regulatory authorities may require the establishment of a similar strategy), that may restrict distribution of our approved products, if any, and impose burdensome implementation requirements on 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Any of the foregoing scenarios could materially harm the commercial prospects for our product candidates.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Preclinical, Phase 1, and Phase 2 clinical trial results may not be indicative of the results that may be obtained in larger clinical trials.</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;">Clinical development is expensive and can take many years to complete, and its outcome is inherently uncertain. Failure can occur at any time during the clinical trial process. Success in preclinical and early clinical trials, which are often highly variable and use small sample sizes, may not be predictive of similar results in humans or in larger, controlled clinical trials, and successful results from clinical trials in one indication may not be replicated in other indications.</span><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;">Many companies in the pharmaceutical and biotechnology industries have suffered significant setbacks in late-stage clinical trials after achieving positive results in early-stage development, and we may face similar setbacks.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We do not know whether our ongoing or planned clinical trials will need to be redesigned based on interim results or if we will be able to achieve sufficient patient enrollment or complete planned clinical trials on schedule.</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;">Clinical trials can be delayed, suspended, or terminated by us, by the relevant institutional review boards at the sites at which such trials are being conducted, or by the FDA or other regulatory authorities, for a variety of reasons or factors, including:</span></p>
  <div style="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.537%;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;">delay or failure to address any physician or patient safety concerns that arise during the course of the trial, including unforeseen safety issues or adverse side effects, or a principal investigator&#8217;s determination that a serious adverse event could be related to our product candidates;</span></div></div>
  <div style="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.537%;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;">delay or failure to obtain required regulatory or institutional review board approval or guidance;</span></div></div>
  <div style="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.537%;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;">delay or failure to reach timely agreement on acceptable terms with prospective CROs and clinical trial sites;</span></div></div>
  <div style="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.537%;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;">delay or failure to recruit, enroll and retain patients through the completion of the trial;</span></div></div>
  <div style="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.537%;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;">patient recruitment, enrollment, or retention, clinical site initiation, or retention problems associated with civil unrest or military conflicts around the world;</span></div></div>
  <div style="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.537%;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;">delay or failure to maintain clinical sites in compliance with clinical trial protocols or to conduct the clinical trial in accordance with regulatory requirements or our clinical protocols;</span></div></div>
  <div style="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.537%;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;">delay or failure to initiate or add a sufficient number of clinical trial sites;</span></div></div>
  <div style="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.537%;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;">delay or failure to manufacture sufficient quantities of product candidate for use in clinical trials;</span></div></div>
  <div style="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.537%;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 enrolling a sufficient number of patients to conduct our clinical trials as planned;</span></div></div>
  <div style="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.537%;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;">inspection of the clinical trial operations or trial site by the FDA or other regulatory authorities resulting in the imposition of a clinical hold, warning letter, or other regulatory action; and</span></div></div>
  <div style="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.537%;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 laws or regulations.</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 particular, identifying and qualifying patients to participate in clinical trials of our product candidates is critical to our success. The timing of our clinical trials depends on the rate at which we can recruit and enroll patients in testing our product candidates. Patients may be unwilling to participate in clinical trials of our product candidates for a variety of reasons, some of which may be beyond our control, including:</span></p>
  <div style="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.537%;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;">severity of the disease under investigation;</span></div></div>
  <div style="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.537%;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;">availability of alternative treatments;</span></div></div>
  <div style="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.537%;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;">size and nature of the patient population;</span></div></div>
  <div style="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.537%;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;">eligibility criteria for and design of the study in question;</span></div></div>
  <div style="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.537%;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;">perceived risks and benefits of the product candidate under study;</span></div></div>
  <div style="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.537%;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;">ongoing clinical trials of competitive agents;</span></div></div>
  <div style="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.537%;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;">physicians&#8217; and patients&#8217; perceptions of the potential advantages of our product candidates being studied in relation to available therapies or other products under development;</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="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.537%;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 CRO&#8217;s and our trial sites&#8217; efforts to facilitate timely enrollment in clinical trials;</span></div></div>
  <div style="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.537%;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;">patient referral practices of physicians; and</span></div></div>
  <div style="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.537%;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;">ability to monitor patients and collect patient data adequately during and after treatment.</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;">Any delays in completing our clinical trials will increase the costs of the trial, delay the product candidate development and approval process and jeopardize our ability to commence marketing and generate revenues. Any of these occurrences may materially and adversely harm our business, operations, and prospects.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our product candidates may cause or have attributed to them undesirable side effects or have other properties that delay or prevent their regulatory approval or limit their commercial potential.</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;">Undesirable side effects caused by our product candidates or that may be identified as related to our product candidates by physician investigators conducting our clinical trials or even competing products in development that utilize a similar mechanism of action or act through a similar biological disease pathway could cause us or regulatory authorities to interrupt, delay or halt clinical trials and could result in the delay or denial of regulatory approval by the FDA or other regulatory authorities and potential product liability claims. If we determine that there is a likely causal relationship between a serious adverse event and our product candidate, and such safety event is material or significant enough, it may result in:</span></p>
  <div style="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.537%;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 clinical trial development plan becoming longer and more expensive;</span></div></div>
  <div style="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.537%;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;">terminating some of our clinical trials for the product candidates or specific indications affected;</span></div></div>
  <div style="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.537%;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;">regulatory authorities increasing the data and information required to approve our product candidates and imposing other requirements; and</span></div></div>
  <div style="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.537%;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 collaboration partners terminating our existing agreements.</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 occurrence of any or all of these events may cause the development of our product candidates to be delayed or terminated, which could materially and adversely affect our business and prospects.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Clinical trials of our product candidates may not uncover all possible adverse effects that patients may experience.</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;">Clinical trials are conducted in representative samples of the potential patient population, which may have significant variability. Pamrevlumab is being studied in patient populations that are at high risk of death and adverse events, and even if unrelated to pamrevlumab, adverse safety findings in these trials may limit its further development or commercial potential. Clinical trials are by design based on a limited number of subjects and of limited duration for exposure to the product used to determine whether, on a potentially statistically significant basis, the planned safety and efficacy of any product candidate can be achieved. As with the results of any statistical sampling, we cannot be sure that all side effects of our product candidates may be uncovered, and it may be the case that only with a significantly larger number of patients exposed to the product candidate for a longer duration, that a more complete safety profile is identified. Further, even larger clinical trials may not identify rare serious adverse effects or the duration of such studies may not be sufficient to identify when those events may occur. Patients treated with our products, if approved, may experience adverse reactions and it is possible that the FDA or other regulatory authorities may ask for additional safety data as a condition of, or in connection with, our efforts to obtain approval of our product candidates. If safety problems occur or are identified after our product candidates reach the market, we may, or regulatory authorities may require us to amend the labeling of our products, recall our products or even withdraw approval for our products.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If our manufacturers or we cannot properly manufacture the appropriate volume of product, we may experience delays in development, regulatory approval, launch or successful commercialization.</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;">Completion of our clinical trials and commercialization of our products require access to, or development of, facilities to manufacture and manage our product candidates at sufficient yields, quality and at commercial scale. Although we have entered into commercial supply agreements for roxadustat and pamrevlumab, we will need to enter into additional commercial supply agreements, including for backup or second source third-party manufacturers. We may not be able to enter into these agreements with satisfactory terms or on a timely manner. In addition, we may experience delays or technical problems associated with technology transfer of manufacturing processes to any new suppliers.</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: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;">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:10pt;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;">We have relatively limited experience manufacturing or managing third parties in manufacturing any of our product candidates in the volumes that are expected to be necessary to support large-scale clinical trials and sales. In addition, we have limited experience forecasting supply requirements or coordinating supply chain (including export and customs management) for launch or commercialization, which is a complex process involving our third-party manufacturers and logistics providers, and for roxadustat, our collaboration partners. We may not be able to accurately forecast supplies for commercial launch or do so in a timely manner and our efforts to establish these manufacturing and supply chain management capabilities may not meet our requirements as to quantities, scale-up, yield, cost, potency or quality in compliance with cGMP, particularly if the marketing authorization or market uptake is more rapid than anticipated or we have an unanticipated surge in demand.</span><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 limited amount of roxadustat and pamrevlumab in storage, limited capacity reserved at our third-party manufacturers, and, even if we have or are able to put sufficient supply agreements in place for our development and commercialization plan, there are long lead times required to manufacture and scale-up the manufacture of additional supply, as well as for raw materials and components for manufacture of our products, as required for both late-stage clinical trials, post-approval trials, and commercial supply. There is a general risk of delayed drug supply due to delays experienced by any third-party provider in the supply chain, including raw material and components suppliers, export and customs locations, and shipping companies. In addition, if we or a partner are not able to obtain regulatory approval of roxadustat in the U.S. in anemia associated with MDS, we may have excess supply manufactured in anticipation of commercialization. Such roxadustat excess supply could be wasted, for example, if it expires prior to being used in other clinical trials or prior to being used in other territories where such roxadustat formulation is approved. If we are unable to forecast, order or manufacture sufficient quantities of roxadustat or pamrevlumab on a timely basis, it may delay our development, launch or commercialization in some or all indications we are currently pursuing. Insufficient supply could be a particular risk if we were to obtain regulatory approval of pamrevlumab in the indications being studied (LAPC and metastatic pancreatic cancer). Any delay or interruption in the supply of our product candidates or products could have a material adverse effect on our business and 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 commercial drug product and the product we use for clinical trials must be produced under applicable cGMP regulations. Failure to comply with these regulations by us or our third-party manufacturers may require us to recall commercial product or repeat clinical trials, which would impact sales revenue and/or delay the regulatory approval 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:12pt;font-family:Times New Roman;margin-bottom: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 or our partners may add or change manufacturers, change our manufacturing processes, or change packaging specifications to accommodate changes in regulations, manufacturing equipment or to account for different processes at new or second source suppliers. Changes made to roxadustat or pamrevlumab including, but not limited to, demonstration of comparability to regulatory approved/ in approval products and processes, additional clinical trials, delays in development or commercialization, earlier expiration dates, shorter shelf life, or specification failures, may materially impact our operations and potential profitability.</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, and even an experienced third-party manufacturer, may encounter difficulties in production. Difficulties may include:</span></p>
  <div style="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.537%;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 and challenges associated with scale-up and attaining sufficient manufacturing yields, in particular for biologic products such as pamrevlumab, which is a monoclonal antibody;</span></div></div>
  <div style="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.537%;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;">contracting with additional suppliers and validation/qualification of additional facilities to meet growing demand;</span></div></div>
  <div style="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.537%;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;">supply chain issues, including coordination of multiple contractors in our supply chain and securing necessary licenses (such as export licenses);</span></div></div>
  <div style="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.537%;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 timely availability and shelf-life requirements of raw materials and supplies;</span></div></div>
  <div style="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.537%;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;">limited stability and product shelf life;</span></div></div>
  <div style="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.537%;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;">equipment maintenance issues or failure;</span></div></div>
  <div style="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.537%;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;">quality control and quality assurance issues;</span></div></div>
  <div style="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.537%;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;">shortages of qualified personnel and capital required to manufacture large quantities of product;</span></div></div>
  <div style="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.537%;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;">compliance with regulatory requirements that vary in each country where a product might be sold;</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="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.537%;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;">capacity or forecasting limitations and scheduling availability in contracted facilities;</span></div></div>
  <div style="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.537%;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, such as pandemics, floods, storms, earthquakes, tsunamis, and droughts, or accidents such as fire, that affect facilities, possibly limit or postpone production, and increase costs; and</span></div></div>
  <div style="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.537%;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;">failure to obtain license to proprietary starting materials.</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;">FibroGen may also elect to transition its manufacturing responsibilities to another party.  There may be risks underlying this manufacturing transition, as well as new risks that may emerge after the new organization takes over manufacturing, if that were to happen.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Regulatory authorities will do their own benefit risk analysis and may reach a different conclusion than we or our partners have, and these regulatory authorities may base their approval decision on different analyses, data, and statistical methods than ours.</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;">Even if we believe we have achieved positive clinical results, regulatory authorities conduct their own benefit-risk analysis and may reach different conclusions. Regulatory authorities may use, among other things, different statistical methods, different endpoints or definitions thereof, and different patient populations or sub-populations. For example, the Precision Promise study employs a Bayesian statistical methodology for analysis of the study primary endpoint, and while PanCAN consulted with the FDA regarding the study design and statistical methodology, there is a risk that the FDA may employ different statistical methodologies in their review, and may not view positive study results as sufficient for regulatory approval. Furthermore, while we may seek regulatory advice or agreement in key commercial markets prior to and after application for marketing authorization, regulatory authorities may change their approvability criteria based on the data, their internal analyses and external factors, including discussions with expert advisors. Regulatory authorities may approve one of our product candidates for fewer or more limited indications than we request or may grant approval contingent on the performance of costly post-approval clinical trials. In addition, even if we are able to provide positive data with respect to certain analyses, regulatory authorities may not include such claims on any approved labeling. The failure to obtain regulatory approval, or any label, population or other approval limitations in any jurisdiction, may significantly limit or delay our ability to generate revenues, and any failure to obtain such approval for all of the indications and labeling claims we deem desirable could reduce our potential revenue.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We face substantial competition in the discovery, development and commercialization of product candidates.</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 development and commercialization of new pharmaceutical products is highly competitive. Our future success depends on our ability and/or the ability of our collaboration partners to achieve and maintain a competitive advantage with respect to the development and commercialization of our product candidates. Our objective is to discover, develop and commercialize new products with superior efficacy, convenience, tolerability, and safety.</span><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 expect that in many cases, the products that we commercialize will compete with existing marketed products of companies that have large, established commercial organizations. We face competition from generics that could enter the market after expiry of our composition of matter patent. As of the end of 2023, the Chinese health authority has accepted abbreviated New Drug Applications for 19 generic roxadustat applicants.</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 will likely face competition from other companies developing products in the same diseases or indications in which we are developing or commercializing products. We will also face competition for patient recruitment and enrollment for clinical trials.</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 success of any or all of these potential competitive products may negatively impact the development and potential for success of our 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;min-width:fit-content;">Moreover, many of our competitors have significantly greater resources than we do. Large pharmaceutical companies have extensive experience, greater scale, and efficiency, in clinical testing, obtaining regulatory approvals, recruiting patients, manufacturing pharmaceutical products, and commercialization. If our collaboration partners and we are not able to compete effectively against existing and potential competitors, our business and financial condition may be materially and adversely affected.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our product candidates may not achieve adequate market acceptance among physicians, patients, healthcare payors, and others in the medical community necessary for commercial success.</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;">Even if our product candidates receive regulatory approval, they may not gain adequate market acceptance among physicians, patients, healthcare payors, and others in the medical community. Demonstrating safety and efficacy of our product candidates and obtaining regulatory approvals will not guarantee future revenue. The degree of market acceptance of any of our approved product candidates will depend on several factors, including:</span></p>
  <div style="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.537%;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 efficacy of the product candidate as demonstrated in clinical trials;</span></div></div>
  <div style="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.537%;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 safety profile and perceptions of safety of our product candidates relative to competitive products;</span></div></div>
  <div style="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.537%;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;">acceptance of the product candidate as a safe and effective treatment by healthcare providers and patients;</span></div></div>
  <div style="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.537%;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 clinical indications for which the product candidate is approved;</span></div></div>
  <div style="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.537%;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 and perceived advantages of the product candidate over alternative treatments, including any similar generic treatments;</span></div></div>
  <div style="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.537%;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 inclusion or exclusion of the product candidate from treatment guidelines established by various physician groups and the viewpoints of influential physicians with respect to the product candidate;</span></div></div>
  <div style="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.537%;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 cost of the product candidate relative to alternative treatments;</span></div></div>
  <div style="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.537%;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;">adequate pricing and reimbursement by third parties and government authorities as described below;</span></div></div>
  <div style="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.537%;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 relative convenience and ease of administration;</span></div></div>
  <div style="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.537%;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 frequency and severity of adverse events;</span></div></div>
  <div style="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.537%;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 effectiveness of sales and marketing efforts; and</span></div></div>
  <div style="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.537%;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 unfavorable publicity relating to the product candidate.</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, see the risk factor titled &#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;">Our product candidates may cause or have attributed to them undesirable side effects or have other properties that delay or prevent their regulatory approval or limit their commercial potential</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8221; above. If any product candidate is approved but does not achieve an adequate level of acceptance by such parties, we may not generate or derive sufficient revenue from that product candidate and may not become or remain profitable.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">No or limited reimbursement or insurance coverage of our approved products, by third-party payors may render our products less attractive to patients and healthcare providers.</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;">Market acceptance and sales of any approved products will depend significantly on reimbursement or coverage of our products by government or third-party payors and may be affected by existing and future healthcare reform measures or prices of related products for which the government or third-party reimbursement applies. Coverage and reimbursement by the government or a third-party payor may depend upon a number of factors, including the payor&#8217;s determination that use of a product is:</span></p>
  <div style="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.537%;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;">a covered benefit under applicable health plan;</span></div></div>
  <div style="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.537%;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;">safe, effective and medically necessary;</span></div></div>
  <div style="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.537%;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;">appropriate for the specific patient;</span></div></div>
  <div style="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.537%;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;">cost-effective; and</span></div></div>
  <div style="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.537%;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;">neither experimental nor investigational.</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: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;">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:10pt;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;">Obtaining coverage and reimbursement approval for a product from a government or other third-party payor is a time consuming and costly process that could require us to provide supporting scientific, clinical and cost-effectiveness data for the use of our products to the payor, which we may not be able to provide. Furthermore, the reimbursement policies of governments and third-party payors may significantly change in a manner that renders our clinical data insufficient for adequate reimbursement or otherwise limits the successful marketing of our products. Even if we obtain coverage for our product candidates, the pricing may be subject to re-negotiations or third-party payors may not establish adequate reimbursement amounts, which may reduce the demand for, or the price 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>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Reference pricing is used by various Europe member states and parallel distribution, or arbitrage between low-priced and high-priced member states, can further reduce prices. In some countries, our partner or we may be required to conduct a clinical trial or other studies that compare the cost-effectiveness of our product candidates to other available products in order to obtain or maintain reimbursement or pricing approval. Publication of discounts by third-party payors or authorities may lead to further pressure on the prices or reimbursement levels within the country of publication and other countries. If reimbursement of our products is unavailable or limited in scope or amount, or if pricing is set at unacceptable levels, our partner or we may elect not to commercialize our products in such countries, and our business and financial condition could be adversely affected.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Reliance on Third Parties</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 our collaborations were terminated or if our partners were unwilling or unable to contribute or participate in the collaborations, our ability to successfully develop and commercialize the relevant product candidate would suffer.</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 an Evaluation Agreement with Fortis Therapeutics, Inc. (&#8220;Fortis&#8221;) under which we rely, in part, on Fortis and its development partners, including UCSF, for the continued development of FOR46 (now referred to as &#8220;FG-3246&#8221;). While we control development of FG-3246 up to the 4-year evaluation period, we will be doing so under Fortis&#8217;s investigational new drug application. If Fortis were unable or unwilling to continue their development efforts, our ability to develop FG-3246 would be delayed.</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 rely on the Pancreatic Cancer Action Network (&#8220;PanCAN&#8221;) to run its Precision Promise</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Times New Roman;min-width:fit-content;">SM</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Phase 2/3 registration study in metastatic pancreatic cancer.  While this study includes pamrevlumab in combination with standard of care chemotherapy, PanCAN is the sponsor of the study and we do not run or control its conduct. Therefore, pamrevlumab&#8217;s success in this indication is highly dependent on PanCAN&#8217;s ability and willingness to run the Precision Promise study. Similarly, we depend on PanCAN to perform certain analyses of the study data and provide these to us to support the submission of a market authorization application to applicable regulatory authorities, if appropriate.</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;">While we have recently terminated the AstraZeneca U.S./RoW Agreement (except for South Korea), we have active collaboration agreements with respect to the development and commercialization of roxadustat with Astellas and with AstraZeneca in China and South Korea. These agreements provide for reimbursement of our development costs by our collaboration partners and also provide for the commercialization of roxadustat throughout the major territories of the world.</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 agreements with Astellas and AstraZeneca provide them with the right to terminate their agreements with us upon the occurrence of negative clinical results, delays in the development and commercialization of our product candidates or adverse regulatory requirements or guidance. In addition, each of those agreements provides our partners the right to terminate any of those agreements upon written notice for convenience. The termination of any of our collaboration agreements would require us to fund and perform the further development and commercialization of roxadustat in the affected territory or pursue another collaboration, which we may be unable to do, either of which could have an adverse effect on our business and operations. Moreover, if Astellas or AstraZeneca, or any successor entity, were to determine that their collaborations with us are no longer a strategic priority, or if either of them or a successor were to reduce their level of commitment to their collaborations with us, our ability to commercialize roxadustat could suffer.</span><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 instance, the AstraZeneca U.S./RoW Agreement was terminated on February 23, 2024 (except for South Korea). , Although our ongoing collaboration agreement with AstraZeneca for the development and commercialization of roxadustat for the treatment of anemia in China (the &#8220;AstraZeneca China Agreement&#8221;) continues in full force and is unaffected, this eliminates any additional potential milestones or other payments AstraZeneca would have made under the AstraZeneca U.S./RoW Agreement except for potentially in South Korea. Such payments were remote due to our withdrawal of the U.S. NDA for CKD anemia. And while we are now investigating new licensing opportunities for roxadustat, there can be no assurance that we will find such a partner or be able to agree to a license on reasonable terms.</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: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;">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:10pt;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, if our collaboration partners are unsuccessful in their commercialization efforts (particularly in Europe and China), our results will be negatively 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;">If we do not establish and maintain strategic collaborations related to our product candidates, we will bear all of the risk and costs related to the development and commercialization of any such product candidate, and we may need to seek additional financing, hire additional employees and otherwise develop expertise at significant cost. This in turn may negatively affect the development of our other product candidates as we direct resources to our most advanced product candidates.</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 conduct proprietary research programs in specific disease areas that are not covered by our collaboration agreements. Our pursuit of such opportunities could, however, result in conflicts with our collaboration partners in the event that any of our collaboration partners take the position that our internal activities overlap with those areas that are exclusive to our collaboration agreements. Moreover, disagreements with our collaboration partners could develop over rights to our intellectual property, including the enforcement of those rights. In addition, our collaboration agreements may have provisions that give rise to disputes regarding the rights and obligations of the parties. Any conflict with our collaboration partners could lead to the termination of our collaboration agreements, delay collaborative activities, reduce our ability to renew agreements or obtain future collaboration agreements, or result in litigation or arbitration and would negatively impact our relationship with existing collaboration partners, as well as potentially impacting our commercial 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Certain of our collaboration partners could also become our competitors in the future. If our collaboration partners develop competing products, fail to obtain necessary regulatory approvals, terminate their agreements with us prematurely, or fail to devote sufficient resources to the development and commercialization of our product candidates, the development and commercialization of our product candidates and products could be delayed.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If our preclinical and clinical trial contractors do not properly perform their agreed upon obligations, we may not be able to obtain or may be delayed in receiving regulatory approvals for our product candidates.</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 rely heavily on university, hospital, and other institutions and third parties, including the principal investigators and their staff, to carry out our clinical trials in accordance with our clinical protocols and designs. We also rely on a number of third-party CROs to assist in undertaking, managing, monitoring and executing our ongoing clinical trials. We expect to continue to rely on CROs, clinical data management organizations, medical institutions and clinical investigators to conduct our development efforts in the future. We compete with many other companies for the resources of these third parties, and other companies may have significantly more extensive agreements and relationships with such third-party providers, and such third-party providers may prioritize these relationships over ours. The third parties on whom we rely may terminate their engagements with us at any time, which may cause delay in the development and commercialization of our product candidates. If any such third party terminates its engagement with us or fails to perform as agreed, we may be required to enter into alternative arrangements, which would result in significant cost and delay to our product development program. Moreover, our agreements with such third parties generally do not provide assurances regarding employee turnover and availability, which may cause interruptions in the research on our product candidates by such third parties.</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;">Despite our reliance on third parties for certain development and management activities, such as clinical trials, we, as the sponsor, remain responsible for ensuring that these activities are conducted in accordance with the FDA and foreign regulatory authorities&#8217; investigational plans and protocols, including GCP requirements. Regulatory enforcement of GCP requirements can occur through periodic inspections of trial sponsors, principal investigators, and trial sites.</span><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 ensure the quality and accuracy of our data remains uncompromised and reliable, our third-party service providers must comply with applicable GCP requirements, regulations, protocols, and agreements. Failures to do so by such third-party partners, or needing to replace such third-party service providers, may delay, suspend or terminate development of our product candidates, result in exclusion of patient data from approval applications, or require additional clinical trials before approval of marketing applications. Such events may ultimately prevent regulatory approval for our product candidates on a timely basis, at a reasonable cost, or at all.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We currently rely, and expect to continue to rely, on third parties to conduct many aspects of our product manufacturing and distribution, and these third parties may terminate these agreements or not perform satisfactorily.</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 do not have operating manufacturing facilities at this time other than our roxadustat manufacturing facilities in China. We currently rely, and expect to continue to rely, on third parties to scale-up, manufacture and supply roxadustat and our other product candidates for drug product in Europe and other countries, and on our partner Astellas for drug product in Japan. We rely on third parties for distribution, including our collaboration partners and their vendors, except in China where we have established a jointly owned entity with AstraZeneca to manage most of the distribution in China. Risks arising from our reliance on third-party manufacturers include:</span></p>
  <div style="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.537%;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;">reduced control and additional burdens of oversight as a result of using third-party manufacturers and distributors for all aspects of manufacturing activities, including regulatory compliance and quality control and quality assurance;</span></div></div>
  <div style="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.537%;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;">termination of manufacturing agreements, termination fees associated with such termination, or nonrenewal of manufacturing agreements with third parties may negatively impact our planned development and commercialization activities;</span></div></div>
  <div style="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.537%;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;">significant financial commitments we may be required to make with third-party manufacturers for early-stage clinical or pre-clinical programs that may fail to produce scientific results that would justify further development (without the ability to mitigate the manufacturing investments);</span></div></div>
  <div style="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.537%;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 possible misappropriation of our proprietary technology, including our trade secrets and know-how; </span></div></div>
  <div style="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.537%;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;">disruptions to the operations of our third-party manufacturers, distributors or suppliers unrelated to our product, including the merger, acquisition, or bankruptcy of a manufacturer or supplier or a catastrophic event, affecting our manufacturers, distributors or suppliers; and</span></div></div>
  <div style="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.537%;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;">inability for FibroGen to meet timing and volume obligations to Astellas due to insufficient resources.</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;">Any of these events could lead to development delays or failure to obtain regulatory approval or affect our ability to successfully commercialize our product candidates. Some of these events could be the basis for action by the FDA or another regulatory authority, including injunction, recall, seizure or total or partial suspension of production.</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;">Considering we do not control our contract manufacturers&#8217; facilities and operations used to manufacture our product candidates, but are still responsible for cGMP adherence, if our contract manufacturers cannot successfully manufacture material that conforms to our or our collaboration partners&#8217; specifications, or the regulatory requirements, our development and commercialization plans and activities may be adversely affected. Although our longer-term agreements are expected to provide for requirements to meet our quantity and quality requirements (e.g., through audit rights) to manufacture our products candidates for clinical studies and commercial sale, we have limited or minimal direct control over the ability of our contract manufacturers to maintain adequate quality control, quality assurance and qualified personnel. If our contract manufacturers&#8217; facilities do not pass inspection, are not approved or have their approvals withdrawn by regulatory authorities, we would need to identify and qualify alternative manufacturing facilities, which would significantly impact our ability to develop, obtain regulatory approval for or market our products, if approved. Moreover, any failure of our third-party manufacturers, to comply with applicable regulations could result in legal sanctions/penalties being imposed on us or adverse regulatory consequences, which would be expected to significantly and adversely affect our product supplies.</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 any third-party manufacturers terminate their engagements with us or fail to perform as agreed, we may be required to identify, qualify, and contract with replacement manufacturers (including entering into technical transfer agreements to share know-how), which process may result in significant costs and delays to our development and commercialization programs.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may have shortfalls, delays, or excesses in manufacturing.</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 an initial commercial supply agreement for the manufacture of pamrevlumab with Samsung Biologics Co., Ltd. (&#8220;Samsung&#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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 made certain manufacturing commitments to Samsung, and there is a contractual risk we will not require the quantities of pamrevlumab we have committed to, particularly if we do not submit a Biologics License Application (&#8220;BLA&#8221;) for pamrevlumab. In addition, our product candidates and any products that we may develop may compete with other product candidates and products for access and prioritization to manufacture. Certain third-party manufacturers may be contractually prohibited from manufacturing our product due to non-compete agreements with our competitors or a commitment to grant another party priority relative to our products. There are a limited number of third-party manufacturers that operate under cGMP and that might be capable of manufacturing to meet our requirements. Due to the limited number of third-party manufacturers with the contractual freedom, expertise, required regulatory approvals and facilities to manufacture our products on a commercial scale, identifying and qualifying a replacement third-party manufacturer would be expensive and time-consuming and may cause delay or interruptions in the production of our product candidates or products, which in turn may delay, prevent or impair our development and commercialization efforts. We also carry the risk that we may need to pay termination fees to Samsung or other manufacturers in the event that we have to manufacture lower volumes or not at all depending on the results of our clinical trials. We may be subject to payments to Samsung to cover portions or all of the committed manufacturing campaigns even if we do not need the material for clinical or commercial usage. In addition, third-party manufacturers tend to change their upfront fees or postponement/cancelation fees over time or upon initiation of additional contracts, and this may lead to unanticipated financial loss for FibroGen.</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;">There may also be additional delays in importing or exporting products, intermediates, or raw materials between countries.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Certain components of our products are acquired from single-source suppliers or without long-term supply agreements. The loss of these suppliers, or their failure to supply, would materially and 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;">Entering into new long-term commercial supply arrangements on commercially reasonable terms, could take significant time or may not be possible. Although we have entered into long-term clinical and commercial supply arrangements for pamrevlumab, we currently rely on our contract manufacturers to purchase from third-party suppliers some of the materials necessary to produce our product candidates. We do not have direct control over the acquisition of those materials by our contract manufacturers.</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 logistics of our supply chain, which include shipment of materials and intermediates from countries such as China and India add additional time and risk (including risk of loss) to the manufacture of our product candidates. While we have in the past maintained sufficient inventory of materials, API, and drug product to meet our and our collaboration partners&#8217; needs to date, the lead-time and regulatory approvals required to source from and into countries outside of the U.S. increase the risk of delay and potential shortages of supply.</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, one of our suppliers, Catalent, was recently acquired by a private company, which could add additional risk to our ability to manufacture at such supplier, including entering into new or extended agreements with this supplier.</span></p>
  <p style="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-weight:bold;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 our efforts to protect our proprietary and exclusively licensed technologies are not adequate, we may not be able to compete effectively in our 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;">We rely upon a combination of patents, trade secret protection, and contractual arrangements to protect the intellectual property related to our technologies. We will only be able to protect our products and proprietary information and technology to the extent that our patents, trade secrets, contractual position, and governmental regulations and laws allow us to do so. Any unauthorized use or disclosure of our proprietary information or technology could compromise our competitive position. Moreover, we are, have been, and may in the future be involved in legal proceedings initiated by third parties involving our intellectual property, which proceedings can be associated with significant costs and commitment of management time and attention.</span><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 in the past been involved, and may in the future be involved, in initiating legal or administrative proceedings involving the product candidates and intellectual property of our competitors. These proceedings can result in significant costs and commitment of management time and attention, and there can be no assurance that our efforts would be successful in preventing or limiting the ability of our competitors to market competing products.</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: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;">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:10pt;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;">Composition-of-matter patents are generally considered the strongest form of intellectual property protection for pharmaceutical products, as such, patents provide protection not limited to any one method of use. Method-of-use patents protect the use of a product for the specified method(s), and do not prevent a competitor from making and marketing a product that is identical to our product for an indication that is outside the scope of the patented method. We rely on a combination of these and other types of patents to protect our product candidates, and there can be no assurance that our intellectual property will create and sustain the competitive position of our product candidates.</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;">Biotechnology and pharmaceutical product patents involve highly complex legal and scientific questions and can be uncertain. Any patent applications we own or license may fail to result in granted or issued patents. Even if patents do successfully issue from our applications, third parties may challenge their validity or enforceability, which may result in such patents being narrowed, invalidated, or held unenforceable. Even if our patents and patent applications are not challenged by third parties, those patents and patent applications may not prevent others from designing around our claims and may not otherwise adequately protect our product candidates. If the breadth or strength of protection provided by the patents and patent applications we hold with respect to our product candidates is threatened, generic manufacturers and competitors with significantly greater resources could threaten our ability to commercialize our product candidates.</span><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;">Intellectual property protecting our roxadustat product is either being challenged or will expire at various times in the coming years, raising the possibility of generic competition. The introduction of generic competition for a patented branded medicine typically results in a significant and rapid reduction in net sales and operating income for the branded product because generic manufacturers typically offer their unpatented versions at sharply lower prices. Such competition can occur after successful challenges to intellectual property rights or the regular expiration of the term of the patent or other intellectual property rights. Such competition can also result from a Declaration of Public Interest or the compulsory licensing of our drugs by governments, or from a general weakening of intellectual property laws in certain countries around the world. In addition, generic manufacturers sometimes take an aggressive approach to challenging intellectual property rights, including conducting so-called "launches at risk" of products that are still under legal challenge for infringement before final resolution of legal proceedings. In China, numerous generic manufacturers have filed abbreviated new drug applications (ANDAs) seeking marketing approval for generic versions of our EVRENZOTM product (&#29233;&#29790;&#21331;&#174;&#65039;, roxadustat). While we are taking steps to both defend our roxadustat patents and challenge these ANDA filers, the outcome is uncertain.</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;">Discoveries are generally published in the scientific literature well after their actual development, and patent applications in the U.S. and other countries are typically not published until 18 months after their filing, and in some cases are never published. Therefore, we cannot be certain that our licensors or we were the first to make the inventions claimed in our owned and licensed patents or patent applications, or that our licensors or we were the first to file for patent protection covering such inventions. Subject to meeting other requirements for patentability, for U.S. patent applications filed prior to March 16, 2013, the first to invent the claimed invention is entitled to receive patent protection for that invention while, outside the U.S., the first to file a patent application encompassing the invention is entitled to patent protection for the invention. The U.S. moved to a &#8220;first to file&#8221; system under the Leahy-Smith America Invents Act, effective March 16, 2013. This system also includes procedures for challenging issued patents and pending patent applications, which creates additional uncertainty. We have, are, and may again become involved in, opposition, invalidation, or interference proceedings challenging our patents and patent applications, or the patents and patent applications of others, and the outcome of any such proceedings are highly uncertain. An unfavorable outcome in any such proceedings could reduce the scope of or invalidate our patent rights, allow third parties to commercialize our technology and compete directly with us, or result in our inability to manufacture, develop or commercialize our product candidates without infringing the patent rights of others.</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 protection afforded by patents, we seek to rely on trade secret protection and confidentiality agreements to protect proprietary know-how, information, or technology that is not covered by our patents. Although our agreements require employees to acknowledge ownership by us of inventions conceived as a result of employment from the point of conception and, to the extent necessary, perfect such ownership by assignment, and we require employees, consultants, advisors and third parties who have access to our trade secrets, proprietary know-how and other confidential information and technology to enter into appropriate confidentiality agreements, we cannot be certain that our trade secrets, proprietary know-how and other confidential information and technology will not be subject to unauthorized disclosure, use, or misappropriation or that our competitors will not otherwise gain access to or independently develop substantially equivalent trade secrets, proprietary know-how and other information and technology. Furthermore, the laws of some foreign countries, in particular, China, where we have operations, do not protect proprietary rights to the same extent or in the same manner as the laws of the U.S. As a result, we may encounter significant problems in protecting and defending our intellectual property globally. If we cannot prevent unauthorized disclosure of our intellectual property related to our product candidates and technology to third parties, we may not establish or maintain a competitive advantage in our market, which could materially and adversely affect our business and operations.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intellectual property disputes may be costly, time consuming, and may negatively affect our competitive position.</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 commercial success may depend on our avoiding infringement of the patents and other proprietary rights of third parties as well as on enforcing our patents and other proprietary rights against third parties.</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 collaboration partners or we may be subject to patent infringement claims from third parties. We attempt to ensure that our product candidates do not infringe third-party patents and other proprietary rights. However, the patent landscape in competitive product areas is highly complex, and there may be patents of third parties of which we are unaware that may result in claims of infringement. Accordingly, there can be no assurance that our product candidates do not infringe proprietary rights of third parties, and parties making claims against us may seek and obtain injunctive or other equitable relief, which could potentially block further efforts to develop and commercialize our product candidates, including roxadustat, pamrevlumab or FG-3246. Any litigation involving defense against claims of infringement, regardless of the merit of such claims, would involve substantial litigation expense and would be a substantial diversion of management 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;">We may consider administrative proceedings and other means for challenging third-party patents and patent applications. An unfavorable outcome in any such challenge could require us to cease using the related technology and to attempt to license rights to it from the prevailing third party, which may not be available on commercially reasonable terms, if at all, in which case our business could be harmed.</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;">Third parties have challenged and may again challenge our patents and patent applications. In particular, patent challenges have been filed against our crystal form patents in Europe and China, and against our photostable formulations patent in Europe. While European Patent No. 2872488 (the &#8220;`488 Patent&#8221;), which claims the commercial crystalline form of roxadustat, was originally revoked in opposition, the decision is currently under appeal.  While both the `397 Patent and our European Patent No. 3003284 (the &#8220;`284 Patent&#8221;), which claims photostable formulations of roxadustat, were upheld in opposition, the opponents have appealed the decision in the `284 Patent and we anticipate the opponents will appeal the decision in the `397 Patent. In China, three roxadustat crystal form patents were revoked in first-round proceedings and two revocations were upheld on first appeal; however, all decisions currently remain on appeal. Final resolution of these proceedings in Europe and China will take time and we cannot be assured that these patents will survive these proceedings as originally granted or at all.</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;">Furthermore, there is a risk that any public announcements concerning the status or outcomes of intellectual property litigation or administrative proceedings may adversely affect the price of our stock. If securities analysts or our investors interpret such status or outcomes as negative or otherwise creating uncertainty, our common stock price may be adversely affected.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our reliance on third parties and agreements with collaboration partners requires us to share our trade secrets, which increases the possibility that a competitor may discover them or that our trade secrets will be misappropriated or disclosed.</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 reliance on third-party contractors to develop and manufacture our product candidates is based upon agreements that limit the rights of the third parties to use or disclose our confidential information, including our trade secrets and know-how. Despite the contractual provisions, the need to share trade secrets and other confidential information increases the risk that such trade secrets and information are disclosed or used, even if unintentionally, in violation of these agreements. In the highly competitive markets in which our product candidates are expected to compete, protecting our trade secrets, including our strategies for addressing competing products and generic competition, is imperative, and any unauthorized use or disclosure could impair our competitive position and may have a material adverse effect on our business and 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, our collaboration partners are larger, more complex organizations than ours, and the risk of inadvertent disclosure of our proprietary information may be increased despite their internal procedures and contractual obligations that we have in place with them. Despite our efforts to protect our trade secrets and other confidential information, a competitor&#8217;s discovery of such trade secrets and information could impair our competitive position and have an adverse impact on our business.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The cost of maintaining our patent protection is high and requires continuous review and diligence. We may not be able to effectively maintain our intellectual property position throughout the major markets of the world.</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 U.S. Patent and Trademark Office and foreign patent authorities require maintenance fees and payments as well as continued compliance with a number of procedural and documentary requirements. Noncompliance may result in abandonment or lapse of the subject patent or patent application, resulting in partial or complete loss of patent rights in the relevant jurisdiction. Non-compliance may result in reduced royalty payments for lack of patent coverage in a particular jurisdiction from our collaboration partners or may result in competition, either of which could have a material adverse effect on 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have made, and will continue to make, certain strategic decisions in balancing costs and the potential protection afforded by the patent laws of certain countries. As a result, we may not be able to prevent third parties from practicing our inventions in all countries throughout the world, or from selling or importing products made using our inventions in and into the U.S. or other countries. Third parties may use our technologies in territories in which we have not obtained patent protection to develop their own products and, further, may infringe our patents in territories which provide inadequate enforcement mechanisms, even if we have patent protection. Such third-party products may compete with our product candidates, and our patents or other intellectual property rights may not be effective or sufficient to prevent them from competing.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The laws of some foreign countries do not protect proprietary rights to the same extent as do the laws of the U.S., and we may encounter significant problems in securing and defending our intellectual property rights outside the U.S.</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;">Many companies have encountered significant problems in protecting and defending intellectual property rights in certain countries. The legal systems of certain countries do not always favor the enforcement of patents, trade secrets, and other intellectual property rights, particularly those relating to pharmaceutical and biotechnology products, which could make it difficult for us to stop infringement of our patents, misappropriation of our trade secrets, or marketing of competing products in violation of our proprietary rights. In China, our intended establishment of significant operations will depend in substantial part on our ability to effectively enforce our intellectual property rights in that country. Proceedings to enforce our intellectual property rights in foreign countries could result in substantial costs and divert our efforts and attention from other aspects of our business, and could put our patents in these territories at risk of being invalidated or interpreted narrowly, or our patent applications at risk of not being granted, and could provoke third parties to assert claims against us. We may not prevail in all legal or other proceedings that we may initiate and, if we were to prevail, the damages or other remedies awarded, if any, may not be commercially meaningful. Accordingly, our efforts to enforce our intellectual property rights around the world may be inadequate to obtain a significant commercial advantage from the intellectual property that we develop or license.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Intellectual property rights do not address all potential threats to any competitive advantage we may have.</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 degree of future protection afforded by our intellectual property rights is uncertain because intellectual property rights have limitations, and intellectual property rights may not adequately protect our business or permit us to maintain our competitive advantage. The following examples are illustrative:</span></p>
  <div style="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.537%;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;">Others may be able to make compounds or independently develop similar or alternative technologies that are the same as or similar to our current or future product candidates but that are not covered by the claims of the patents that we own or have exclusively licensed.</span></div></div>
  <div style="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.537%;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;">Patent protection on our product candidates may expire before we are able to develop and commercialize the product, or before we are able to recover our investment in the product.</span></div></div>
  <div style="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.537%;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 competitors might conduct research and development activities in the U.S. and other countries that provide a safe harbor from patent infringement claims for such activities, as well as in countries in which we do not have patent rights, and may then use the information learned from such activities to develop competitive products for sale in markets where we intend to market our product candidates.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The existence of counterfeit pharmaceutical products in pharmaceutical markets may compromise our brand and reputation and have a material adverse effect on our business, operations and prospects.</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;">Counterfeit products, including counterfeit pharmaceutical products, are a significant problem, particularly in China. Counterfeit pharmaceuticals are products sold or used for research under the same or similar names, or similar mechanism of action or product class, but which are sold without proper licenses or approvals, and are often lower cost, lower quality, different potency, or have different ingredients or formulations, and have the potential to damage the reputation for quality and effectiveness of the genuine product. Such products may be used for indications or purposes that are not recommended or approved or for which there is no data or inadequate data with regard to safety or efficacy. Such products divert sales from genuine products. If counterfeit pharmaceuticals illegally sold or used for research result in adverse events or side effects to consumers, we may be associated with any negative publicity resulting from such incidents. Consumers may buy counterfeit pharmaceuticals that are in direct competition with our pharmaceuticals, which could have an adverse impact on our revenues, business and results of operations. In addition, the use of counterfeit products could be used in non-clinical or clinical studies, or could otherwise produce undesirable side effects or adverse events that may be attributed to our products as well, which could cause us or regulatory authorities to interrupt, delay or halt clinical trials and could result in the delay or denial of regulatory approval by the FDA or other regulatory authorities and potential product liability claims. With respect to China, although the government has recently been increasingly active in policing counterfeit pharmaceuticals, there is not yet an effective counterfeit pharmaceutical regulation control and enforcement system in China. As a result, we may not be able to prevent third parties from selling or purporting to sell our products in China. The existence of and any increase in the sales and production of counterfeit pharmaceuticals, or the technological capabilities of counterfeiters, could negatively impact our revenues, brand reputation, business and results of operations.</span></p>
  <p style="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-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;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The regulatory approval process is highly uncertain and we may not obtain regulatory approval for our product candidates.</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 time required to obtain approval by the FDA and comparable foreign regulatory authorities is unpredictable, but typically takes many years following the commencement of preclinical studies and clinical trials and depends upon numerous factors, including the substantial discretion of the regulatory authorities. In addition, approval policies, regulations, or the type and amount of clinical data necessary to gain approval may change during the course of a product candidate&#8217;s clinical development and may vary among jurisdictions.  It is possible that roxadustat will not obtain regulatory approval in additional countries or indications. It is possible that our other product candidates we may discover, in-license or acquire and seek to develop in the future, will not obtain regulatory approval in any particular jurisdiction.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our current and future relationships with customers, physicians, and third-party payors are subject to healthcare fraud and abuse laws, false claims laws, transparency laws, and other regulations. If we are unable to comply with such laws, we could face substantial penalties.</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 current and future relationships with customers, physicians, and third-party payors are subject to health care laws and regulations, which may constrain the business or financial arrangements and relationships through which we research, as well as, sell, market and distribute any products for which we obtain marketing approval. If we obtain approval in the U.S. for any of our product candidates, the regulatory requirements applicable to our operations, in particular our sales and marketing efforts, will increase significantly with respect to our operations and the potential for administrative, civil and criminal enforcement by the federal government and the states and foreign governments will increase with respect to the conduct of our business. The laws that may affect our operations in the U.S. include: the federal Anti-Kickback Statute; federal civil and criminal false claims laws and civil monetary penalty laws; the Health Insurance Portability and Accountability Act, including as amended by Health Information Technology for Economic and Clinical Health Act, and its implementing regulations; the federal physician sunshine requirements under the Patient Protection and Affordable Care Act, as amended by the Health Care and Education Reconciliation Act; and the Trade Agreement Act. In addition, foreign and state law equivalents of each of the above federal laws that may apply to items or services reimbursed by any third-party payor, including commercial insurers; state laws that require pharmaceutical companies to comply with the pharmaceutical industry&#8217;s voluntary compliance guidelines and the applicable compliance guidance promulgated by the federal government, or otherwise restrict payments that may be made to healthcare providers and other potential referral sources; state laws that require drug manufacturers to report information related to payments and other transfers of value to physicians and other healthcare providers or marketing expenditures; and state laws governing the privacy and security of health information in certain circumstances.</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: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;">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:10pt;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;">If our operations are found to be in violation of any of such laws or any other governmental regulations that apply to us, we may be subject to significant penalties, including administrative, civil and criminal penalties, damages, fines, imprisonment, disgorgement, the curtailment or restructuring of our operations, the exclusion from participation in federal and state healthcare programs and imprisonment, any of which could materially adversely affect our ability to operate our business and our financial results.</span><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;">Even if resolved in our favor, litigation or other legal proceedings relating to healthcare laws and regulations may cause us to incur significant expenses and could distract our technical and management personnel from their normal responsibilities. In addition, there could be public announcements of the results of hearings, motions or other interim proceedings or developments. Such actions could have a substantial adverse effect on the price of our common shares and could have a material adverse effect on our operations.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We are subject to stringent and evolving U.S. and foreign laws, regulations, rules, contractual obligations, industry standards, policies and other obligations related to data privacy and security. Our actual or perceived failure to comply with such obligations could lead to regulatory investigations or actions; litigation (including class claims) and mass arbitration demands; fines and penalties; disruptions of our business operations; reputational harm; loss of revenue or profits; and other adverse business consequences</span><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;">In the ordinary course of business, we collect, receive, store, process, generate, use, transfer, disclose, make accessible, protect, secure, dispose of, transmit, and share confidential, proprietary, and sensitive information, including personal data, business data, trade secrets, intellectual property, information we collect about trial participants in connection with clinical trials, sensitive third-party data, business plans, transactions, and financial 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;">Our data processing activities may subject us to numerous data privacy and security obligations, such as various laws, regulations, guidance, industry standards, external and internal privacy and security policies, contractual requirements, and other obligations relating to data privacy and security.</span><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 the U.S., there are State data privacy and security laws, including data breach notification laws, personal data privacy laws, consumer protection laws (e.g., Section 5 of the Federal Trade Commission Act), and the Federal Health Insurance Portability and Accountability Act, and other similar laws (e.g., wiretapping laws). For example, the California Consumer Privacy Act of 2018, as amended by the California Privacy Rights Act of 2020 (collectively, &#8220;CCPA&#8221;) applies to personal data of consumers, business representatives, and employees, and requires businesses to provide specific disclosures in privacy notices and honor requests of California residents to exercise certain privacy rights. The CCPA provides for civil penalties of up to $7,500 per violation and allows private litigants affected by certain data breaches to recover significant statutory damages. In addition, the California Privacy Rights Act of 2020 expands the CCPA&#8217;s requirements, including by adding a new right for individuals to correct their personal data and establishing a new regulatory agency to implement and enforce the law. Although the CCPA exempts some data processed in the context of clinical trials, the CCPA increases compliance costs and potential liability. Similar laws are being considered in several other states, as well as at the federal and local levels, and we expect more states to pass similar laws in the future. These developments further complicate compliance efforts, and increase legal risk and compliance costs for us and the third parties upon whom we rely.</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;">Outside the U.S., laws, regulations, and industry standards govern data privacy and security. For example, the European Union&#8217;s General Data Protection Regulation (&#8220;GDPR&#8221;), the United Kingdom (&#8220;UK&#8217;s) GDPR, Brazil&#8217;s General Data Protection Law (Lei Geral de Prote&#231;&#227;o de Dados Pessoais) (Law No. 13,709/2018), and China&#8217;s Personal Information Protection Law (&#8220;PIPL&#8221;) impose strict requirements for processing personal data, including health-related information. For example, under the European Union GDPR, companies may face fines of up to 20 million Euros or 4% of annual global revenue, whichever is greater; or private litigation related to processing of personal data brought by classes of data subjects or consumer protection organizations authorized at law to represent their interests. We also target customers in Asia and have operations in China and are subject to new and emerging data privacy regimes in Asia, including China&#8217;s PIPL, Japan&#8217;s Act on the Protection of Personal Information, and Singapore&#8217;s Personal Data Protection Act.</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 there are currently various mechanisms that may be used to transfer personal data from the EEA and UK to the U.S. in compliance with law, such as the EEA and UK&#8217;s standard contractual clauses, the UK&#8217;s International Data Transfer Agreement / Addendum, and the EU-U.S. Data Privacy Framework and the UK extension thereto, these mechanisms are subject to legal challenges and there is no assurance that we can satisfy or rely on these measures to lawfully transfer personal data to the United States. If there is no lawful manner for us to transfer personal data from the EEA, the UK or other jurisdictions to the United States, or if the requirements for a legally-compliant transfer are too onerous, we could face significant adverse consequences. Additionally, companies that transfer personal data out of the EEA and UK to other jurisdictions are subject to scrutiny from regulators, individual litigants, and activities groups.</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: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;">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:10pt;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;">Our employees and personnel could use generative artificial intelligence (&#8220;AI&#8221;) technologies to perform certain work, and the disclosure and use of personal data in generative AI technologies is subject to various privacy laws and other privacy obligations. Governments have passed and are likely to pass additional laws regulating generative AI. Our use of this technology could result in additional compliance costs, regulatory investigations and actions, and lawsuits.</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 also bound by contractual obligations related to data privacy and security, and our efforts to comply with such obligations may not be successful. We publish privacy policies, marketing materials and other statements, regarding data privacy and security. If these policies, materials or statements are found to be deficient, lacking in transparency, deceptive, unfair, or misrepresentative of our practices, we may be subject to investigation, enforcement actions by regulators or other adverse consequences.</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;">Preparing for and complying with these obligations requires us to devote resources and may necessitate changes to our services, information technologies, systems, and practices and to those of any third parties that process personal data on our behalf.</span><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;">If we or the third parties on which we rely fail, or are perceived to have failed, to address or comply with applicable data privacy and security obligations, we could face significant consequences, including but not limited to: government enforcement actions (e.g., investigations, fines, penalties, audits, inspections, and similar); litigation (including class-action claims); additional reporting requirements and/or oversight; bans on processing personal data; and orders to destroy or not use personal data. Any of these events could have a material adverse effect on our reputation, business, or financial condition, including but not limited to: loss of customers; interruptions or stoppages in our business operations including clinical trials; inability to process personal data or to operate in certain jurisdictions; limited ability to develop or commercialize our products; expenditure of time and resources to defend any claim or inquiry; adverse publicity; or substantial changes to our business model or 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:18pt;font-family:Times New Roman;margin-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 laws and regulations governing corruption, which require us to maintain costly compliance 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;">We must comply with a wide range of laws and regulations to prevent corruption, bribery, and other unethical business practices, including the U.S. Foreign Corrupt Practices Act (&#8220;FCPA&#8221;), anti-bribery and anti-corruption laws in other countries, particularly China. The implementation and maintenance of compliance programs is costly and such programs may be difficult to enforce, particularly where reliance on third parties is required.</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;">Compliance with these anti-bribery laws is expensive and difficult, particularly in countries in which corruption is a recognized problem. In addition, the anti-bribery laws present particular challenges in the pharmaceutical industry because in many countries including China, hospitals are state-owned or operated by the government, and doctors and other hospital employees are considered foreign government officials. Furthermore, in certain countries (China in particular), hospitals and clinics are permitted to sell pharmaceuticals to their patients and are primary or significant distributors of pharmaceuticals. Certain payments to hospitals in connection with clinical studies, procurement of pharmaceuticals and other work have been deemed to be improper payments to government officials that have led to vigorous anti-bribery law enforcement actions and heavy fines in multiple jurisdictions, particularly in the U.S. and China.</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;">It is not always possible to identify and deter violations, and the precautions we take to detect and prevent this activity may not be effective in controlling unknown or unmanaged risks or losses or in protecting us from governmental investigations or other actions or lawsuits stemming from a failure to be in compliance with such laws or regulations.</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 pharmaceutical industry, corrupt practices include, among others, acceptance of kickbacks, bribes or other illegal gains or benefits by the hospitals and medical practitioners from pharmaceutical manufacturers, distributors or their third-party agents in connection with the prescription of certain pharmaceuticals. If our employees, partners, affiliates, subcontractors, distributors or third-party marketing firms violate these laws or otherwise engage in illegal practices with respect to their sales or marketing of our products or other activities involving our products, we could be required to pay damages or heavy fines by multiple jurisdictions where we operate, which could materially and adversely affect our financial condition and results of operations. The Chinese government has also sponsored anti-corruption campaigns from time to time, which could have a chilling effect on any future marketing efforts by us to new hospital customers. There have been recent occurrences in which certain hospitals have denied access to sales representatives from pharmaceutical companies because the hospitals wanted to avoid the perception of corruption. If this attitude becomes widespread among our potential customers, our ability to promote our products to hospitals may be adversely affected.</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: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;">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:10pt;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;">Considering our current presence and potential expansion in international jurisdictions, the creation, implementation, and maintenance of anti-corruption compliance programs is costly and such programs are difficult to enforce, particularly where reliance on third parties is required. Violation of the FCPA and other anti-corruption laws can result in significant administrative and criminal penalties for us and our employees, including substantial fines, suspension or debarment from government contracting, prison sentences, or even the death penalty in extremely serious cases in certain countries. The U.S. Securities and Exchange Commission (&#8220;SEC&#8221;) also may suspend or bar us from trading securities on U.S. exchanges for violation of the FCPA&#8217;s accounting provisions. Even if we are not ultimately punished by government authorities, the costs of investigation and review, distraction of our personnel, legal defense costs, and harm to our reputation could be substantial and could limit our profitability or our ability to develop or commercialize our product candidates. In addition, if any of our competitors are not subject to the FCPA, they may engage in practices that will lead to their receipt of preferential treatment from foreign hospitals and enable them to secure business from foreign hospitals in ways that are unavailable to us.</span></p>
  <p style="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-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 control, it may result in material misstatements in our financial statements.</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 management is responsible for establishing and maintaining adequate internal control over financial reporting and for evaluating and reporting on the effectiveness of our system of internal control. Our internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of our financial reporting and the preparation of financial statements for external reporting purposes in accordance with generally accepted accounting principles. As a public company, we are required to comply with the Sarbanes-Oxley Act and other rules that govern public companies.</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;">Efforts required to remediate an ineffective system of control over financial reporting may place a significant burden on management and add increased pressure on our financial resources and processes. Moreover, we implemented an enterprise resource planning (&#8220;ERP&#8221;) system in the first quarter of 2023, which replaced our existing operating and financial systems, to improve the efficiency of certain financial and transactional processes. However, there is an increased risk that changing controls may be ineffective during the implementation and this ERP system may place additional burdens on employees to learn and adapt our processes to effectively operate under the ERP system. If the ERP system does not operate as intended, the effectiveness of our internal control over financial reporting could be negatively impacted. If we experience material weaknesses or otherwise fail to maintain an effective system of internal control over financial reporting, the accuracy and timing of our financial reporting and subsequently our liquidity and our access to capital markets may be adversely affected, we may be unable to maintain or regain compliance with applicable securities laws and the Nasdaq Stock Market LLC listing requirements, we may be subject to regulatory investigations and penalties, investors may lose confidence in our financial reporting, and our stock price may decline.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The impact of U.S. healthcare reform may adversely affect our business model.</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 the U.S. and some foreign jurisdictions, there have been, and continue to be, several legislative and regulatory changes and proposed changes regarding the healthcare system that could affect our operations. In particular, the commercial potential for our approved products could be affected by changes in healthcare spending and policy in the U.S. and abroad. We operate in a highly regulated industry and new laws, regulations or judicial decisions, or new interpretations of existing laws, regulations, or decisions, related to healthcare availability, the method of delivery or payment for healthcare products and services could negatively impact our business, operations and financial condition.</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: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;">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:10pt;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;">Further, in the U.S. there has been heightened governmental scrutiny over the manner in which manufacturers set prices for their marketed products, which has resulted in several presidential executive orders, Congressional inquiries and proposed and enacted federal and state legislation designed to, among other things, bring more transparency to drug pricing, reduce the cost of prescription drugs under government payor programs, and review the relationship between pricing and manufacturer patient programs. For example, in July 2021, the Biden administration released an executive order that included multiple provisions aimed at prescription drugs. In response to Biden&#8217;s executive order, on September 9, 2021, the U.S. Department of Health and Human Services (&#8220;HHS&#8221;) released a Comprehensive Plan for Addressing High Drug Prices that outlines principles for drug pricing reform. The plan sets out a variety of potential legislative policies that Congress could pursue as well as potential administrative actions HHS can take to advance these principles. In addition, on August 16, 2022, President Biden signed the Inflation Reduction Act of 2022 (&#8220;IRA&#8221;) into law, which among other things, extends enhanced subsidies for individuals purchasing health insurance coverage in Affordable Care Act marketplaces through plan year 2025. The IRA also eliminates the &#8220;donut hole&#8221; under the Medicare Part D program beginning in 2025 by significantly lowering the beneficiary maximum out-of-pocket cost and creating a new manufacturer discount program. Further, the IRA (1) directs HHS to negotiate the price of certain single-source drugs or biologics covered under Medicare, and (2) imposes rebates under Medicare Part B and Medicare Part D to penalize price increases that outpace inflation. These provisions take effect progressively starting in fiscal year 2023, although the Medicare drug price negotiation program is currently subject to legal challenges. HHS has and will continue to issue and update guidance as these programs are implemented. It is currently unclear how the IRA will be implemented but is likely to have a significant impact on the pharmaceutical industry. Further, on February 14, 2023, HHS released a report outlining three new models for testing by the Centers for Medicare &amp; Medicaid (&#8220;CMS&#8221;) Innovation Center which will be evaluated on their ability to lower the cost of drugs, promote accessibility, and improve quality of care. It is unclear whether the models will be utilized in any health reform measures in the future. Further, on December 7, 2023, the Biden administration announced an initiative to control the price of prescription drugs through the use of march-in rights under the Bayh-Dole Act. On December 8, 2023, the National Institute of Standards and Technology published for comment a Draft Interagency Guidance Framework for Considering the Exercise of March-In Rights which for the first time includes the price of a product as one factor an agency can use when deciding to exercise march-in rights. While march-in rights have not previously been exercised, it is uncertain if that will continue under the new framework. At the state level, individual states are increasingly aggressive in passing legislation and implementing regulations designed to control pharmaceutical and biological 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.</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 expect that additional state and federal healthcare reform measures will be adopted in the future, any of which could limit the amounts that federal and state governments will pay for healthcare products and services, which could result in reduced demand for our products if approved or additional pricing pressures, or otherwise adversely affect our business.</span><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:18pt;font-family:Times New Roman;margin-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;">Roxadustat is considered a Class 2 substance on the 2019 World Anti-Doping Agency Prohibited List that could limit sales and increase security and distribution costs for our partners and us.</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;">Roxadustat is considered a Class 2 substance on the World Anti-Doping Agency Prohibited List. There are enhanced security and distribution procedures we and our collaboration partners and third-party contractors will have to take to limit the risk of loss of product in the supply chain. As a result, our distribution, manufacturing and sales costs for roxadustat, as well as for our partners, will be increased which will reduce profitability. In addition, there is a risk of reduced sales due to patient access to this drug.</span><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:18pt;font-family:Times New Roman;margin-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 employees may engage in misconduct or improper activities, which could result in significant liability or harm 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;">We are exposed to the risk of employee fraud or other misconduct, including intentional failure 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="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.537%;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;">comply with FDA regulations or similar regulations of comparable foreign regulatory authorities; </span></div></div>
  <div style="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.537%;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 accurate information to the FDA or comparable foreign regulatory authorities; </span></div></div>
  <div style="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.537%;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;">comply with manufacturing standards we have established; </span></div></div>
  <div style="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.537%;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;">comply with data privacy and security laws protecting personal data;</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="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.537%;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;">comply with federal and state healthcare fraud and abuse laws and regulations and similar laws and regulations established and enforced by comparable foreign regulatory authorities; </span></div></div>
  <div style="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.537%;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;">comply with the FCPA and other anti-bribery laws; </span></div></div>
  <div style="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.537%;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;">report financial information or data accurately; or</span></div></div>
  <div style="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.537%;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;">disclose unauthorized activities to us.</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;">Employee misconduct could also involve the improper use of information obtained in the course of clinical trials, which could result in regulatory sanctions, delays in clinical trials, or serious harm to our reputation. We have adopted a code of conduct for our directors, officers and employees, but it is not always possible to identify and deter employee misconduct. The precautions we take to detect and prevent this activity may not be effective in protecting us from the negative impacts of governmental investigations or other actions or lawsuits stemming from a failure to be in compliance with such laws or regulations. An unfavorable outcome or settlement in connection with a governmental investigation or other action or lawsuit may result in a material adverse impact on our business, results of operations, financial condition, prospects, and stock price. Regardless of the outcome, litigation and governmental investigations can be costly, time-consuming, and disruptive to our business, results of operations, financial condition, reputation, and prospects.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If we fail to comply with environmental, health or safety laws and regulations, we could incur fines, penalties or other 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;">We are subject to numerous environmental, health and safety laws and regulations, including those governing laboratory procedures and the handling, use, storage, treatment and disposal of hazardous materials and wastes. Our operations involve the use of hazardous and flammable materials, including chemicals and biological materials. Our operations also produce hazardous waste products. We contract with third parties for the disposal of these materials and wastes. We cannot eliminate the risk of contamination or injury from these materials. In the event of contamination or injury resulting from our use of hazardous materials, we could be held liable for any resulting damages, and any liability could exceed our resources. We also could incur significant costs associated with civil or criminal fines and penalties for failure to comply with such laws and regulations. We do not maintain insurance for environmental liability or toxic tort claims that may be asserted against us in connection with our storage or disposal of biological, hazardous or radioactive materials.</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 may incur substantial costs in order to comply with current or future environmental, health and safety laws and regulations applicable to our operations in the U.S. and foreign countries. These current or future laws and regulations may impair our research, development or manufacturing efforts. Our failure to comply with these laws and regulations also may result in substantial fines, penalties or other sanctions.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our International 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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We have established operations in China and are seeking approval to commercialize our product candidates outside of the U.S., and a number of risks associated with international operations could materially and 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;">A number of risks related to our international operations, many of which may be beyond our control, include: different regulatory requirements in different countries, including for drug approvals, manufacturing, and distribution; potential liability resulting from development work conducted by foreign distributors; economic weakness, including inflation, or foreign currency fluctuations, which could result in increased operating costs and expenses and reduced revenues, and other obligations incident to doing business in another country; workforce uncertainty in countries where labor unrest is more common than in the U.S.; compliance with tax, employment, immigration and labor laws for employees living or traveling abroad; political instability in particular foreign economies and markets; and business interruptions resulting from geopolitical actions specific to an international region, including war and terrorism, or natural disasters, including pandemics.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The pharmaceutical industry in China is highly regulated and such regulations are subject to change.</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 pharmaceutical industry in China is subject to comprehensive government regulation and supervision, encompassing the approval, registration, manufacturing, packaging, licensing and marketing of new drugs. In recent years, many aspects of pharmaceutical industry regulation have undergone significant reform, and reform may continue. For example, the Chinese government implemented regulations that impact distribution of pharmaceutical products in China, where at most two invoices may be issued throughout the distribution chain, a change that required us to change our distribution paradigm. Any regulatory changes or amendments may result in increased compliance costs to our business or cause delays in or prevent the successful development or commercialization of our product candidates in China. Any failure by us or our partners to maintain compliance with applicable laws and regulations or obtain and maintain required licenses and permits may result in the suspension or termination of our business activities in China.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The China-operations portion of our audit is conducted by PricewaterhouseCoopers Zhong Tian LLP, an independent registered public accounting firm headquartered in China.</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 majority of audit work incurred for the audit report included in the 2023 Form 10-K was performed by the U.S.-based independent registered public accounting firm we have retained, PricewaterhouseCoopers LLP, which is headquartered in the U.S. and was not identified in the report issued by the PCAOB on December 16, 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;">However, we estimate that between 20% and 30% of the total audit hours for our December 31, 2023 audit were provided by PricewaterhouseCoopers Zhong Tian LLP located in China.</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 18, 2020, the Holding Foreign Companies Accountable Act (the &#8220;HFCAA&#8221;) was signed into law. The HFCAA requires that the SEC identify issuers that retain an auditor that has a branch or office that is located in a foreign jurisdiction and that the PCAOB determines it is unable to inspect or investigate completely because of a position taken by an authority in that foreign jurisdiction. Among other things, the HFCAA requires the SEC to prohibit the securities of any issuer from being traded on any of the U.S. national securities exchanges, such as The Nasdaq Global Select Market, or on the U.S. &#8220;over-the-counter&#8221; markets, if the auditor of the issuer&#8217;s financial statements is not subject to PCAOB inspections for three consecutive &#8220;non-inspection&#8221; years after the law became effective (such period further reduced to two years by the enactment of the Accelerating Holding Foreign Companies Accountable Act (the &#8220;AHFCAA&#8221;) on December 29, 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;">The HFCAA does not apply to registrants that retain a principal accountant that is headquartered in the U.S. and subject to PCAOB inspection. On December 2, 2021, the SEC adopted final amendments to its rules implementing the HFCAA and established procedures to identify issuers and prohibit the trading of the securities of certain registrants as required by the HFCAA. This rule stated that only the principal accountant, as defined by Rule 2-05 of Regulation S-X and PCAOB AS 1205, is &#8220;deemed &#8216;retained&#8217; for purposes of Section 104(i) of the Sarbanes-Oxley Act and the Commission&#8217;s determination of whether the registrant should be a Commission Identified Issuer.&#8221; The principal accountant, as defined, that we have retained is PricewaterhouseCoopers LLP. Accordingly, the HFCAA does not currently apply 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Although the PCAOB issued a report on December 16, 2021 on its determination that it was unable to inspect or investigate completely PCAOB-registered accounting firms headquartered in China and in Hong Kong, such as PricewaterhouseCoopers Zhong Tian LLP, on December 15, 2022, it announced that it was able to conduct inspections and investigations of such accounting firms in 2022 and vacated its previous 2021 determinations accordingly. While vacating those determinations, however, the PCAOB noted that, should it encounter any impediment to conducting an inspection or investigation of auditors in mainland China or Hong Kong as a result of a position taken by any authority there, the PCAOB would act to immediately reconsider the need to issue new determinations consistent with the HFCAA and PCAOB&#8217;s Rule 6100.</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;">Even though we currently view the likelihood to be remote, if our operations fundamentally change in a way that requires our independent registered public accounting firm be located in China or Hong Kong in order to comply with the standards of the PCAOB regarding principal auditor, then the HFCAA would apply to us, which consequences could include the potential delisting of our stock from the Nasdaq Global Select Market and prohibition from trading in the over-the counter market in the U.S. Such a restriction would negatively impact our ability to raise capital. Additionally, we cannot rule out the possibility that in the future Congress could amend the HFCAA or the SEC could modify its regulations to apply the restrictions, including trading prohibitions and delisting, under the HFCAA in situations in which an independent registered public accounting firm in China or Hong Kong performs part of the audit such as in our current situation.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Changes in U.S. and China relations, as well as relations with other countries, and/or regulations may adversely impact 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 U.S. government, including the SEC, has made statements and taken certain actions that have led to changes to U.S. and international relations, and will impact companies with connections to the U.S. or China, including imposing several rounds of tariffs affecting certain products manufactured in China, imposing certain sanctions and restrictions in relation to China, and issuing statements indicating enhanced review of companies with significant China-based operations. It is unknown whether and to what extent new legislation, executive orders, tariffs, laws or regulations will be adopted, or the effect that any such actions would have on companies with significant connections to the U.S. or to China, our industry or on us. We conduct contract manufacturing and development activities and have business operations both in the U.S. and China. Any unfavorable government policies on cross-border relations and/or international trade, including increased scrutiny on companies with significant China-based operations, capital controls or tariffs, may affect the competitive position of our drug products, the hiring of scientists and other research and development personnel, the demand for our drug products, the import or export of products and product components, our ability to raise capital, the market price of our common stock, or prevent us from commercializing and selling our drug products in certain countries.</span><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;">While we do not operate in an industry that is currently subject to foreign ownership limitations in China, China could decide to limit foreign ownership in our industry, in which case there could be a risk that we would be unable to do business in China as we are currently structured. In addition, our periodic reports and other filings with the SEC may be subject to enhanced review by the SEC and this additional scrutiny could affect our ability to effectively raise capital in the U.S.</span><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;">If any new legislation, executive orders, tariffs, laws and/or regulations are implemented, if existing trade agreements are renegotiated or if the U.S. or Chinese governments take retaliatory actions due to the recent U.S.-China tension, such changes could have an adverse effect on our business, financial condition and results of operations, our ability to raise capital and the market price of our common stock.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We use our own manufacturing facilities in China to produce roxadustat API and drug product for the market in China. There are risks inherent to operating commercial manufacturing facilities, and with these being our single source suppliers, we may not be able to continually meet market demand.</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 have two manufacturing facilities in China, with one located in Beijing and the other in Cangzhou, Hebei.</span><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 are obligated to comply with cGMP requirements but there can be no assurance that we will maintain all of the appropriate licenses required to manufacture our product candidates for clinical and commercial use in China. In addition to our product suppliers, we must continually spend time, money and effort in production, record-keeping and quality assurance and appropriate controls in order to ensure that any products manufactured in our facilities meet applicable specifications and other requirements for product safety, efficacy and quality but there can be no assurance that our efforts will continue to be successful in meeting these requirements.</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;">Manufacturing facilities in China are subject to periodic unannounced inspections by the National Medical Products Administration and other regulatory authorities. We expect to depend on these facilities for our product candidates and business operations in China, and we do not yet have a secondary source supplier for either roxadustat API or drug product in China. Consequently, we also carry single source supplier risk for all countries we or our partners are selling in, other than China. Natural disasters or other unanticipated catastrophic events, including power interruptions, water shortages, storms, fires, pandemics, earthquakes, terrorist attacks, government appropriation of our facilities, and wars, could significantly impair our ability to operate our manufacturing facilities. Certain equipment, records and other materials located in these facilities would be difficult to replace or would require substantial replacement lead-time that would impact our ability to successfully commercialize our product candidates in China.</span><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;">Further, the climate of geopolitical tensions in China affecting global supply chains may impact our ability to continually meet market demand. For example, certain U.S. lawmakers have encouraged sanctions and introduced legislation that could affect WuXi AppTec (Hong Kong) Limited, and our current supplier of FG-3246, WuXi Biologics (Hong Kong) Limited (&#8220;WuXi Biologics&#8221;) and companies that do business with WuXi Biologics.  While the current legislation does not affect our roxadustat supplier Shanghai SynTheAll Pharmaceutical Co., Ltd. (&#8220;WuXi STA&#8221;), there is a risk that FibroGen could face consequences from contracting with WuXi Biologics, could be forced to find an alternative supplier for FG-3246, and there is a risk that such legislation could expand to include WuXi STA. The occurrence of any such event could materially and adversely affect our business, financial condition, results of operations, cash flows and prospects.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may experience difficulties in successfully growing and sustaining sales of roxadustat in China.</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;">AstraZeneca and we have a profit-sharing arrangement with respect to roxadustat in China and any difficulties we may experience in growing and sustaining sales will affect our bottom line. Difficulties may be related to competition and our ability to maintain reasonable pricing and reimbursement, obtain and maintain hospital listing, or other difficulties related to distribution, marketing, and sales efforts in China. Roxadustat&#8217;s recent inclusion in the 2023 National Reimbursement Drug List came with a limited 7% price reduction. Such reimbursement pricing for China is effective for a standard two-year period (between January 1, 2024, and December 31, 2025). However, after four generics are approved in China, there is a substantial risk of being subject to the country&#8217;s volume-based purchasing program whereby a national tender could be called for roxadustat. If a tender is called for roxadustat, our access to the market as the originator drug would be significantly constrained and our price would be further reduced.</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 roxadustat in China may also be limited due to the complex nature of the healthcare system, low average personal income, pricing controls, still developing infrastructure, and potentially rapid competition from other 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:18pt;font-family:Times New Roman;margin-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 retail prices of any product candidates that we develop will be subject to pricing control in China and elsewhere.</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 price of pharmaceutical products is highly regulated in China, both at the national and provincial level. Price controls may reduce prices to levels significantly below those that would prevail in less regulated markets or limit the volume of products that may be sold, either of which may have a material and adverse effect on potential revenues from sales of roxadustat in China. Moreover, the process and timing for the implementation of price restrictions are unpredictable, which may cause potential revenues from the sales of roxadustat to fluctuate from period to period.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">FibroGen (China) Medical Technology Development Co., Ltd. (&#8220;FibroGen Beijing&#8221;) would be subject to restrictions on paying dividends or making other payments to us, which may restrict our ability to satisfy our liquidity 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;">We plan to conduct all of our business in China through FibroGen China Anemia Holdings, Ltd., FibroGen Beijing and its branch offices, and our joint venture distribution entity, Beijing Falikang Pharmaceutical Co., Ltd. (&#8220;Falikang&#8221;). We may in the future rely on dividends and royalties paid by FibroGen Beijing for a portion of our cash needs, including the funds necessary to service any debt we may incur and to pay our operating costs and expenses. The payment of dividends by FibroGen Beijing is subject to limitations. Regulations in China currently permit payment of dividends only out of accumulated profits as determined in accordance with applicable accounting standards and regulations in China. FibroGen Beijing is not permitted to distribute any profits until losses from prior fiscal years have been recouped and in any event must maintain certain minimum capital requirements. FibroGen Beijing is also required to set aside at least 10.0% of its after-tax profit based on Chinese accounting standards each year to its statutory reserve fund until the cumulative amount of such reserves reaches 50.0% of its registered capital. Statutory reserves are not distributable as cash dividends. In addition, if FibroGen Beijing incurs debt on its own behalf in the future, the agreements governing such debt may restrict its ability to pay dividends or make other distributions to us. As of December 31, 2023, approximately $32.1 million of our cash and cash equivalents is held in China.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Any capital contributions from us to FibroGen Beijing must be approved by the Ministry of Commerce in China, and failure to obtain such approval may materially and adversely affect the liquidity position of FibroGen Beijing.</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 Ministry of Commerce in China or its local counterpart must approve the amount and use of any capital contributions from us to FibroGen Beijing, and there can be no assurance that we will be able to complete the necessary government registrations and obtain the necessary government approvals on a timely basis, or at all. If we fail to do so, we may not be able to contribute additional capital or find suitable financing alternatives within China to fund our Chinese operations, and the liquidity and financial position of FibroGen Beijing may be materially and adversely affected.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may be subject to currency exchange rate fluctuations and currency exchange restrictions with respect to our operations in China as well as our partner</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8217;</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;">s operations in Japan and Europe, which could adversely affect our financial 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;">Most of our and our partner&#8217;s product sales will occur in local currency and our operating results will be subject to volatility from currency exchange rate fluctuations. To date, we have not hedged against the risks associated with fluctuations in exchange rates and, therefore, exchange rate fluctuations could have an adverse impact on our future operating results. Changes in the value of the Renminbi, Euro or Yen against the U.S. dollar and other currencies are affected by, among other things, changes in political and economic conditions. Any significant currency exchange rate fluctuations may have a material adverse effect on our business and financial condition.</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: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;">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:10pt;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, the Chinese government imposes controls on the convertibility of the Renminbi into foreign currencies and the remittance of foreign currency out of China for certain transactions. Shortages in the availability of foreign currency may restrict the ability of FibroGen Beijing to remit sufficient foreign currency to pay dividends or other payments to us, or otherwise satisfy their foreign currency-denominated obligations. Under existing Chinese foreign exchange regulations, payments of current account items, including profit distributions, interest payments and balance of trade, can be made in foreign currencies without prior approval from the State Administration of Foreign Exchange by complying with certain procedural requirements. However, approval from the State Administration of Foreign Exchange or its local branch is required where Renminbi is to be converted into foreign currency and remitted out of China to pay capital expenses such as the repayment of loans denominated in foreign currencies. The Chinese government may also at its discretion restrict access in the future to foreign currencies for current account transactions. If the foreign exchange control system prevents us from obtaining sufficient foreign currency to satisfy our operational requirements, our liquidity and financial position may be materially and adversely affected.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Because FibroGen Beijing&#8217;s funds are held in banks that do not provide insurance, the failure of any bank in which FibroGen Beijing deposits its funds 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;">Banks and other financial institutions in China do not provide insurance for funds held on deposit. As a result, in the event of a bank failure, FibroGen Beijing may not have access to funds on deposit. Depending upon the amount of money FibroGen Beijing maintains in a bank that fails, its inability to have access to cash could materially impair its operations.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may be subject to tax inefficiencies associated with our offshore corporate structure.</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 tax regulations of the U.S. and other jurisdictions in which we operate are extremely complex and subject to change. New laws, new interpretations of existing laws, such as the Base Erosion Profit Shifting project initiated by the Organization for Economic Co-operation and Development, and any legislation proposed by the relevant taxing authorities, or limitations on our ability to structure our operations and intercompany transactions may lead to inefficient tax treatment of our revenue, profits, royalties, and distributions, if any are achieved. For example, the Biden administration has proposed to increase the U.S. corporate income tax rate from 21%, increase the U.S. taxation of our international business operations and impose a global minimum tax, although the recently enacted Inflation Reduction Act of 2022 omitted to include any of these proposals but included only a minimum tax on certain large corporations and a tax on certain repurchases of stock on the corporations doing those repurchases. Such proposed changes, as well as regulations and legal decisions interpreting and applying these changes, may adversely impact our effective tax rate.</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 foreign subsidiaries and we have various intercompany transactions. We may not be able to obtain certain benefits under relevant tax treaties to avoid double taxation on certain transactions among our subsidiaries. If we are not able to avail ourselves to the tax treaties, we could be subject to additional taxes, which could adversely affect 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;">On December 22, 2017, the Tax Cuts and Jobs Act (Tax Act) was enacted which instituted various changes to the taxation of multinational corporations. Since inception, various regulations and interpretations have been issued by governing authorities and we continue to examine the impacts to our business, which could potentially have a material adverse effect on our business, results of operations or financial 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:18pt;font-family:Times New Roman;margin-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 foreign operations, particularly those in China, are subject to significant risks involving the protection of 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 seek to protect the products and technology that we consider important to our business by pursuing patent applications in China and other countries, relying on trade secrets or pharmaceutical regulatory protection or employing a combination of these methods. We note that the filing of a patent application does not mean that we will be granted a patent, or that any patent eventually granted will be as broad as requested in the patent application or will be sufficient to protect our technology. There are a number of factors that could cause our patents, if granted, to become invalid or unenforceable or that could cause our patent applications not to be granted, including known or unknown prior art, deficiencies in the patent application, or lack of originality of the technology. Furthermore, the terms of our patents are limited. The patents we hold and the patents that may be granted from our currently pending patent applications have, absent any patent term adjustment or extension, a twenty-year protection period starting from the date of application.</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: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;">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:10pt;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;">Intellectual property rights and confidentiality protections in China may not be as effective as those in the U.S. or other countries for many reasons, including lack of procedural rules for discovery and evidence, low damage awards, and lack of judicial independence. Implementation and enforcement of China intellectual property laws have historically been deficient and ineffective and may be hampered by corruption and local protectionism. Policing unauthorized use of proprietary technology is difficult and expensive, and we may need to resort to litigation to enforce or defend patents issued to us or to determine the enforceability and validity of our proprietary rights or those of others. The experience and capabilities of China courts in handling intellectual property litigation varies and outcomes are unpredictable. An adverse determination in any such litigation could materially impair our intellectual property rights and may harm our business.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Uncertainties with respect to the China legal system and regulations could have a material adverse effect on us.</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 legal system of China is a civil law system primarily based on written statutes. Our financial condition and results of operations may be adversely affected by government control, perceived government interference and/or changes in tax, cyber and data security, capital investments, cross-border transactions and other regulations that are currently or may in the future be applicable to us. In 2022, Chinese regulators announced regulatory actions aimed at providing China&#8217;s government with greater oversight over certain sectors of China&#8217;s economy, including the for-profit education sector and technology platforms that have a quantitatively significant number of users located in China. Although the biotech industry is already highly regulated in China and while there has been no indication to date that such actions or oversight would apply to companies that are similarly situated as us and that are pursuing similar portfolios of drug products and therapies as us, China&#8217;s government may in the future take regulatory actions that may materially adversely affect the business environment and financial markets in China as they relate to us, our ability to operate our business, our liquidity and our access to capital.</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;">Unlike in a common law system, prior court decisions may be cited for reference but are not binding. Because the China legal system continues to rapidly evolve, the interpretations of many laws, regulations and rules are not always uniform and enforcement of these laws, regulations and rules involve uncertainties, which may limit legal protections available to us. Moreover, decision makers in the China judicial system have significant discretion in interpreting and implementing statutory and contractual terms, which may render it difficult for FibroGen Beijing to enforce the contracts it has entered into with our business partners, customers and suppliers. Different government departments may have different interpretations of certain laws and regulations, and licenses and permits issued or granted by one government authority may be revoked by a higher government authority at a later time. Furthermore, new laws or regulations may be passed, in some cases with little advance notice, that affect the way we or our collaboration partner do business in China (including the manufacture, sale, or distribution of roxadustat in China). Our business may be affected if we rely on laws and regulations that are subsequently adopted or interpreted in a manner different from our understanding of these laws and regulations. Navigating the uncertainty and change in the China legal and regulatory systems will require the devotion of significant resources and time, and there can be no assurance that our contractual and other rights will ultimately be maintained or enforced.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Changes in China&#8217;s economic, governmental, or social conditions could have a material adverse effect on 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;">Chinese society and the Chinese economy continue to undergo significant change. Changes in the regulatory structure, regulations, and economic policies of the Chinese government could have a material adverse effect on the overall economic growth of China, which could adversely affect our ability to conduct business in China. The Chinese government continues to adjust economic policies to promote economic growth. Some of these measures benefit the overall Chinese economy, but may also have a negative effect on us. For example, our financial condition and results of operations in China may be adversely affected by government control over capital investments or changes in tax regulations. Recently, Chinese regulators announced regulatory actions aimed at providing China&#8217;s government with greater oversight over certain sectors of China&#8217;s economy, including the for-profit education sector and technology platforms that have a quantitatively significant number of users located in China. Although the biotech industry is already highly regulated in China and while there has been no indication to date that such actions or oversight would apply to companies that are similarly situated as us and that are pursuing similar portfolios of drug products and therapies as us, China&#8217;s government may in the future take regulatory actions that may materially adversely affect the business environment and financial markets in China as they relate to us. As the Chinese pharmaceutical industry grows and evolves, the Chinese government may also implement measures to change the regulatory structure and structure of foreign investment in this industry. We are unable to predict the frequency and scope of such policy changes and structural changes, any of which could materially and adversely affect FibroGen Beijing&#8217;s development and commercialization timelines, liquidity, access to capital, and its ability to conduct business in China. Any failure on our part to comply with changing government regulations and policies could result in the loss of our ability to develop and commercialize our product candidates in China. In addition, the changing government regulations and policies could result in delays and cost increases to our development, manufacturing, approval, and commercialization timelines in China.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may be subject to additional Chinese requirements, approvals or permissions in the future.</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 incorporated in the state of Delaware. To operate our general business activities currently conducted in China, each of our Chinese subsidiaries (and our joint venture with AstraZeneca, Falikang) is required to and does obtain a business license from the local counterpart of the State Administration for Market Regulation. Such business licenses list the business activities we are authorized to carry out and we would be noncompliant if we act outside of the scope of business activities set forth under the relevant business license.</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 China&#8217;s regulatory framework in general and for the pharmaceutical industry specifically, we are required to apply for and maintain many approvals or permits specific to many of our business activities, including but not limited to manufacturing, distribution, environment protection, workplace safety, cybersecurity, from both national and local government agencies. For example, FibroGen Beijing is required to maintain a Drug Product Production Permit that allows it to manufacture API and roxadustat capsules. Falikang, our joint venture with AstraZeneca, is required to maintain a Drug Product Distribution Permit in order to be able to distribute our drug product roxadustat in China. For certain of our clinical trials conducted in China, we need to obtain, through the clinical sites, permits from the Human Genetic Resources Administration of China to collect samples that include human genetic resources, such as blood samples.</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 also be required to obtain certain approvals from Chinese authorities before transferring certain scientific data abroad or to foreign parties or entities established or actually controlled by them.</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;">None of our subsidiaries or our joint venture in China are required to obtain approval or prior permission from the China Securities Regulatory Commission, Cyberspace Administration of China, or any other Chinese regulatory authority under the Chinese laws and regulations currently in effect to issue securities to our investors. However, the approvals and permits we do have to comply with are numerous and there are uncertainties with respect to the Chinese legal system and changes in laws, regulations and policies, including how those laws and regulations will be interpreted or implemented. For further information, see the risk factor titled &#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;">Uncertainties with respect to the China legal system and regulations could have a material adverse effect on us.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8221; There can be no assurance that we will not be subject to new or changing requirements, approvals or permissions in the future in order to operate in China.</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 are unable to obtain the necessary approvals or permissions in order to operate our business in China, if we inadvertently conclude that such approvals or permissions are not required, or if we are subject to additional requirements, approvals, or permissions, it could have an adverse effect on our business, financial condition and results of operations, our ability to raise capital and the market price of our common stock.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If the Chinese government determines that our corporate structure does not comply with Chinese regulations, or if Chinese regulations change or are interpreted differently in the future, the value of our common stock may decline.</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 July 2021, the Chinese government provided new guidance on China-based companies raising capital outside of China, including through arrangements called variable interest entities. We do not employ a variable interest entity structure for purposes of replicating foreign investment in Chinese-based companies where Chinese law prohibits direct foreign investment. We do not operate in an industry that is currently subject to foreign ownership limitations in China. However, there are uncertainties with respect to the Chinese legal system and there may be changes in laws, regulations and policies, including how those laws and regulations will be interpreted or implemented. For further information, see the risk factor titled &#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;">Uncertainties with respect to the China legal system and regulations could have a material adverse effect on us.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8221; If in the future the Chinese government determines that our corporate structure does not comply with Chinese regulations, or if Chinese laws or regulations change or are interpreted differently from our understanding of these laws and regulations, the value of our common stock may decline.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our operations in China subject us to various Chinese labor and social insurance laws, and our failure to comply with such laws may materially and adversely affect our business, 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;">We are subject to China Labor Contract Law, which provides strong protections for employees and imposes many obligations on employers. The Labor Contract Law places certain restrictions on the circumstances under which employers may terminate labor contracts and require economic compensation to employees upon termination of employment, among other things. In addition, companies operating in China are generally required to contribute to labor union funds and the mandatory social insurance and housing funds. Any failure by us to comply with Chinese labor and social insurance laws may subject us to late fees, fines and penalties, or cause the suspension or termination of our ability to conduct business in China, any of which could have a material and adverse effect on business, results of operations and prospects.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to the Operation of 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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We have incurred significant losses since our inception and anticipate that we will continue to incur losses for the foreseeable future and may never achieve or sustain profitability. We may require additional financing in order to fund our operations, which may be dilutive to our shareholders, restrict our operations or require us to relinquish rights to our intellectual property or product candidates. If we are unable to raise capital when needed or on acceptable terms, we may be forced to delay, reduce or eliminate our research and development programs and/or our 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;">We are a biopharmaceutical company with two lead product candidates in clinical development, roxadustat for CIA in China, and pamrevlumab for pancreatic cancer. Most of our revenue generated to date has been based on our collaboration agreements and we have limited commercial drug product sales to date. We continue to incur significant research and development and other expenses related to our ongoing operations. Our net loss for the years ended December 31, 2023, 2022 and 2021 were $284.2 million, $293.7 million and $290.0 million, respectively. As of December 31, 2023, we had an accumulated deficit of $1.8 billion. As of December 31, 2023, we had capital resources consisting of cash, cash equivalents and short-term investments of $235.6 million. In addition, as of December 31, 2023, we had $12.6 million of accounts receivable in our current assets. Despite contractual development and cost coverage commitments from our collaboration partners, AstraZeneca and Astellas, and the potential to receive milestone and other payments from these partners, and despite commercialization efforts for roxadustat for the treatment of anemia caused by CKD, we anticipate we will continue to incur losses on an annual basis for the foreseeable future. If we do not successfully develop and continue to obtain regulatory approval for our existing or any future product candidates and effectively manufacture, market and sell the product candidates that are approved, we may never achieve or sustain profitability on a quarterly or annual basis. Our prior losses, combined with expected future losses, have had and will continue to have an adverse effect on our stockholders&#8217; equity (deficit) and working capital. Our failure to become and remain profitable would depress the market price of our common stock and could impair our ability to raise capital, expand our business, diversify our product offerings or continue our 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;">We believe that we will continue to expend substantial resources for the foreseeable future as we continue to grow our operations in China, continue our clinical development efforts on pamrevlumab, continue to seek regulatory approval, establish commercialization capabilities of our product candidates, and pursue additional indications. These expenditures will include costs associated with research and development, conducting preclinical trials and clinical trials, obtaining regulatory approvals in various jurisdictions, and manufacturing and supplying products and product candidates for our partners and ourselves. The outcome of any clinical trial and/or regulatory approval process is highly uncertain and we are unable to fully estimate the actual costs necessary to successfully complete the development and regulatory approval process for our compounds in development and any future product candidates. We believe that our existing cash and cash equivalents, short-term and long-term investments and accounts receivable, cash flows from commercial sales and sales of drug product, and expected third-party collaboration revenues will allow us to fund our operating plans through at least 12 months from the date of issuance of these consolidated financial statements. Our operating plans or third-party collaborations may change as a result of many factors, including the success of our development and commercialization efforts, operations costs (including manufacturing and regulatory), competition, and other factors that may not currently be known to us, and we therefore may need to seek additional funds sooner than planned, through offerings of public or private securities, debt financing or other sources, such as revenue interest monetization or other structured financing. Future sales of equity or debt securities may result in dilution to stockholders, imposition of debt covenants and repayment obligations, or other restrictions that may adversely affect our business. We may also seek additional capital due to favorable market conditions or strategic considerations even if we currently believe that we have sufficient funds for our current or future operating plans.</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;">Accordingly, we may seek additional funds sooner than planned. We may also seek additional capital due to favorable market conditions or strategic considerations even if we currently believe that we have sufficient funds for our current or future operating 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;">Any additional fundraising efforts may divert our management from their day-to-day activities, which may adversely affect our ability to develop and commercialize any of our product candidates. We cannot guarantee that future financing will be available in sufficient amounts or on terms acceptable to us, if at all or that we will be able to satisfy the performance, financial and other obligations in connection with any such financing. Moreover, the terms of any financing may adversely affect the holdings or the rights of our stockholders and the issuance of additional securities, whether equity or debt, by us, or the possibility of such issuance, may cause the market price of our shares to decline. We could also be required to seek funds through additional collaborations, partnerships, licensing arrangements with third parties or otherwise at an earlier stage than would be desirable and we may be required to relinquish rights to intellectual property, future revenue streams, research programs, product candidates or to grant licenses on terms that may not be favorable to us, any of which may have a material adverse effect on our business, operating results and prospects.</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: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;">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:10pt;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, the terms of any financing may adversely affect the holdings or the rights of our stockholders. If we raise additional funds by issuing equity securities, dilution to our existing stockholders will result. In addition, as a condition to providing additional funding to us, future investors may demand, and may be granted, rights superior to those of existing stockholders. Moreover, any debt financing, if available, may involve restrictive covenants that could limit our flexibility in conducting future business activities and, in the event of insolvency, would be paid before holders of equity securities received any distribution of corporate assets. For example, in 2022 we entered into a Revenue Interest Financing Agreement (&#8220;RIFA&#8221;) with an affiliate of NovaQuest Capital Management (&#8220;NovaQuest&#8221;) and in 2023 we entered into a debt financing agreement with investment funds managed by Morgan Stanley Tactical Value, each of which imposes certain performance and financial obligations on our business. Our ability to satisfy and meet any future debt service obligations will depend upon our future performance, which will be subject to financial, business and other factors affecting our operations, many of which are beyond our control.</span><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;">If adequate funds are not available to us on a timely basis, we may be required to delay, limit, reduce or terminate our research and development efforts or other operations or activities that may be necessary to commercialize our product candidates.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may be required to recognize an impairment of our long-lived assets, which could adversely affect our financial performance.</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 long-lived assets group is subject to an impairment assessment at least annually, or when certain triggering events or circumstances indicate that its carrying value may be impaired. Prolonged market declines or other factors negatively impacting the performance of our businesses could adversely affect our evaluation of the recoverability of our long-lived assets. If, as a result of the impairment test, we determine that the fair value of our long-lived asset group is less than its carrying amount, we may incur an impairment charge, which could materially and adversely affect our results of operations or financial position.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our non-dilutive transactions with Morgan Stanley Tactical Value and NovaQuest could limit cash flow available for our operations, expose us to risks that could adversely affect our business, financial condition and results of operations, and contain various covenants and other provisions, which, if violated, could result in the acceleration of payments due in connection with such transaction or the foreclosure on security interest.</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;">On November 4, 2022, we entered into a $50 million RIFA financing with NovaQuest with respect to our revenues from Astellas&#8217; sales of roxadustat in Europe, Japan and the other Astellas territories.</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 material inducement for NovaQuest to enter into the RIFA, we granted NovaQuest a security interest over our rights, title and interest in and to the revenue interest payments and intellectual property related to roxadustat and the Astellas territories.</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, the RIFA includes customary reporting obligations and events of default by us. Upon the occurrence of an event of default, NovaQuest may exercise all remedies available to it at law or in equity in respect of the security interest.</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 April 29, 2023, we entered into a financing agreement (&#8220;Financing Agreement&#8221;) with a $75 million senior secured term loan with investment funds managed by Morgan Stanley Tactical Value, as lenders, and Wilmington Trust, National Association, as the administrative agent.</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 Financing Agreement with Morgan Stanley Tactical Value requires us to maintain a minimum balance of $30 million of unrestricted cash and cash equivalents held in accounts in the U.S. and, while any portion of the term loans or any other obligations under the Financing Agreement remain outstanding, we must comply with certain customary affirmative and negative covenants set forth in the Financing Agreement and related loan documents. The Financing Agreement also provides for customary events of default triggers. Upon an event of default, the administrative agent under the Financing Agreement may, and at the direction of the majority lenders shall, accelerate all of our outstanding obligations under the Financing Agreement and related loan documents, terminate all outstanding funding commitments and/or exercise remedies available at law or equity or under contract for secured creditors. The term loans are secured by substantially all of our and our non-Chinese subsidiaries&#8217; assets, subject to customary exceptions.</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 additional details about these financing transactions, see Note 9,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Senior Secured Term Loan Facilities </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and Note 10, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Liability Related to Sale of Future Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements.</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: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;">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:10pt;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;">Our obligations under these financing transactions could have significant negative consequences for our shareholders, and our business, results of operations and financial condition by, among other things:</span></p>
  <div style="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.537%;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;">increasing our vulnerability to adverse economic and industry conditions;</span></div></div>
  <div style="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.537%;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;">limiting our ability to obtain additional non-dilutive financing or enter into collaboration or partnership agreements of a certain size;</span></div></div>
  <div style="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.537%;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;">requiring the dedication of a portion of our cash flow from operations to service our indebtedness, which will reduce the amount of cash available for other purposes;</span></div></div>
  <div style="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.537%;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;">limiting our flexibility to plan for, or react to, changes in our business; and</span></div></div>
  <div style="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.537%;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;">placing us at a possible competitive disadvantage with competitors that are less leveraged than us or have better access to capital.</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 ability to comply with the above covenants may be affected by events beyond our control, and future breaches of any of the covenants could result in a default under the RIFA, the Financing Agreement, or any future financing agreements. If not waived, future defaults could cause all of the outstanding indebtedness under either financing transaction to become immediately due and payable and NovaQuest or Morgan Stanley Tactical Value could seek to enforce their security interest in assets that secure such indebtedness.</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 extent we incur additional debt, the risks described above could increase. A default in one of such agreements could trigger a default in the other. Any of the above risks would negatively impact our ability to operate our business and obtain additional debt or equity financing on favorable terms.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Most of our recent revenue has been earned through our roxadustat collaborations.</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;">If either our Astellas collaboration or our AstraZeneca China collaboration were to be terminated, we could have a sudden decrease of revenue and require significant additional capital in order to help fund our operations. If adequate funds or partners are not available to us on a timely basis or on favorable terms, we may be required to delay, limit, reduce or terminate development or commercialization efforts.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may encounter difficulties in managing our growth and expanding our operations, successfully.</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 we seek to advance our product candidates through clinical trials and commercialization, we will need to expand our development, regulatory, manufacturing, commercialization and administration capabilities or contract with third parties to provide these capabilities for us. As our operations expand, we expect that we will need to increase the responsibilities of management. Our failure to accomplish any of these steps could prevent us from successfully implementing our strategy and maintaining the confidence of investors in 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:18pt;font-family:Times New Roman;margin-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;">Loss of senior management and key personnel 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;">We are highly dependent on members of our senior management team. The loss of the services of any of our senior management could significantly impact the development and commercialization of our products and product candidates and our ability to successfully implement our business strategy.</span><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;">Recruiting and retaining qualified commercial, development, scientific, clinical, and manufacturing personnel are and will continue to be critical to our success. Furthermore, replacing executive officers and key employees may be difficult and may take an extended period of time because of the limited number of individuals in our industry with the breadth of skills and experience required to successfully develop, gain regulatory approval of and commercialize product candidates. We may be unable to hire, train, retain or motivate these key personnel on acceptable terms given the intense competition among numerous biopharmaceutical companies for similar personnel.</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;">There is also significant competition, in particular in the San Francisco Bay Area, for the hiring of experienced and qualified personnel, which increases the importance of retention of our existing personnel.</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: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;">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:10pt;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;">On July 14, 2023 and December 11, 2023, FibroGen approved a reduction to its U.S. workforce of approximately 32% and 7.4% to lower its operating expenses, causing the loss of valuable skills, experience, and productivity. Furthermore, employee turnover and other risks described above may be exacerbated by the restructuring as well as recent stock 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">If we are unable to continue to attract and retain personnel with the quality and experience applicable to our product candidates, our ability to pursue our strategy will be limited and our business and operations would be adversely affected.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We are exposed to the risks associated with litigation, investigations, regulatory proceedings, and other legal matters, any of which could have a material adverse effect on us.</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 currently and may in the future face legal, administrative and regulatory proceedings, claims, demands, investigations and/or other dispute-related matters involving, among other things, our products, product candidates, or other issues relating to our business as well as allegations of violation of U.S. and foreign laws and regulations relating to intellectual property, competition, securities, consumer protection, and the 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;">For example, we and certain of our current and former executive officers have been named as defendants in a consolidated putative class action lawsuit (&#8220;Securities Class Action Litigation&#8221;) and certain of our current and former executive officers and directors have been named as defendants in several derivative lawsuits (&#8220;Derivative Litigation&#8221;). The complaint filed in the Securities Class Action Litigation alleges violations of the securities laws, including, among other things, that the defendants made certain materially false and misleading statements about our Phase 3 clinical studies data and prospects for FDA approval. The complaints filed in the Derivative Litigation asserts claims based on some of the same alleged misstatements and omissions as the Securities Class Action Litigation and seeks, among other things, unspecified damages. We intend to vigorously defend the claims made in the Securities Class Action Litigation and Derivative Litigation; however, the outcome of these matters cannot be predicted, and the claims raised in these lawsuits may result in further legal matters or actions against us, including, but not limited to, government enforcement actions or additional private litigation. In the fourth quarter of 2021, FibroGen received a subpoena from the SEC requesting documents related to roxadustat&#8217;s pooled cardiovascular safety data. We have been fully cooperating with the SEC&#8217;s investigation.</span><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 Board of Directors also received litigation demands from our purported shareholders, asking the Board of Directors to investigate and take action against certain current and former officers and directors of ours for alleged wrongdoing based on the same allegations in the pending derivative and securities class action lawsuits. We may in the future receive such additional demands.</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 cannot predict whether any particular legal matter will be resolved favorably or ultimately result in charges or material damages, fines or other penalties, government enforcement actions, bars against serving as an officer or director, or civil or criminal proceedings against us or certain members of our senior management. For additional information regarding our pending litigation and SEC investigation, 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;">Commitments and Contingencies</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements.</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;">Legal proceedings in general, and securities and class action litigation and regulatory investigations in particular, regardless of their merits or their ultimate outcomes, are costly, divert management&#8217;s attention and may materially adversely affect our business, results of operations, financial condition, prospects, and stock price. In addition, such legal matters could negatively impact our reputation among our customers, collaboration partners or our shareholders. Furthermore, publicity surrounding legal proceedings, including regulatory investigations, even if resolved favorably for us, could result in additional legal proceedings or regulatory investigations, as well as damage to our reputation.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If product liability lawsuits are brought against us, we may incur substantial liabilities and may have to limit commercial 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;">We face an inherent risk of product liability as a result of the clinical testing, manufacturing and commercialization of our product candidates. Any such product liability claims may include allegations of defects in manufacturing, defects in design, a failure to warn of dangers inherent in a product, negligence, strict liability or breach of warranty. Claims could also be asserted under state consumer protection acts. If we are unable to obtain insurance coverage at levels that are appropriate to maintain our business and operations, or if we are unable to successfully defend ourselves against product liability claims, we may incur substantial liabilities or otherwise cease operations. Product liability claims may result in:</span></p>
  <div style="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.537%;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;">termination of further development of unapproved product candidates or significantly reduced demand for any approved products;</span></div></div>
  <div style="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.537%;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;">material costs and expenses to defend the related litigation;</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="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.537%;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;">a diversion of time and resources across the entire organization, including our executive management;</span></div></div>
  <div style="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.537%;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;">product recalls, product withdrawals or labeling restrictions;</span></div></div>
  <div style="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.537%;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;">termination of our collaboration relationships or disputes with our collaboration partners; and</span></div></div>
  <div style="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.537%;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;">reputational damage negatively impacting our other product candidates in development.</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;">If we fail to obtain and retain sufficient product liability insurance at an acceptable cost to protect against potential product liability claims, we may not be able to continue to develop our product candidates. We maintain product liability insurance in a customary amount for the stage of development of our product candidates. Although we believe that we have sufficient coverage based on the advice of our third-party advisors, there can be no assurance that such levels will be sufficient for our needs. Moreover, our insurance policies have various exclusions, and we may be in a dispute with our carrier as to the extent and nature of our coverage, including whether we are covered under the applicable product liability policy. If we are not able to ensure coverage or are required to pay substantial amounts to settle or otherwise contest the claims for product liability, our business and operations would be negatively affected.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our business and operations would suffer in the event of computer system failures.</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;">Despite implementing security measures, our internal computer systems, and those of our CROs, collaboration partners, and other third parties on which we rely, are vulnerable to damage from computer viruses, unauthorized access, natural disasters, fire, terrorism, war and telecommunication and electrical failures. We upgraded our disaster and data recovery capabilities in 2022, and continue to maintain and upgrade these capabilities. However, to the extent that any disruption or security breach, in particular with our partners&#8217; operations, results in a loss of, or damage to, our data or applications, or inappropriate disclosure of confidential or proprietary information, we could incur liability and it could result in a material disruption and delay of our drug development programs. For example, the loss of clinical trial data from completed, ongoing or planned clinical trials could result in delays in our regulatory approval efforts and significantly increase our costs to recover or reproduce the data.</span><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:18pt;font-family:Times New Roman;margin-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 information technology systems or data, or those of third parties upon which we rely, are or were compromised by a cybersecurity incident, we could experience adverse consequences resulting from such compromise, including but not limited to regulatory investigations or actions; litigation; fines and penalties; disruptions of our business operations; reputational harm; loss of revenue or profits; and other adverse consequences.</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 the ordinary course of our business, we and the third parties upon which we rely process confidential, proprietary, and sensitive data, and, as a result, we and the third parties upon which we rely face a variety of evolving threats, including but not limited to ransomware attacks, which could cause security incidents. Cyber-attacks, malicious internet-based activity, online and offline fraud, and other similar activities threaten the confidentiality, integrity, and availability of our confidential, proprietary, and sensitive data and information technology systems, and those of the third parties upon which we rely. Such threats are prevalent and continue to rise, are increasingly difficult to detect, and come from a variety of sources, including traditional computer &#8220;hackers,&#8221; threat actors, &#8220;hacktivists,&#8221; organized criminal threat actors, personnel (such as through theft or misuse), sophisticated nation states, and nation-state-supported actors.</span><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;">Some actors now engage and are expected to continue to engage in cyber-attacks, including without limitation nation-state actors for geopolitical reasons and in conjunction with military conflicts and defense activities. During times of war and other major conflicts, we and the third parties upon which we rely may be vulnerable to a heightened risk of these attacks, including retaliatory cyber-attacks, that could materially disrupt our systems and operations, supply chain, and ability to produce, sell and distribute our services.</span><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 and the third parties upon which we rely are subject to a variety of evolving cybersecurity threats, including but not limited to social-engineering attacks (including through phishing attacks), malicious code (such as viruses and worms), malware (including as a result of advanced persistent threat intrusions), denial-of-service attacks (such as credential stuffing), credential harvesting, personnel misconduct or error, ransomware attacks, supply-chain attacks, software bugs, server malfunctions, software or hardware failures, loss of data or other information technology assets, adware, telecommunications failures, earthquakes, fires, floods, and other similar threats.</span><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:#231f20;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In particular, severe ransomware attacks are becoming increasingly prevalent and can lead to significant interruptions in our operations, loss of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">confidential, proprietary, and </span><span style="color:#231f20;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">sensitive data and income, reputational harm, and diversion of funds. While it is possible that extortion payments may alleviate the negative impact of a ransomware attack, we may be unwilling or unable to make such payments.</span><span style="color:#231f20;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: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;">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:10pt;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, our reliance on third-party service providers could introduce new cybersecurity risks and vulnerabilities, including supply-chain attacks, and other threats to our business 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><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We rely on third-party service providers and technologies to operate critical business systems to process confidential, proprietary, and sensitive data in a variety of contexts, including, without limitation, CROs, CMOs, cloud-based infrastructure, data center facilities, encryption and authentication technology, employee email, content delivery to customers, and other functions. We also rely on third-party service providers to provide other products, services, parts, or otherwise to operate our business. Our ability to monitor these third parties&#8217; information security practices is limited, and these third parties may not have adequate information security measures in place.</span><span style="color:#231f20;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> If our third-party service providers experience a security incident or other interruption, we could experience adverse consequences. While we may be entitled to damages if our third-party service providers fail to satisfy their privacy or security-related obligations to us, any award may be insufficient to cover our damages, or we may be unable to recover such award.</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><span style="color:#231f20;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In addition, supply-chain attacks have increased in frequency and severity, and we cannot guarantee that third parties&#8217; infrastructure in our supply chain or our third-party partners&#8217; supply chains have not been compromised.</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;">Any of the previously identified or similar threats could cause a security incident or other interruption that could result in unauthorized, unlawful, or accidental acquisition, modification, destruction, loss, alteration, encryption, disclosure of, or access to our confidential, proprietary, and sensitive data or our information technology systems, or those of the third parties upon whom we rely. A security incident or other interruption could disrupt our ability (and that of third parties upon whom we rely) to provide our services.</span><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 the third quarter of 2023, we were notified that a service provider of our third-party service provider had a security breach and certain of our pseudo anonymized clinical data was exfiltrated. Our incident response assessment was unable to determine a material impact to our Company (including the fact that we have found no personally identifiable information involved, and there is no business continuity risk). However, there is a risk that we discover a material impact 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">We may expend significant resources or modify our business activities to try to protect against security incidents. Additionally, certain data privacy and security obligations may require us to implement and maintain specific security measures or industry-standard or reasonable security measures to protect our information technology systems and confidential, proprietary, and sensitive data.</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;">While we have implemented security measures designed to protect against security incidents, there can be no assurance that these measures will be effective. We take steps designated to detect and remediate vulnerabilities, but we may not be able to detect and remediate all vulnerabilities because the threats and techniques used to exploit the vulnerability change frequently and are often sophisticated in nature. Therefore, such vulnerabilities could be exploited but may not be detected until after a security incident has occurred. These vulnerabilities pose material risks to our business. Further, we may experience delays in developing and deploying remedial measures designed to address any such identified vulnerabilities.</span><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;">Applicable data privacy and security obligations may require us to notify relevant stakeholders, such as governmental authorities, partners, and affected individuals, of security incidents. Such disclosures may involve inconsistent requirements and are costly, and the disclosure or the failure to comply with such requirements could lead to adverse consequences.</span><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;">If we (or a third party upon whom we rely) experience a security incident or are perceived to have experienced a security incident, we may experience adverse consequences, such as government enforcement actions (for example, investigations, fines, penalties, audits, and inspections); additional reporting requirements and/or oversight; restrictions on processing confidential, proprietary, and sensitive data (including personal data); litigation (including class claims); indemnification obligations; negative publicity; reputational harm; monetary fund diversions; interruptions in our operations (including availability of data); delays in our development or other business plans; financial loss; and other similar harms. Security incidents and attendant consequences may cause customers to stop using our services, deter new customers from using our services, and negatively impact our ability to grow and operate our business.</span><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 contracts may not contain limitations of liability, and even where they do, there can be no assurance that limitations of liability in our contracts are sufficient to protect us from liabilities, damages, or claims related to our data privacy and security obligations. We cannot be sure that our insurance coverage will be adequate or sufficient to protect us from or to mitigate liabilities arising out of our privacy and security practices, that such coverage will continue to be available on commercially reasonable terms or at all, or that such coverage will pay future claims.</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 experiencing a security incident, third parties may gather, collect, or infer sensitive information about us from public sources, data brokers, or other means that reveal competitively sensitive details about our organization and could be used to undermine our competitive advantage or market position.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our headquarters are located near known earthquake fault zones.</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 and some of the third-party service providers on which we depend for various support functions are vulnerable to damage from catastrophic events, such as power loss, natural disasters, terrorism and similar unforeseen events beyond our control. Our corporate headquarters and other facilities are located in the San Francisco Bay Area, which in the past has experienced severe earthquakes and fires.</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;">After a comprehensive earthquake risk analysis conducted by Marsh Risk, we decided not to purchase earthquake or flood insurance. Based upon (among other factors) the Marsh Risk analysis, the design and construction of our building, the expected potential loss, and the costs and deductibles associated with earthquake and flood insurance, we chose to self-insure. However, earthquakes or other natural disasters could severely disrupt our operations, or have a larger cost than expected, and have a material adverse effect on our business, results of operations, financial condition and prospects.</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 a natural disaster, power outage or other event occurred that prevented us from using all or a significant portion of our headquarters, damaged critical infrastructure, or otherwise disrupted operations, all critical systems and services can be accessible from the disaster recovery site, but it may be difficult or, in certain cases, impossible for us to continue our business for a substantial period of time. The disaster recovery and business continuity plans are in draft and are unlikely to provide adequate protection in the event of a serious disaster or similar event. We may incur substantial expenses as a result of the limited nature of our disaster recovery and business continuity plans, which, particularly when taken together with our lack of earthquake insurance, could have a material adverse effect on 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Furthermore, integral parties in our supply chain are operating from single sites, increasing their vulnerability to natural disasters or other sudden, unforeseen and severe adverse events. If such an event were to affect our supply chain, it could have a material adverse effect on our business.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to 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;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The market price of our common stock may be highly volatile, and you may not be able to resell your shares at or above your purchase 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;">The market price of our common stock has at times experienced price volatility and may continue to be volatile. For example, during 2023, the closing price of our common stock on The Nasdaq Global Select Market has ranged from $0.38 per share to $25.18 per share. In general, pharmaceutical, biotechnology and other life sciences company stocks have been highly volatile in the current market. The volatility of pharmaceutical, biotechnology and other life sciences company stocks is sometimes unrelated to the operating performance of particular companies and biotechnology and life science companies stocks often respond to trends and perceptions rather than financial performance. In particular, the market price of shares of our common stock could be subject to wide fluctuations in response to the following factors:</span></p>
  <div style="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.537%;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;">results of clinical trials of our product candidates, including roxadustat and pamrevlumab;</span></div></div>
  <div style="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.537%;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 timing of the release of results of and regulatory updates regarding our clinical trials;</span></div></div>
  <div style="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.537%;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 level of expenses related to any of our product candidates or clinical development programs;</span></div></div>
  <div style="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.537%;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;">results of clinical trials of our competitors&#8217; products;</span></div></div>
  <div style="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.537%;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;">safety issues with respect to our product candidates or our competitors&#8217; products;</span></div></div>
  <div style="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.537%;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;">regulatory actions with respect to our product candidates and any approved products or our competitors&#8217; products;</span></div></div>
  <div style="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.537%;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 our financial condition and operating results, which will be significantly affected by the manner in which we recognize revenue from the achievement of milestones under our collaboration agreements;</span></div></div>
  <div style="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.537%;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;">adverse developments concerning our collaborations and our manufacturers;</span></div></div>
  <div style="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.537%;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 termination of a collaboration or the inability to establish additional collaborations;</span></div></div>
  <div style="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.537%;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 inability to obtain adequate product supply for any approved drug product or inability to do so at acceptable prices;</span></div></div>
  <div style="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.537%;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;">disputes or other developments relating to proprietary rights, including patents, litigation matters and our ability to obtain patent protection for our technologies;</span></div></div>
  <div style="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.537%;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 legislation or other regulatory developments affecting our product candidates or our industry;</span></div></div>
  <div style="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.537%;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 the valuation of the biotechnology industry and particular companies perceived by investors to be comparable 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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="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.537%;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;">speculation in the press or investment community;</span></div></div>
  <div style="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.537%;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;">announcements of investigations or regulatory scrutiny of our operations or lawsuits filed against us;</span></div></div>
  <div style="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.537%;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;">activities of the government of China, including those related to the pharmaceutical industry as well as industrial policy generally;</span></div></div>
  <div style="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.537%;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;">performance of other U.S. publicly traded companies with significant operations in China;</span></div></div>
  <div style="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.537%;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 market conditions for biopharmaceutical stocks; and</span></div></div>
  <div style="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.537%;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 other factors described in this &#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;">Risk Factors</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8221; section.</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;">As a result of fluctuations caused by these and other factors, comparisons of our operating results across different periods may not be accurate indicators of our future performance. Any fluctuations that we report in the future may differ from the expectations of market analysts and investors, which could cause the price of our common stock to fluctuate significantly. Moreover, securities class action litigation has often been initiated against companies following periods of volatility in their stock price. We are currently subject to such litigation and it has diverted, and could continue to result in diversions of, our management&#8217;s attention and resources and it could result in significant expense, monetary damages, penalties or injunctive relief against us. For a description of our pending litigation and SEC investigation, 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;">Commitments and Contingencies</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may engage in acquisitions that could dilute stockholders and harm 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 may, in the future, make acquisitions of or investments in companies that we believe have products or capabilities that are a strategic or commercial fit with our present or future product candidates and business or otherwise offer opportunities for us. In connection with these acquisitions or investments, we may:</span></p>
  <div style="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.537%;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;">issue stock that would dilute our existing stockholders&#8217; percentage of ownership;</span></div></div>
  <div style="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.537%;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;">incur debt and assume liabilities; and</span></div></div>
  <div style="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.537%;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;">incur amortization expenses related to intangible assets or incur large and immediate write-offs.</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 may not be able to complete acquisitions on favorable terms, if at all. If we do complete an acquisition, we cannot assure you that it will ultimately strengthen our competitive position or that it will be viewed positively by customers, financial markets or investors. Furthermore, future acquisitions could pose numerous additional risks to our operations, including:</span></p>
  <div style="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.537%;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 integrating the purchased business, products or technologies, or employees or other assets of the acquisition target;</span></div></div>
  <div style="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.537%;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;">increases to our expenses;</span></div></div>
  <div style="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.537%;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;">disclosed or undisclosed liabilities of the acquired asset or company;</span></div></div>
  <div style="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.537%;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 from their day-to-day responsibilities;</span></div></div>
  <div style="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.537%;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;">reprioritization of our development programs and even cessation of development and commercialization of our current product candidates;</span></div></div>
  <div style="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.537%;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;">harm to our operating results or financial condition;</span></div></div>
  <div style="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.537%;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;">entrance into markets in which we have limited or no prior experience; and</span></div></div>
  <div style="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.537%;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;">potential loss of key employees, particularly those of the acquired entity.</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 may not be able to complete any acquisitions or effectively integrate the operations, products or personnel gained through any such acquisition.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Provisions in our charter documents and Delaware law may have anti-takeover effects that could discourage an acquisition of us by others, and may prevent attempts by our stockholders to replace or remove our current directors or management.</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 amended and restated certificate of incorporation and amended and restated bylaws contain provisions that may have the effect of discouraging, delaying or preventing a change in control of us or changes in our management. These provisions could also limit the price that investors might be willing to pay in the future for shares of our common stock, thereby depressing the market price of our common stock. In addition, because our Board of Directors is responsible for appointing the members of our management team, these provisions may frustrate or prevent any attempts by our stockholders to replace or remove our current management by making it more difficult for stockholders to replace members of our Board of Directors. Among other things, these provisions:</span></p>
  <div style="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.537%;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;">authorize &#8220;blank check&#8221; preferred stock, which could be issued by our Board of Directors without stockholder approval and may contain voting, liquidation, dividend and other rights superior to our common stock;</span></div></div>
  <div style="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.537%;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;">create a classified Board of Directors whose members serve staggered three-year terms;</span></div></div>
  <div style="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.537%;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;">specify that special meetings of our stockholders can be called only by our Board of Directors pursuant to a resolution adopted by a majority of the total number of directors;</span></div></div>
  <div style="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.537%;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;">prohibit stockholder action by written consent;</span></div></div>
  <div style="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.537%;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;">establish an advance notice procedure for stockholder approvals to be brought before an annual meeting of our stockholders, including proposed nominations of persons for election to our Board of Directors;</span></div></div>
  <div style="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.537%;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 that our directors may be removed prior to the end of their term only for cause;</span></div></div>
  <div style="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.537%;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 that vacancies on our Board of Directors may be filled only by a majority of directors then in office, even though less than a quorum;</span></div></div>
  <div style="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.537%;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;">require a supermajority vote of the holders of our common stock or the majority vote of our Board of Directors to amend our bylaws; and</span></div></div>
  <div style="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.537%;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;">require a supermajority vote of the holders of our common stock to amend the classification of our Board of Directors into three classes and to amend certain other provisions of our certificate of incorporation.</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;">These provisions, alone or together, could delay or prevent hostile takeovers and changes in control or changes in our management by making it more difficult for stockholders to replace members of our Board of Directors, which is responsible for appointing the members of our management.</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;">Moreover, because we are incorporated in Delaware, we are governed by certain anti-takeover provisions under Delaware law which may discourage, delay or prevent someone from acquiring us or merging with us whether or not it is desired by or beneficial to our stockholders. We are subject to the provisions of Section 203 of the Delaware General Corporation Law, which prohibits a person who owns in excess of 15% of our outstanding voting stock from merging or combining with us for a period of three years after the date of the transaction in which the person acquired in excess of 15% of our outstanding voting stock, unless the merger or combination is approved in a prescribed manner.</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;">Any provision of our amended and restated certificate of incorporation, our amended and restated bylaws or Delaware law that has the effect of delaying or deterring a change in control could limit the opportunity for our stockholders to receive a premium for their shares of our common stock, and could also affect the price that some investors are willing to pay for our common stock.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Changes in our tax provision or exposure to additional tax liabilities could adversely affect our earnings and 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;">As a multinational corporation, we are subject to income taxes in the U.S. and various foreign jurisdictions. Significant judgment is required in determining our global provision for income taxes and other tax liabilities. In the ordinary course of a global business, there are intercompany transactions and calculations where the ultimate tax determination is uncertain. Our income tax returns are subject to audits by tax authorities. Although we regularly assess the likelihood of adverse outcomes resulting from these examinations to determine our tax estimates, a final determination of tax audits or tax disputes could have an adverse effect on our results of operations and 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;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are also subject to non-income taxes, such as payroll, withholding, excise, customs and duties, sales, use, value-added, net worth, property, gross receipts, and goods and services taxes in the U.S., state and local, and various foreign jurisdictions. We are subject to audit and assessments by tax authorities with respect to these non-income taxes and the determination of these non-income taxes is subject to varying interpretations arising from the complex nature of tax laws and regulations. Therefore, we may have exposure to additional non-income tax liabilities, which could have an adverse effect on our results of operations and financial condition.&#8203;</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 tax regulations in the U.S. and other jurisdictions in which we operate are extremely complex and subject to change. Changes in tax regulations could have an adverse effect on our results of operations and financial condition.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Tariffs imposed by the U.S. and those imposed in response by other countries could have a material adverse effect on 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;">Changes in U.S. and foreign governments&#8217; trade policies have resulted in, and may continue to result in, tariffs on imports into and exports from the U.S. Throughout 2018 and 2019, the U.S. imposed tariffs on imports from several countries, including China. In response, China has proposed and implemented their own tariffs on certain products, which may impact our supply chain and our costs of doing business. If we are impacted by the changing trade relations between the U.S. and China, our business and results of operations may be negatively impacted. Continued diminished trade relations between the U.S. and other countries, including potential reductions in trade with China and others, as well as the continued escalation of tariffs, could have a material adverse effect on our financial performance and results of operations.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our certificate of incorporation designates courts located in Delaware as the sole forum for certain proceedings, which could limit our stockholders&#8217; ability to obtain a favorable judicial forum for disputes with us or our directors, officers or employees.</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 amended and restated certificate of incorporation provides that, subject to limited exceptions, the Court of Chancery of the State of Delaware is the sole and exclusive forum for the following types of actions or proceedings under Delaware statutory or common law: (1) any derivative action or proceeding brought on our behalf, (2) any action asserting a claim of breach of a fiduciary duty owed by any of our directors, officers or other employees to us or our stockholders, (3) any action asserting a claim against us arising pursuant to any provision of the Delaware General Corporation Law, our amended and restated certificate of incorporation or our amended and restated by-laws, or (4) any other action asserting a claim against us that is governed by the internal affairs doctrine. This provision would not apply to suits brought to enforce a duty or liability created by the Exchange Act. Furthermore, Section 22 of the Securities Act creates concurrent jurisdiction for federal and state courts over all such Securities Act actions. Accordingly, both state and federal courts have jurisdiction to entertain such claims. While the Delaware courts determined that such choice of forum provisions are facially valid, a stockholder may nevertheless seek to bring a claim in a venue other than that designated in the exclusive forum provisions. For example, one of the Derivative Litigation was brought in federal court in California, despite the exclusive forum provision. We are currently moving to dismiss that lawsuit on the basis of improper forum and we would expect to vigorously assert the validity and enforceability of the exclusive forum provisions of our amended and restated certificate of incorporation in any additional litigations that are brought in a venue other than that designated in the exclusive forum provision. This may require significant additional costs associated with resolving such action in other jurisdictions and there can be no assurance that the provisions will be enforced by a court in those other jurisdictions.</span><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 choice of forum provision may limit a stockholder&#8217;s ability to bring a claim in a judicial forum that it finds favorable for disputes with us or our directors, officers or other employees, which may discourage such lawsuits against us and our directors, officers and employees. If a court were to find these provisions of our amended and restated certificate of incorporation inapplicable to, or unenforceable in respect of, one or more of the specified types of actions or proceedings, we may incur additional costs associated with resolving such matters in other jurisdictions, which could adversely affect our business and financial condition.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We do not plan to pay dividends. Capital appreciation will be your sole possible source of gain, which may never occur.</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;">You should not rely on an investment in our common stock to provide dividend income. We do not anticipate that we will pay any cash dividends to holders of our common stock in the foreseeable future and investors seeking cash dividends should not purchase our common stock. We plan to retain any earnings to invest in our product candidates and maintain and expand our operations. Therefore, capital appreciation, or an increase in your stock price, which may never occur, may be the only way to realize any return on your investment.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our business or our share price could be negatively affected as a result of shareholder proposals or actions.</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;">Public companies are facing increasing attention from stakeholders relating to environmental, social and governance matters, including corporate governance, executive compensation, environmental stewardship, social responsibility, and diversity and inclusion. Key stakeholders may advocate for enhanced environmental, social and governance disclosures or policies or may request that we make corporate governance changes or engage in certain corporate actions that we believe are not currently in the best interest of FibroGen or our stockholders. Responding to challenges from stockholders, such as proxy contests or media campaigns, could be costly and time consuming and could have an adverse effect on our reputation, which could have an adverse effect on our business and operational results, and could cause the market price of our common stock to decline or experience volatility.</span></p>
  <p style="font-size:10pt;margin-top:18pt;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></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:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_1c_cyber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITE</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">M 1C. CYBERSECURITY</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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cybersecurity Governance and Responsibilities</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;">Our Board of Directors recognizes that cybersecurity represents an important component of the Company's overall enterprise risk management ("ERM"). Throughout the year, our Board of Directors and its Committees engage with management to discuss and mitigate a wide range of enterprise risks, including cybersecurity.</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 seek to mitigate cybersecurity risks through a cross-functional approach, including our Cybersecurity Committee, focused on preserving the confidentiality, security, and availability of the information that the Company collects and stores by identifying, preventing and mitigating cybersecurity threats and effectively responding to and remediating cybersecurity incidents as and if they occur.</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 Cybersecurity Committee is comprised of information technology, finance, legal, human resources and data privacy employees. It meets regularly to review and oversee the Company&#8217;s data security programs, policies, and strategies, including with respect to cybersecurity risk mitigation, business continuity, and business resiliency. Our Cybersecurity Committee (along with the Chief Financial Officer and Chief Legal Officer) also reviews, analyzes, and responds to cybersecurity incidents and breaches.</span><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;">Our Audit Committee of the Board of Directors has the responsibility to review and discuss with management the Company&#8217;s guidelines, policies, and governance with respect to financial risk exposures and enterprise risk management (including with respect to cybersecurity) and to regularly report to the full Board. Our Audit Committee also oversees our internal audit department and management&#8217;s internal controls over financial reporting, including with respect to cybersecurity. Our Audit Committee receives regular presentations and reports on cybersecurity risks, progress on continued updates to The Company&#8217;s cybersecurity procedures, as well as is made aware, on a timely basis, of any cybersecurity incidents deemed significant enough to be raised to their attention by management, as well as ongoing updates regarding any such incident until it has been remediated.</span><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;">Our Vice President of Information Technology (&#8220;IT&#8221;) oversees overall cybersecurity management and implements our cybersecurity programs with the IT group, including appropriate risk mitigation strategies, systems, processes, and controls and provides periodic reports to our Audit Committee at least semi-annually. The Vice President of IT holds an undergraduate degree in Computer Engineering and has served in Information Technology &amp; Security roles dedicated to the Pharma &amp; Biotechnology sector for the last 15+ years, including serving as the Chief Information Officer of another public biopharmaceutical 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="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: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;">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:10pt;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:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Risk Management and Strategy</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 periodically assess and test our cybersecurity procedures. We identify and assess material risks from cybersecurity threats by engaging outside advisors and experts to identify, anticipate, and assess future threats and trends, to perform assessments on our cybersecurity risk and measures to mitigate such risk, including information security maturity assessments of our information security control environment. The results of such assessments and reviews are reported as appropriate to the Cybersecurity Committee and Audit Committee, and we adjust our cybersecurity procedures as necessary based on the information provided by these assessments and reviews.</span><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:18pt;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;">Cybersecurity Technical Safeguards</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 continually invest in information and cybersecurity services and technologies. Technical safeguards are designed to protect the Company's information systems from cybersecurity threats, including firewalls, continuous intrusion detection and response system(s), data leak prevention strategies, enhanced email protection software, antimalware functionality and access controls. These safeguards are evaluated and improved through periodic assessments and review of cybersecurity threat intelligence.  We rely on third parties to support its cybersecurity program, including but not limited to email security management, security operations and vulnerability management.</span></p>
  <p style="font-size:10pt;margin-top:18pt;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;">Cybersecurity Incident Response and Recovery Planning</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 established and maintain incident response and data recovery plans that address our response to a cybersecurity incident. Our Cybersecurity Committee and members of the Cyber Security Incident Response Team (which contains additional information technology specialists) regularly test and evaluate the effectiveness of these incident response and data recovery plans. In addition to the incident detection safeguards described above, our cybersecurity policy requires employees and third party vendors to report any and all cybersecurity incidents to our IT department.</span><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:18pt;font-family:Times New Roman;margin-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;">Third-Party Risk Management</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 risk-based approach to identifying and overseeing cybersecurity risks presented by third parties, including vendors, service providers and other external users of the Company&#8217;s systems, as well as the systems of third parties that could materially impact our business in the event of a cybersecurity incident affecting those third-party systems. Depending on the nature of the services provided, we may conduct different amounts of diligence into the cybersecurity practices of the third party, monitor the third party for cybersecurity issues, and impose contractual obligations relating to privacy and cybersecurity onto the third party.</span><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:18pt;font-family:Times New Roman;margin-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;">Education and Awareness</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 provide regular (at least annual) training for personnel regarding cybersecurity threats to equip our personnel with effective tools to address cybersecurity threats, and to communicate the Company's evolving information security procedures.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Current Cybersecurity Risk Posture</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 an additional description of the risks from cybersecurity threats that may materially affect the Company, see &#8220;Risk Factors&#8221; in this Annual Report on Form 10-K, including &#8220; If our information technology systems or data, or those of third parties upon which we rely, are or were compromised by a cybersecurity incident, we could experience adverse consequences resulting from such compromise, including but not limited to regulatory investigations or actions; litigation; fines and penalties; disruptions of our business operations; reputational harm; loss of revenue or profits; and other adverse consequences.&#8221;</span></p>
  <p style="font-size:10pt;margin-top:18pt;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. P</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ROPERTIES</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 corporate and research and development operations are located in San Francisco, California, where we lease approximately 234,000 square feet of office and laboratory space with approximately 30,000 square feet subleased. The lease for our San Francisco headquarters was originally scheduled to expire in 2023, and in June 2021, we amended the lease to extend it through 2028. We also lease approximately 67,000 square feet of office and manufacturing space in Beijing, China, and multiple office spaces in Beijing and Shanghai, China. Our leases in China expire in 2026. We have constructed a commercial manufacturing facility of approximately 5,500 square meters in Cangzhou, China, on approximately 33,000 square meters of land. Our right to use such land expires in 2068. We believe our facilities are adequate for our current needs and that suitable additional or substitute space would be available if needed.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_3_legal_proceeedings"><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></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 party to various legal actions that arose in the ordinary course of our business. We recognize accruals for any legal action when we conclude that a loss is probable and reasonably estimable. We did not have any material accruals for any active legal action in our consolidated balance sheet as of December 31, 2023, as we could not predict the ultimate outcome of these matters, or reasonably estimate the potential exposure. For a discussion of our legal proceedings, refer to 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;">Commitments and Contingencies</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements.</span></p>
  <p style="font-size:10pt;margin-top:18pt;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></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: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;">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: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;" 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></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 STO</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CKHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY 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;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 has been listed on the Nasdaq Global Select Market (&#8220;Nasdaq&#8221;) since November 14, 2014, under the symbol &#8220;FGEN.&#8221; Prior to our initial public offering, there was no public market for our common stock.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock Price 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 following graph illustrates a comparison of the total cumulative stockholder return for our common stock since December 31, 2018 to two indices: the Nasdaq Composite Index and the Nasdaq Biotechnology Index. The graph assumes an initial investment of $100 on December 31, 2018, in our common stock, the stocks comprising the Nasdaq Composite Index, and the stocks comprising the Nasdaq Biotechnology Index. The stockholder return shown in the graph below is not necessarily indicative of future performance, and we do not make or endorse any predictions as to future stockholder returns.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><img src="img64793345_0.jpg" alt="img64793345_0.jpg" style="width:581px;height:365px;"/>&#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-size:10pt;font-family:Times New Roman;min-width:fit-content;">The above Stock Price Performance Graph and related information shall not be deemed &#8220;soliciting material&#8221; or to be &#8220;filed&#8221; with the Securities and Exchange Commission, nor shall such information be incorporated by reference into any future filing under the Securities Act or Exchange Act, except to the extent that we specifically incorporate it by reference into such filing.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Dividend Policy</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 never declared or paid any cash dividends on our capital stock. We currently intend to retain all available funds and any future earnings to support our operations and finance the growth and development of our business. We do not intend to pay cash dividends on our common stock for the foreseeable future. Any future determination related to our dividend policy will be made at the discretion of our board of directors and will depend on then-existing conditions, including our financial condition, operating results, contractual restrictions, capital requirements, business prospects and other factors our board of directors may deem relevant.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stockholders</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 January 31, 2024, there were 105 registered stockholders of record for our common stock. This number of registered stockholders does not include stockholders whose shares are held in street names by brokers and other nominees, or may be held in trust by other entities. Therefore, the actual number of stockholders is greater than this number of registered stockholders of record.</span><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:18pt;font-family:Times New Roman;margin-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;">Recent Sales of Unregistered Securities</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;">None.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Purchases of Equity Securities by the Issuer and Affiliated Purchasers</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:18pt;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</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 6. [RESERVED]</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: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;">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: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;" 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></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;">You should read the following discussion and analysis of our financial condition and results of operations together with our consolidated financial statements and related notes and other financial information included in Item 8 of this Annual Report on Form 10-K for the year ended December 31, 2023 (&#8220;Annual Report&#8221;). Some of the information contained in this discussion and analysis or set forth elsewhere in this Annual Report, including information with respect to our plans and strategy for our business, international operations and product candidates, includes forward-looking statements that involve risks and uncertainties. You should review the &#8220;Forward-Looking Statements&#8221; and &#8220;&#8220;Risk Factors&#8221; sections of this Annual Report for a discussion of important factors that could cause our actual results to differ materially from the results described in or implied by the forward-looking statements contained in the following discussion and analysis.</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 discussion and analysis generally addresses 2023 and 2022 items and year-over-year comparisons between 2023 and 2022. Discussions of 2021 items and year-over-year comparisons between 2022 and 2021 that are not included in this Annual Report can be found in &#8220;Item 7. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8221; in our Annual Report on Form 10-K for the fiscal year ended December 31, 2022, filed with the SEC on February 27, 2023.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">BUSINESS OVERVIEW</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 headquartered in San Francisco, California, with subsidiary offices in Beijing and Shanghai, People&#8217;s Republic of China (&#8220;China&#8221;). We are developing and commercializing a diversified pipeline of novel therapeutics that work at the frontier of cancer biology and anemia.</span><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 and Astellas Pharma Inc. (&#8220;Astellas&#8221;) are collaborating on the development and commercialization of roxadustat in territories including Japan, Europe, Turkey, Russia and the Commonwealth of Independent States, the Middle East, and South Africa. We and AstraZeneca AB (&#8220;AstraZeneca&#8221;) are collaborating on the development and commercialization of roxadustat in the United States (&#8220;U.S.&#8221;), China, and other markets in the Americas, Australia/New Zealand, and Southeast Asia.</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 collaboration agreement with AstraZeneca AB (&#8220;AstraZeneca&#8221;) for roxadustat for the treatment of anemia in the U.S. and all territories except for China and those territories previously licensed to Astellas (the &#8220;AstraZeneca U.S./RoW Agreement&#8221;) was terminated (except for South Korea) on February 23, 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:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">However, our ongoing collaboration agreement with AstraZeneca for the development and commercialization of roxadustat for the treatment of anemia in China (the &#8220;AstraZeneca China Agreement&#8221;) continues in full force and is unaffected.</span><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 are also developing earlier stage clinical and preclinical product candidates, FG-3246, FG-3165 and FG-3175, to address unmet patient needs in oncology.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financial Highlights</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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:41.428%;"/>
    <td style="width:1.9%;"/>
    <td style="width:1%;"/>
    <td style="width:15.463000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:1.9%;"/>
    <td style="width:1%;"/>
    <td style="width:15.463000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:2.38%;"/>
    <td style="width:1%;"/>
    <td style="width:15.463000000000001%;"/>
    <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;">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;">(in thousands, except for per share 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:middle;"><p style="font-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;">Result of Operations</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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:middle;"><p style="font-size:10pt;margin-top: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">147,752</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">140,734</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">235,309</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:middle;"><p style="font-size:10pt;margin-top: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 costs and expenses</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">429,567</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">441,759</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,839</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:middle;"><p style="font-size:10pt;margin-top: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 loss</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,232</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(293,654</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(290,023</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:middle;"><p style="font-size:10pt;margin-top: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 loss per share - basic and diluted</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.92</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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>
   </tr>
   <tr style="background-color:#ffffff;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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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;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: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 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: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 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;">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 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;">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;">
    <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;"><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="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;">(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: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;">Balance Sheet</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 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: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 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>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top: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: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 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>
    <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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,688</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top: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 and long-term investments</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>
    <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>
    <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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">121,898</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">270,656</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:middle;"><p style="font-size:10pt;margin-top: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: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 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>
    <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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,299</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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="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: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;">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:10pt;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;">Our revenue for the year ended December 31, 2023 included the revenues recognized related to the following:</span></p>
  <div style="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.537%;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;">$100.9 million from roxadustat commercial sales in China, mostly from sales to Beijing Falikang Pharmaceutical Co. Ltd. (&#8220;Falikang&#8221;);</span></div></div>
  <div style="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.537%;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;">$18.8 million of drug product revenue related to active pharmaceutical ingredient (&#8220;API&#8221;) deliveries to Astellas;</span></div></div>
  <div style="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.537%;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;">$16.1 million of development revenue recognized under our collaboration agreements with our partners Astellas and AstraZeneca;</span></div></div>
  <div style="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.537%;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;">$1.0 million upfront payment, $3.0 million milestone payment based on Eluminex Biosciences (Suzhou) Limited (&#8220;Eluminex&#8221;) implanting a biosynthetic cornea in the first patient of its clinical trial in China and $3.0 million manufacturing related milestone payment, recognized under our license agreement and amendments with Eluminex; and</span></div></div>
  <div style="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.537%;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;">$4.0 million regulatory milestone recognized under AstraZeneca China Agreement (defined further below) associated with the renewal of our right to continue to market roxadustat in China. Of this amount, $2.7 million was recognized as license revenue, $0.8 million was recognized as development revenue and the remainder was included in deferred revenue.</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;">As comparison, our revenue for the year ended December 31, 2022 included the revenues recognized related to the following:</span></p>
  <div style="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.537%;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;">$25.0 million regulatory milestone recognized in the first quarter of 2022 under our collaboration agreements with our partner Astellas associated with the approval of EVRENZO&#174; (roxadustat) in Russia. Of this amount, $22.6 million was recognized as license revenue and the remainder was included as development revenue;</span></div></div>
  <div style="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.537%;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;">$22.4 million of development revenue recognized under our collaboration agreements with our partners Astellas and AstraZeneca; </span></div></div>
  <div style="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.537%;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;">$82.9 million from roxadustat commercial sales in China, mostly from sales to Falikang; and </span></div></div>
  <div style="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.537%;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;">$11.1 million of drug product revenue related to active pharmaceutical ingredient (&#8220;API&#8221;) deliveries to Astellas.</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;">Total operating costs and expenses decreased $12.2 million for the year ended December 31, 2023 compared to the prior year as a result of the net effect of the following:</span></p>
  <div style="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.537%;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;">$37.8 million lower drug development expenses associated with drug substance and drug product manufacturing activities related to roxadustat post-approval safety studies in China and pamrevlumab which were largely completed in the prior periods;</span></div></div>
  <div style="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.537%;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;">$14.8 million lower stock-based compensation primarily resulting from significantly lower stock price and cancellations of stock options and restricted stock units;</span></div></div>
  <div style="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.537%;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;">$3.8 million lower legal expenses primarily due to lower corporate legal activities;</span></div></div>
  <div style="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.537%;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;">$24.6 million one-time, non-cash charge of acquired in-process research and development (&#8220;IPR&amp;D&#8221;) expenses associated with the recent exclusive license for FG-3246 from Fortis Therapeutics (&#8220;Fortis&#8221;) and the acquisition of Fortis;</span></div></div>
  <div style="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.537%;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;">$12.6 million of restructuring charge recorded in the third quarter of 2023 related to reduction in force actions in July 2023;</span></div></div>
  <div style="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.537%;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;">$4.8 million higher employee-related expenses primarily due to the impact from payroll tax refunds received during 2022 that did not recur in the current year, as well as more business travel activities and higher severance during the current year period, offset by the impact from reduction in force actions in July 2023; and</span></div></div>
  <div style="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.537%;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;">$3.7 million higher outside services expenses due to higher consulting activities in roxadustat post-approval safety studies and efforts to prepare for commercialization in the first half of the year.</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: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;">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:10pt;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;">Our research and development expenses were $282.9 million, $296.8 million and $387.0 million for the years ended December 31, 2023, 2022 and 2021, respectively. Since inception and through December 31, 2023, we have incurred a total of approximately $3.2 billion in research and development expenses, a majority of which relates to the development of roxadustat, pamrevlumab and other HIF-PH inhibitors. We expect to continue to incur significant expenses and operating losses over at least the next few years as we continue to make investments in research and development to advance our product candidate portfolio. In addition, we expect to incur significant expenses relating to seeking regulatory approval for our product candidates and commercializing those products in various markets, including China. We consider the active management and development of our clinical pipeline to be particularly crucial to our long-term success. The process of conducting the necessary clinical research to obtain regulatory approval is costly and time consuming. We started to implement a cost reduction effort in the second half of 2021, following the complete response letter (&#8220;CRL&#8221;) for roxadustat in the U.S., and in the second half of 2023 in connection with our efforts to streamline operations to align with our business goals. As a result, operating expenses have decreased and may continue to decrease in certain areas over 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;min-width:fit-content;">During the year ended December 31, 2023, we had a net loss of $284.2 million, or net loss per basic and diluted share of $2.92, as compared to a net loss of $293.7 million, or net loss per basic and diluted share of $3.14 for the prior year, primarily due to an increase in revenues and a decrease in operating costs and expenses.</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;">Cash and cash equivalents, investments and accounts receivable totaled $248.1 million at December 31, 2023, a decrease of $194.5 million from December 31, 2022, primarily due to cash used in operations, partially offset by the net proceeds received under our senior secured term loan facilities and at-the-market program, discussed under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Liquidity and Capital Resources</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Collaboration Partnerships for Roxadustat</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 current and future research, development, manufacturing and commercialization efforts with respect to roxadustat depend on funds from our collaboration agreements with Astellas and AstraZeneca. See Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements for details.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Astellas</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 2005, we entered into a collaboration agreement with Astellas for the development and commercialization (but not manufacture) of roxadustat for the treatment of anemia in Japan (&#8220;Astellas Japan Agreement&#8221;). In April 2006, we entered into the Europe Agreement with Astellas for roxadustat for the treatment of anemia in Europe, the Commonwealth of Independent States, the Middle East, and South Africa (&#8220;Astellas Europe Agreement&#8221;). Under these agreements, the aggregate amount for upfront payments and milestone payments received through December 31, 2023 totals $790.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="hb_df63b63f4cdc45a3a7de6ff060d1771b"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On March 21, 2022, EVRENZO</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;"> (roxadustat) was registered with the Russian Ministry of Health. We evaluated the regulatory milestone payment associated with the approval in Russia under the Astellas Europe Agreement and concluded that this milestone was achieved in the first quarter of 2022. Accordingly, the consideration of $25.0 million associated with this milestone was included in the transaction price and allocated to performance obligations under the Astellas Europe Agreement, all of which was recognized as revenue during the first quarter of 2022 from performance obligations satisfied.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span id="fe_55bb16d3c1154227acdd5249991e2a22" style=""></span><span id="fb_55bb16d3c1154227acdd5249991e2a22" style=""></span><span id="he_df63b63f4cdc45a3a7de6ff060d1771b" style=""></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 2018, we and Astellas entered into an amendment to the Astellas Japan Agreement that allows Astellas to manufacture roxadustat drug product for commercialization in Japan (the &#8220;Astellas Japan Amendment&#8221;). The related drug product revenue was $15.7 million and $9.5 million for the years ended December 31, 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:12pt;font-family:Times New Roman;margin-bottom: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 first quarter of 2021, we entered into an EU Supply Agreement with Astellas under the Astellas Europe Agreement to define general forecast, order, supply and payment terms for Astellas to purchase roxadustat bulk drug product from FibroGen in support of commercial supplies (the &#8220;Astellas EU Supply Agreement&#8221;). The related drug product revenue was $3.1 million and $1.6 million for the years ended December 31, 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:12pt;font-family:Times New Roman;margin-bottom: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, Astellas has been an equity investor in FibroGen and considered a related party.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">AstraZeneca</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 2013, we entered into a collaboration agreement with AstraZeneca for roxadustat for the treatment of anemia in the U.S. and all territories except for China and those territories previously licensed to Astellas (the &#8220;AstraZeneca U.S./RoW Agreement&#8221;). In July 2013, through our China subsidiary and related affiliates, we entered into a collaboration agreement with AstraZeneca for roxadustat for the treatment of anemia in China (the &#8220;AstraZeneca China Agreement&#8221;). The aggregate amount for upfront payments and milestone payments received through December 31, 2023 totals $516.2 million.</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 February 23, 2024, the AstraZeneca U.S./RoW Agreement was terminated (except for South Korea), while the AstraZeneca China Agreement and relationship continue unaffected.</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 AstraZeneca China Agreement, which is conducted through FibroGen China Anemia Holdings, Ltd., FibroGen (China) Medical Technology Development Co., Ltd. (&#8220;FibroGen Beijing&#8221;), and FibroGen International (Hong Kong) Limited (collectively, &#8220;FibroGen China&#8221;), the commercial collaboration was structured as a 50/50 profit share, which was amended by the AstraZeneca China Amendment in the third quarter of 2020, as discussed and defined below 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;">AstraZeneca China Amendment</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;">In 2020, we entered into a Master Supply Agreement with AstraZeneca under the AstraZeneca U.S./RoW Agreement (the &#8220;AstraZeneca Master Supply Agreement&#8221;) to define general forecast, order, supply and payment terms for AstraZeneca to purchase roxadustat bulk drug product from FibroGen in support of commercial supplies. There was no related drug product revenue for the years ended December 31, 2023 and 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;">On September 18, 2023, we received the formal notice, from Beijing Medical Products Administration, of renewal of its right to continue to market roxadustat in China through 2028. We evaluated the regulatory milestone payment associated with this renewal under the AstraZeneca China Agreement and concluded that this milestone was achieved in the third quarter of 2023. Accordingly, the consideration of $4.0 million associated with this milestone was included in the transaction price and allocated to performance obligations under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, all of which was recognized as revenue during the third quarter of 2023 from performance obligations satisfied.</span><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: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;font-style:italic;min-width:fit-content;">AstraZeneca China Amendment</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 2020, FibroGen China and AstraZeneca (together with FibroGen China, the &#8220;Parties&#8221;) entered into an amendment, effective July 1, 2020, to the AstraZeneca China Agreement, relating to the development and commercialization of roxadustat in China (the &#8220;AstraZeneca China Amendment&#8221;). Under the AstraZeneca China Amendment, in 2020, FibroGen Beijing and AstraZeneca completed the establishment of a jointly owned entity, Falikang, which performs roxadustat distribution, as well as conduct sales and marketing through AstraZeneca.</span><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="highlight_result_9"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">W</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">e account for our investment in Falikang under the equity method, and Falikang is not consolidated into our consolidated financial statements. In addition, we recognized our proportionate share of the reported profits or losses of Falikang, as other income (loss) in the consolidated statement of operations, and as an adjustment to investment in unconsolidated subsidiary in the consolidated balance sheet. See Note 5,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Equity method investment - Variable Interest Entity</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements for details.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="highlight_result_12"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">S</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ubstantially all direct roxadustat product sales to distributors in China are made by Falikang, while FibroGen Beijing continues to sell roxadustat product directly in one province in China. FibroGen Beijing manufactures and supplies commercial product to Falikang based on a gross transaction price, adjusted for the estimated profit share. In addition, AstraZeneca bills the co-promotion expenses to Falikang and to FibroGen Beijing, respectively, for its services provided to the respective entity. AstraZeneca is entitled to reimbursement of its sales and marketing expenses up to a cumulative capped amount of a percentage of net sales. Once such amount is reached, AstraZeneca will bill the co-promotion expenses based on actual costs as incurred plus a markup on a prospective basis, which is currently expected to continue through 2033. In addition, Development costs continue to be shared 50/50 between the Parties.</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 revenue upon the transfer of control of commercial products to Falikang in an amount that reflects the allocation of transaction price of the China manufacturing and supply obligation (&#8220;China performance obligation&#8221;) to the performance obligation satisfied during the reporting period. For our direct sales of commercial drug product, we recognize revenue when control of the promised good is transferred to the customer in an amount that reflects the consideration that we expect to be entitled to in exchange for the product.</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;">During the years ended December 31, 2023 and 2022, we recognized $89.1 million and $71.2 million of net product revenue from the sales to Falikang, respectively, and $11.9 million and $11.7 million of net product revenue from sales directly to distributors in one province in China, as described in details under </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Additional Information Related to Collaboration Agreements</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 more detailed discussions on the accounting for these agreements, See Note 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;">Collaboration Agreements, License Agreement and Revenues,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to the 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:12pt;font-family:Times New Roman;margin-bottom: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 cash consideration received through December 31, 2023 and potential cash consideration for upfront payments and milestone payments under our collaboration agreements are 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: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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:39.123%;"/>
    <td style="width:1.801%;"/>
    <td style="width:1%;"/>
    <td style="width:16.111%;"/>
    <td style="width:1%;"/>
    <td style="width:1.001%;"/>
    <td style="width:1%;"/>
    <td style="width:16.912%;"/>
    <td style="width:1%;"/>
    <td style="width:1.001%;"/>
    <td style="width:1%;"/>
    <td style="width:18.053%;"/>
    <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;">Cash Received for Upfront Payments and Milestone Payments<br/>Through<br/>December 31,</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;">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;">Additional<br/>Potential<br/>Cash Payment for Milestones</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;">Total<br/>Potential<br/>Cash Payments for Upfront Payments and Milestones</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;">(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: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;">Astellas--related-party:</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 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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
   </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;">Astellas Japan Agreement</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">105,093</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">67,500</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">172,593</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Astellas Europe Agreement</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">685,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="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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">745,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="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:bottom;"><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 Astellas</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">790,093</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">127,500</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">917,593</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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: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;">AstraZeneca:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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: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;">AstraZeneca U.S./RoW Agreement</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">439,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: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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">810,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: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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,249,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>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;">AstraZeneca China Agreement</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">77,200</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">299,500</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">376,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>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"><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 AstraZeneca</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">516,200</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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,109,500</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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,625,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>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:30pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:30pt;text-indent:0;font-size:10pt;margin-top: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: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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,306,293</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">1,237,000</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">2,543,293</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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:12pt;font-family:Times New Roman;margin-bottom: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 above table does not include development cost reimbursement, transfer price payments, and royalties and profit share under our existing collaboration agreements. Based on our current development plans for roxadustat, we do not expect to receive most or all of these additional potential milestones. The AstraZeneca U.S./RoW Agreement was terminated on February 23, 2024 (except for South Korea), while the AstraZeneca China Agreement and relationship continue unaffected.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Licensing 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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Exclusive License with Eluminex</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 July 2021, we exclusively licensed to Eluminex global rights to our investigational biosynthetic cornea derived from recombinant human collagen type III.</span><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 terms of the agreement with Eluminex, Eluminex made an $8.0 million upfront payment to FibroGen during the first quarter of 2022. In addition, FibroGen may receive up to a total of $64.0 million in future manufacturing, clinical, regulatory, and commercial milestone payments for the biosynthetic cornea program, as well as $36.0 million in commercial milestones for the first recombinant collagen III product that is not the biosynthetic cornea. FibroGen will also be eligible to receive mid single-digit to low double-digit royalties based upon worldwide net sales of cornea products, and low single-digit to mid single-digit royalties based on worldwide net sales of other recombinant human collagen type III products that are not cornea 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;min-width:fit-content;">In April 2023, FibroGen and Eluminex entered into an Amended and Restated Exclusive License Agreement (&#8220;A&amp;R Eluminex Agreement&#8221;) in order to add to the license rights to recombinant human collagen Type I (in addition to the rights to collagen Type III that were already licensed). The A&amp;R Eluminex Agreement included additional total upfront payments of $1.5 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;">For the year ended December 31, 2023, FibroGen recognized a $3.0 million milestone payment based on Eluminex implanting a biosynthetic cornea in the first patient of its clinical trial in China, a $3.0 million manufacturing related milestone payment, a $1.0 million upfront payment, and a $0.5 million upfront payment related to patent transfer. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Eluminex Agreements</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements for details.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue</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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:35.574%;"/>
    <td style="width:1.701%;"/>
    <td style="width:1%;"/>
    <td style="width:9.664%;"/>
    <td style="width:1%;"/>
    <td style="width:1.701%;"/>
    <td style="width:1%;"/>
    <td style="width:9.664%;"/>
    <td style="width:1%;"/>
    <td style="width:1.701%;"/>
    <td style="width:1%;"/>
    <td style="width:9.664%;"/>
    <td style="width:1%;"/>
    <td style="width:1.701%;"/>
    <td style="width:1%;"/>
    <td style="width:8.904%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:6.162%;"/>
    <td style="width:1%;"/>
    <td style="width:2.561%;"/>
   </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;">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 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;">Change 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;">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>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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></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></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="20" style="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;">(dollars in thousands)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;min-width:fit-content;">Revenue:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
   </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;">License revenue</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,649</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,590</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,434</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,941</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">(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="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="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;">
    <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;">Development and other revenue</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,401</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,189</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">70,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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,788</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">(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="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="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;">
    <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;">Product revenue, net</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,869</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,638</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,080</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;">Drug product revenue, net</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,753</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">962</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,667</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"><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: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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">147,752</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">140,734</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">235,309</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,018</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </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;">Under our revenue recognition policy, license revenue includes amounts from upfront, non-refundable license payments and amounts allocated pursuant to the standalone selling price method from other consideration received during the respective periods. This revenue is generally recognized as deliverables are met and services are performed. License revenues represented 7%, 16% and 50% of total revenues for the years ended December 31, 2023, 2022 and 2021, respectively.</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;">Development revenue includes co-development and other development related services. We recognize development services as revenue in the period in which they are billed to our partners, excluding China. As of December 31, 2023, we do not expect to incur significant future co-development services. For China co-development services, we defer revenue until we begin to transfer control of the manufactured commercial product to AstraZeneca, which commenced in the first quarter of 2021 and we expect to continue through 2033, which reflects our best estimates, taking into account our estimated loss of exclusivity upon expiry of our composition of matter patent in 2024, our existing patent portfolio, and competition from generics. Other revenues consist of contract manufacturing revenue, patent transfer and sales of research and development material, which have not been material for any of the periods presented. Development and other revenues represented 12%, 17% and 30% of total revenues for the years ended December 31, 2023, 2022 and 2021, respectively.</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 when our customer obtains control of promised goods or services in an amount that reflects the consideration we expect to receive in exchange for those goods or services. Product revenue represented 68%, 59% and 20% of total revenue for the years ended December 31, 2023, 2022 and 2021, respectively.</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;">Drug product revenue includes commercial-grade API or bulk drug product sales to AstraZeneca, under the AstraZeneca U.S./RoW Agreement, and Astellas in support of pre-commercial preparation prior to the New Drug Application or marketing authorization application approval, and to Astellas for ongoing commercial activities in Japan and Europe. We recognize drug product revenue when we fulfill the inventory transfer obligations. The amount of variable consideration that is included in the transaction price may be constrained, and is included in the drug product revenue only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period when the uncertainty associated with the variable consideration is subsequently resolved. Actual amounts of consideration ultimately received in the future may differ from our estimates, for which we will adjust these estimates and affect the drug product revenue in the period such variances become known. Drug product revenues represented 13%, 8%, and 0% of total revenues for the years ended December 31, 2023, 2022 and 2021, respectively.</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 future, we will continue generating revenue from collaboration agreements in the form of license fees, milestone payments, reimbursements for collaboration services and royalties on drug product sales, and from product sales. The AstraZeneca U.S./RoW Agreement was terminated on February 23, 2024 (except for South Korea), while the AstraZeneca China Agreement and relationship continue unaffected. We expect that any revenues we generate will fluctuate from quarter to quarter due to the uncertain timing and amount of such payments and sales.</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;">Total revenue increased $7.0 million, or 5.0% for the year ended December 31, 2023 compared to the year ended December 31, 2022 for the reasons discussed in the sections below.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">License Revenue</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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:34.72%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:9.96%;"/>
    <td style="width:1%;"/>
    <td style="width:1.74%;"/>
    <td style="width:1%;"/>
    <td style="width:9.96%;"/>
    <td style="width:1%;"/>
    <td style="width:1.74%;"/>
    <td style="width:1%;"/>
    <td style="width:9.96%;"/>
    <td style="width:1%;"/>
    <td style="width:1.74%;"/>
    <td style="width:1%;"/>
    <td style="width:9.22%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:6.34%;"/>
    <td style="width:1%;"/>
    <td style="width:2.62%;"/>
   </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;">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>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">Change 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="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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="border-top:0.5pt solid #000000;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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></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></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="20" style="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;">(dollars in thousands)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;min-width:fit-content;">License revenue:</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 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
   </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;">Astellas</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,590</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">108,434</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,590</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">100</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;">AstraZeneca</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,649</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">2,649</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">NM</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-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;">
    <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;">Eluminex</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">8,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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">NM</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-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:#cff0fc;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"><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 license revenue</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,649</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,590</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,434</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,941</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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="color:#000000;white-space:pre-wrap;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="color:#000000;white-space:pre-wrap;font-size:6pt;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;">NM = Not meaningful</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;">License revenue decreased $12.9 million, or 57% for the year ended December 31, 2023 compared to the year ended December 31, 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;">License revenue recognized under our collaboration agreements with AstraZeneca for the year ended December 31, 2023 represented the allocated revenue related to $4.0 million regulatory milestone associated with the renewal of our right to continue to market roxadustat in China that was included in the transaction price during the third quarter of 2023 when such milestone was achieved. License revenue recognized for the year ended December 31, 2023 also included a $1.0 million upfront payment under the A&amp;R Eluminex Agreement, a $3.0 million milestone payment based on Eluminex implanting a biosynthetic cornea in the first patient of its clinical trial in China, and a $3.0 million manufacturing related milestone payment when such milestones were achieved.</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;">License revenue recognized under our collaboration agreements with Astellas for the year ended December 31, 2022 represented the allocated revenue related to $25.0 million regulatory milestone associated with the approval of EVRENZO</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;"> (roxadustat) in Russia that was included in the transaction price during the first quarter of 2022 when such milestone was achieved.</span></p>
  <p style="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-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Development and Other Revenue</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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:35.574%;"/>
    <td style="width:1.701%;"/>
    <td style="width:1%;"/>
    <td style="width:9.664%;"/>
    <td style="width:1%;"/>
    <td style="width:1.701%;"/>
    <td style="width:1%;"/>
    <td style="width:9.664%;"/>
    <td style="width:1%;"/>
    <td style="width:1.701%;"/>
    <td style="width:1%;"/>
    <td style="width:9.664%;"/>
    <td style="width:1%;"/>
    <td style="width:1.701%;"/>
    <td style="width:1%;"/>
    <td style="width:8.904%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:6.162%;"/>
    <td style="width:1%;"/>
    <td style="width:2.561%;"/>
   </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;">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>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">Change 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="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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="border-top:0.5pt solid #000000;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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></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></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="20" style="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;">(dollars in thousands)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;min-width:fit-content;">Development revenue:</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 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
   </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;">Astellas</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;">9,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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,927</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,246</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">(33</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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="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;">
    <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;">AstraZeneca</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,473</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,519</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">48,345</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,046</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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="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;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"><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 development revenue</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;">22,427</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">70,272</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,292</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">(28</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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="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;">
    <td style="white-space:pre-wrap;vertical-align: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;">Other revenue</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,266</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,762</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">504</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"><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 development and other revenue</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,189</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">70,275</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,788</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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="color:#000000;white-space:pre-wrap;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;">Development and other revenue decreased $5.8 million, or 24% for the year ended December 31, 2023 compared to the year ended December 31, 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;">Development revenue recognized under our collaboration agreements with Astellas for the year ended December 31, 2023 was impacted by the decrease in co-development billings due to substantial completion of Phase 3 trials for roxadustat under our collaboration agreements with Astellas for roxadustat. Development revenue recognized under our collaboration agreements with Astellas for the year ended December 31, 2022 included the allocated revenue of $2.4 million related to the above-mentioned $25.0 million regulatory milestone associated with the approval in Russia during the first quarter of 2022, which did not recur in 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;">Development revenue recognized under our collaboration agreements with AstraZeneca for the year ended December 31, 2023 was impacted by the decrease in co-development billings due to the closeout activities under our collaboration agreements with AstraZeneca for roxadustat, which was partially offset by the allocated revenue of $0.8 million related to the above-mentioned $4.0 million regulatory milestone associated with the renewal of our right to continue to market roxadustat in China.</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: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;">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:10pt;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;">Other revenue recognized for the year ended December 31, 2023 included an upfront payment related to patent transfer under from Eluminex, revenue from sales of certain research and development material, as well as revenue related to our contract manufacturing agreement with Eluminex, under which we were responsible for supplying the cornea product at 110% of our product manufacturing costs until our manufacturing technology is fully transferred to Eluminex, which occurred by the end of 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:18pt;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;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Product Revenue, 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:10pt;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:35.574%;"/>
    <td style="width:1.701%;"/>
    <td style="width:1%;"/>
    <td style="width:9.664%;"/>
    <td style="width:1%;"/>
    <td style="width:1.701%;"/>
    <td style="width:1%;"/>
    <td style="width:9.664%;"/>
    <td style="width:1%;"/>
    <td style="width:1.701%;"/>
    <td style="width:1%;"/>
    <td style="width:9.664%;"/>
    <td style="width:1%;"/>
    <td style="width:1.701%;"/>
    <td style="width:1%;"/>
    <td style="width:8.904%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:6.162%;"/>
    <td style="width:1%;"/>
    <td style="width:2.561%;"/>
   </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;">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>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">Change 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="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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="border-top:0.5pt solid #000000;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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></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></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="20" style="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;">(dollars in thousands)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;">Direct Sales:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
   </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;">Gross revenue</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,190</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,366</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">824</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </tr>
   <tr style="height:10pt;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Discounts and rebates</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="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;">(665</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">(1,740</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">(633</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">95</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </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;">Sales returns</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:bottom;"><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;">Direct sales revenue, net</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,894</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,702</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,070</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">192</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </tr>
   <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <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="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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;">Sales to Falikang:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
   </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;">Gross transaction price</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">154,817</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">112,544</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">97,531</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,273</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </tr>
   <tr style="height:10pt;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Profit share</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(66,254</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">(43,716</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">(34,759</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">(22,538</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">52</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </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;">Net transaction price</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,563</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,828</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">62,772</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,735</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;">Decrease (increase) in deferred revenue</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">492</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,339</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,204</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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,847</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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="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;">
    <td style="text-indent:15pt;white-space:pre-wrap;vertical-align:bottom;"><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;">Sales to Falikang revenue, net</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">89,055</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,167</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,568</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,888</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"><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 product revenue, net</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,949</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,869</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,638</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,080</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </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;">Substantially all direct product sales to distributors in China have been made by Falikang, while FibroGen Beijing continues to sell product directly in one province in China. Total product revenue, net increased $18.1 million, or 22% for the year ended December 31, 2023 compared to the year ended December 31, 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;">We recognize product revenue from direct sales to distributors in an amount that reflects the consideration that we expect to be entitled to in exchange for those products, net of various sales rebates and discounts. Product revenue from direct sales, net increased $0.2 million, or 2% for the year ended December 31, 2023 compared to the year ended December 31, 2022. The gross product revenue from direct sales to distributors increased $0.8 million, or 7% for the year ended December 31, 2023 compared to the year ended December 31, 2022, primarily due to an increase in sales volume. The discounts and rebates primarily consisted of the price adjustments recorded based on government-listed price guidance and estimated channel inventory levels, the contractual sales rebate calculated based on the stated percentage of gross sales by each distributor in the distribution agreement entered between FibroGen and each distributor, and other rebates and discounts, as well as sales return allowance. The total discounts and rebates were immaterial 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:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FibroGen Beijing manufactures and supplies commercial product to Falikang based on a gross transaction price, adjusted for the estimated profit share. We recognize revenue upon the transfer of control of commercial products to Falikang in an amount that reflects the allocation of the China performance obligation transaction price to the performance obligation satisfied during the reporting period. The variable consideration components that are included in the transaction price may be constrained, and are included in the product revenue only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period when the uncertainty associated with the variable consideration is subsequently resolved.</span><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;">Sales to Falikang revenue, net increased $17.9 million, or 25% for the year ended December 31, 2023 compared to the year ended December 31, 2022. The gross transaction price increased $42.3 million and the calculated profit share increased $22.5 million for the year ended December 31, 2023 compared to the year ended December 31, 2022, respectively, primarily due to the increase in sales volume.</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;">Periodically, we update our assumptions such as total sales quantity, performance period, gross transaction price,  profit share and other inputs including foreign currency translation impact, among others. Following updates to our estimates, we recognized $0.5 million and $2.3 million from the previously deferred revenue of the China performance obligation during the years ended December 31, 2023 and 2022, respectively.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Drug Product Revenue</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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:34.72%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:9.96%;"/>
    <td style="width:1%;"/>
    <td style="width:1.74%;"/>
    <td style="width:1%;"/>
    <td style="width:9.96%;"/>
    <td style="width:1%;"/>
    <td style="width:1.74%;"/>
    <td style="width:1%;"/>
    <td style="width:9.96%;"/>
    <td style="width:1%;"/>
    <td style="width:1.74%;"/>
    <td style="width:1%;"/>
    <td style="width:9.22%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:6.34%;"/>
    <td style="width:1%;"/>
    <td style="width:2.62%;"/>
   </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;">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>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">Change 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="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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="border-top:0.5pt solid #000000;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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></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></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="20" style="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;">(dollars in thousands)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;min-width:fit-content;">Drug product revenue, net:</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 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
   </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;">Astellas Japan Agreement</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,656</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,480</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,056</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,176</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;">Astellas Europe Agreement</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,097</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;">1,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,491</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">93</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </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;">AstraZeneca U.S./RoW Agreement</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">&#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;">(2,224</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"><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 drug product revenue, net:</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,753</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">962</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,667</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </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;">Drug product revenue increased $7.7 million, or 69% for the year ended December 31, 2023 compared to the year ended December 31, 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;">Astellas Japan 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;">During the second quarter of 2023, we fulfilled two shipment obligations under the terms of Astellas Japan Amendment, and recognized related drug product revenue of $14.4 million in the same period. In addition,we updated our estimate of variable consideration related to the API shipments fulfilled under the terms of Astellas Japan Amendment and accordingly recorded an adjustment to the drug product revenue of $1.3 million for the year ended December 31, 2023. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect the changes in the estimated bulk product strength mix intended to be manufactured by Astellas, foreign exchange impacts and estimated yield from the manufacture of bulk product tablets, among others.</span><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;">During the first quarter of 2022, we fulfilled a shipment obligation under the terms of Astellas Japan Amendment and recognized related drug product revenue of $9.8 million in the same period. During the fourth quarter of 2022, we fulfilled a shipment obligation under the terms of Astellas Japan Amendment, and recognized related drug product revenue of $8.4 million in the same period. In addition, we updated our estimate of variable consideration related to the API shipments fulfilled under the terms of Japan Amendment with Astellas, and recorded a reduction to the drug product revenue of $8.7 million during the year ended December 31, 2022</span><span style="color:#cc0000;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;">Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect foreign currency translation impact, the changes in the estimated bulk product strength mix intended to be manufactured by Astellas, estimated cost to convert the API to bulk product tablets, and estimated yield from the manufacture of bulk product tablets, among others</span><span style="color:#cc0000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#cc0000;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, the balances related to the API price true-up under the Astellas Japan Agreement were $1.2 million in accrued liabilities and $0.7 million in other long-term liabilities, representing the Company&#8217;s best estimate of the timing for these amounts to be paid. As of December 31, 2022, the related balance in accrued liabilities was $6.5 million.</span></p>
  <p style="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;font-style:italic;min-width:fit-content;">Astellas Europe 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;">During the fourth quarter of 2023, we transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing costs of $0.8 million as drug product revenue, and recorded $17.7 million as deferred revenue due to a high degree of uncertainty associated with the variable consideration for revenue recognition purposes. In addition, we updated our estimate of variable consideration related to the bulk drug product transferred in prior years. Specifically, the change in estimated variable consideration was based on the bulk drug product held by Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, forecast information, shelf-life estimates and other items. As a result, for the year ended December 31, 2023, we reclassified $38.7 million from the related deferred revenue to accrued liabilities. As of December 31, 2023, the related balance in accrued liabilities was $38.6 million, representing our best estimate that this amount will be paid within the next 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>
  <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: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;">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:10pt;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 second quarter of 2022, we transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing costs of $1.0 million as drug product revenue, and recorded $23.2 million as deferred revenue due to a high degree of uncertainty associated with the variable consideration for revenue recognition purposes. In addition, we updated our estimate of variable consideration related to the bulk drug product transferred in prior years. Specifically, the change in estimated variable consideration was based on the bulk drug product held by Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, forecast information, shelf-life estimates and other items. As a result, during the year ended December 31, 2022, we reclassified a total of $57.4 million from the related deferred revenue to accrued liabilities. As of December 31, 2022, the related balance in accrued liabilities was $57.4 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;">In addition, we recognized royalty revenue of $2.3 million and $0.6 million as drug product revenue from the deferred revenue under the Astellas Europe Agreement for the years ended December 31, 2023 and 2022, respectively. The remainder of the deferred revenue will be recognized as and when uncertainty is resolved, based on the performance of roxadustat product sales in the Astellas territory.</span></p>
  <p style="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;font-style:italic;min-width:fit-content;">AstraZeneca U.S./RoW 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="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom: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 shipment of bulk drug product to AstraZeneca as commercial supply under the terms of the AstraZeneca Master Supply Agreement during the years ended December 31, 2023 and 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;">During the first quarter of 2022, we evaluated the current developments in the U.S. market, and updated our estimates of variable consideration associated with bulk drug product shipments to AstraZeneca in prior years as commercial supply under the terms of the AstraZeneca Master Supply Agreement. As a result, during the year ended December 31, 2022, we reclassified $11.2 million from the related deferred revenue to accrued liabilities, which remained unchanged as of December 31, 2023, representing our best estimate that this amount will be paid within the next 12 months.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Operating Costs and Expenses</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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:35.727%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:9.762%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.762%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.762%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.022%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:6.221%;"/>
    <td style="width:1%;"/>
    <td style="width:2.581%;"/>
   </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;">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>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">Change 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="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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="border-top:0.5pt solid #000000;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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></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></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="20" style="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;">(dollars in thousands)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;min-width:fit-content;">Operating costs and expenses</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
   </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;">Cost of goods sold</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,848</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,871</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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="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;">
    <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;">Research and development</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">296,791</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">387,043</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="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;">(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>
    <td style="white-space:pre-wrap;vertical-align: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>
   </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;">Selling, general and administrative</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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,252</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,688</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,925</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,436</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">(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;"><p style="font-size:10pt;margin-top: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>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;">Restructuring charge</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,606</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">&#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;">12,606</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">NM</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-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;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"><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 operating costs and expenses</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>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">429,567</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">441,759</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,839</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,192</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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="color:#000000;white-space:pre-wrap;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="color:#000000;white-space:pre-wrap;font-size:6pt;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;">NM = Not meaningful</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;">Total operating expenses decreased $12.2 million, or 3% for the year ended December 31, 2023 compared to the year ended December 31, 2022, for the reasons discussed in the sections below.</span></p>
  <p style="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-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cost of goods sold</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;">Cost of goods sold decreased ($1.4) million, or (7)% for the year ended December 31, 2023 compared to the year ended December 31, 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;">Cost of goods sold, associated with the roxadustat commercial sales in China, consists of direct costs to manufacture commercial product, as well as indirect costs including factory overhead, storage, shipping, quality assurance, idle capacity charges, and inventory valuation adjustments. Cost of goods sold associated with the roxadustat commercial sales in China was $14.9 million for the year ended December 31, 2023, as compared to $15.1 million for the year ended December 31, 2022, a decrease of $0.2 million, resulting from improved unit cost efficiency primarily due to higher production volume, partially offset by the increase in the sales volume.</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: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;">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:10pt;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;">Cost of goods sold associated with the roxadustat drug product revenue in the U.S. was $3.1 million and $3.8 million for the years ended December 31, 2023 and 2022, respectively, associated with the costs of API or bulk drug product delivered to Astellas and AstraZeneca in the respective 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cost of goods sold for the years ended December 31, 2023 and 2022 also included manufacturing costs $0.8 million and $1.4 million, respectively, related to our contract manufacturing revenue from Eluminex.</span></p>
  <p style="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-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Research and Development Expenses</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;">Research and development expenses consist of third-party research and development costs and the fully-burdened amount of costs associated with work performed under collaboration agreements. Research and development expenses include employee-related expenses for research and development functions, expenses incurred under agreements with clinical research organizations, other clinical and preclinical costs and allocated direct and indirect overhead costs, such as facilities costs, information technology costs and other overhead. We expense research and development costs as incurred. We recognize costs for certain development activities based on an evaluation of the progress to completion of specific tasks using information and data provided to us by our vendors and our clinical sites. Research and development expenses also include in-process research and development assets that have no alternative future use other than in a particular research and development project. We have implemented a cost reduction effort since 2021 and efforts to streamline operations to align with our business goals in the second half of 2023, as a result, research and development expenses have decreased and may continue to decrease in certain areas over 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;">The following table summarizes our research and development expenses incurred during the years ended December 31, 2023, 2022 and 2021:</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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:32.9%;"/>
    <td style="width:1.54%;"/>
    <td style="width:14.6%;"/>
    <td style="width:1.54%;"/>
    <td style="width:1%;"/>
    <td style="width:12.08%;"/>
    <td style="width:1%;"/>
    <td style="width:2.82%;"/>
    <td style="width:1%;"/>
    <td style="width:12.08%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:1%;"/>
    <td style="width:12.08%;"/>
    <td style="width:1%;"/>
    <td style="width:2.82%;"/>
   </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;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></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;min-width:fit-content;">Phase of</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;">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:8pt;margin-top:0;font-family:Times New Roman;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;">Product Candidate</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;"><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;">Development</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>
    <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;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">(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>
   </tr>
   <tr style="height:10pt;word-break:break-word;">
    <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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Pamrevlumab</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:pre-wrap;vertical-align: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;">Phase 2/3</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;"><p style="font-size:10pt;margin-top:0;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;">145,730</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;"><p style="font-size:10pt;margin-top:0;font-family:Times 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;"><p style="font-size:10pt;margin-top:0;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;">198,764</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;"><p style="font-size:10pt;margin-top:0;font-family:Times 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;"><p style="font-size:10pt;margin-top:0;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;">188,534</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;"><p style="font-size:10pt;margin-top:0;font-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;">
    <td style="white-space:pre-wrap;vertical-align: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;">Roxadustat</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;">Approved / Phase 3</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,116</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,469</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">97,245</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-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;white-space:pre-wrap;vertical-align: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;">FG-3246</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:pre-wrap;vertical-align: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;">Preclinical</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;"><p style="font-size:10pt;margin-top: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,362</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;"><p style="font-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;">&#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;">&#8212;</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;"><p style="font-size:10pt;margin-top:0;font-family:Times 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;"><p style="font-size:10pt;margin-top: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;">&#8212;</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;"><p style="font-size:10pt;margin-top:0;font-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;">
    <td colspan="3" style="white-space:pre-wrap;vertical-align: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;">Other research and development expenses</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,653</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">51,558</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101,264</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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;**</span></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;">
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;&#160;&#160;&#160;Total research and development expenses</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;">282,861</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;">296,791</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;">387,043</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="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:86.667%;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="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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">*	Included $24.6 million one-time, non-cash acquired IPR&amp;D expenses associated with the recent exclusive license for FG-3246 from Fortis and the acquisition of Fortis. See Note 4, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Exclusive License and Option to Acquire Fortis Therapeutics</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements.</span></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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">**  	Other research and development expenses included $60.0 million of acquired in-process research and development assets related to upfront payments to HiFiBiO during the year ended December 31, 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;">The program-specific expenses summarized in the table above include costs we directly attribute to our product candidates. We allocate research and development salaries, benefits, stock-based compensation and other indirect costs to our product candidates on a program-specific basis, and we include these costs in the program-specific expenses.</span><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;">Research and development expenses decreased $13.9 million, or 5% for the year ended December 31, 2023 compared to the year ended December 31, 2022 as a result of the net effect of the following:</span></p>
  <div style="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.537%;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;">Decrease of $37.8 million in drug development expenses associated with drug substance, drug product manufacturing activities and logistic activities related to pamrevlumab which were largely completed in the prior periods;</span></div></div>
  <div style="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.537%;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;">Decrease of $9.4 million in stock-based compensation primarily resulting from significantly lower stock price and cancellations of stock options and restricted stock units;</span></div></div>
  <div style="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.537%;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;">$24.6 million one-time, non-cash acquired IPR&amp;D expenses associated with the recent exclusive license for FG-3246 from Fortis and the acquisition of Fortis;</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="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.537%;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 of $3.7 million in employee-related costs primarily due to the impact from payroll tax refunds received during 2022 that did not recur in the current year, as well as more business travel activities and higher severance, offset by the impact from reduction in force actions in July 2023; and</span></div></div>
  <div style="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.537%;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 of $3.1 million information technology, facilities and allocated costs primarily associated with software costs and maintenance services.</span></div></div>
  <p style="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-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Selling, General and Administrative Expenses</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;">Selling, general and administrative (&#8220;SG&amp;A&#8221;) expenses consist primarily of employee-related expenses for executive, operational, finance, legal, compliance, and human resource functions. SG&amp;A expenses also include facility-related costs, professional fees, accounting and legal services, other outside services including co-promotional expenses associated with our commercialization efforts in China, recruiting fees and expenses associated with obtaining and maintaining patents. We have implemented a cost reduction effort since 2021 and efforts to streamline operations to align with our business goals in the second half of 2023, as a result, SG&amp;A expenses have decreased in certain areas and may continue to decrease over 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;">SG&amp;A expenses decreased $9.4 million, or (8)% for the year ended December 31, 2023 compared to the year ended December 31, 2022, as a result of the net effect of the following:</span></p>
  <div style="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.537%;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;">Decrease of $5.4 million in stock-based compensation primarily resulting from significantly lower stock price and cancellations of stock options and restricted stock units;</span></div></div>
  <div style="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.537%;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;">Decrease of $3.8 million in legal expenses primarily due to lower corporate legal activities;</span></div></div>
  <div style="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.537%;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;">Decrease of $3.3 million due to higher expenses in information technology, facilities and equipment costs primarily associated with software costs and maintenance services, which were allocated to research and development expenses;</span></div></div>
  <div style="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.537%;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 of $1.7 million in outside services expenses due to higher consulting activities in general administrative function and efforts to prepare for commercialization in the first half of the year; and</span></div></div>
  <div style="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.537%;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 of $1.1 million in employee-related costs primarily due to the impact from payroll tax refunds received during 2022 that did not recur in the current year, as well as higher severance during the current year period, offset by the impact from reduction in force actions in July 2023 and lower recruiting and relocation costs.</span></div></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Restructuring Charge</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;">On July 14, 2023, we approved a restructuring plan (the &#8220;Plan&#8221;) to lower our operating expenses. The Plan included a reduction to our U.S. workforce of approximately 32% (or 104 employees). As a result, we recorded a total of $12.6 million non-recurring restructuring charge during the third quarter of 2023, primarily consisting of notice period and severance payments, accrued vacation and employee benefits contributions. The Plan is in connection with the Company&#8217;s efforts to streamline operations to align with the Company&#8217;s business goals.</span><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:18pt;font-family:Times New Roman;margin-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 and Other, 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: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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:42.871%;"/>
    <td style="width:1.52%;"/>
    <td style="width:1%;"/>
    <td style="width:8.338000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:1.52%;"/>
    <td style="width:1%;"/>
    <td style="width:8.338000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:1.52%;"/>
    <td style="width:1%;"/>
    <td style="width:8.338000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:1.52%;"/>
    <td style="width:1%;"/>
    <td style="width:7.4990000000000006%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:5.279%;"/>
    <td style="width:1%;"/>
    <td style="width:2.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="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;">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>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">Change 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="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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="border-top:0.5pt solid #000000;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;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></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></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="20" style="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;">(dollars in thousands)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;min-width:fit-content;">Interest and other, net:</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;margin-top:0;font-family:Times New Roman;margin-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:center;"><p style="font-size:10pt;margin-top:0;font-family: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
   </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;">Interest 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;">(15,532</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,440</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="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;">979</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;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;">Interest income and other income (expenses), 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:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,480</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,596</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,078</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">2,884</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"><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 interest and other, 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;">(5,052</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">6,156</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,153</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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: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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,208</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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="color:#000000;white-space:pre-wrap;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: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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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 represents the interest related to the senior secured term loan facilities, interest related to sale of future revenues and interest related to the Technology Development Center of the Republic of Finland product development obligations.</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;">Interest expense increased $14.1 million, or 979% for the year ended December 31, 2023 compared to the year ended December 31, 2022. Interest expense for the year ended December 31, 2023 included $7.4 million related to the senior secured term loan facilities entered into in April 2023. See Note 9, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Senior Secured Term Loan Facilities,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to the consolidated financial statements for details.</span><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;">Interest expense for the years ended December 31, 2023 and 2022 also included interest expense of $7.7 million and $1.0 million, respectively, related to sale of future revenues under the Revenue Interest Financing Agreement (&#8220;RIFA&#8221;) with an affiliate of NovaQuest Capital Management (&#8220;NovaQuest&#8221;) entered into in November 2022. See Note 10, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Liability Related to Sale of Future Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements for details.</span><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:18pt;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;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Interest Income and Other Income (Expenses), Net</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;">Interest income and other income (expenses), net primarily include interest income earned on our cash, cash equivalents and investments, foreign currency transaction gains (losses), remeasurement of certain monetary assets and liabilities in non-functional currency of our subsidiaries into the functional currency, realized gains (losses) on sales of investments, and other non-operating income and expenses.</span><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;">Interest income and other income (expenses), net increased $2.9 million, or 38% for the year ended December 31, 2023 compared to the year ended December 31, 2022, primarily due to $5.8 million higher interest income from our investments with higher interest rate during the current year period, and $2.3 million of favorable foreign exchange impact, partially offset by an impact of $5.0 million recorded during the second quarter of 2022, which did not recur in the current year period, resulting from a reduction to other expenses to release the previously estimated late payment fees related to value added tax in China.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Provision for Income Taxes</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:44.851%;"/>
    <td style="width:2.02%;"/>
    <td style="width:1%;"/>
    <td style="width:11.998000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:3.039%;"/>
    <td style="width:1.18%;"/>
    <td style="width:1%;"/>
    <td style="width:11.998000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:2.879%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.998000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:3.039%;"/>
   </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="12" 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;">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:8pt;margin-top:0;font-family:Times New Roman;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 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 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>
    <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;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></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="12" 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;">(dollars 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:8pt;margin-top:0;font-family:Times New Roman;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: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;">Loss before income taxes</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(286,867</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(294,869</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(290,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="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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: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;">Provision for income taxes</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">358</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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: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;">Effective tax rate</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;white-space:pre-wrap;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;">(0.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;"><p style="font-size:10pt;margin-top: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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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;"><p style="font-size:10pt;margin-top: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>
   </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;">The provisions for income taxes for each of the three years ended December 31, 2023 were due to foreign taxes.</span><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;">Based upon the weight of available evidence, which includes our historical operating performance, reported cumulative net losses since inception and expected continuing net loss, we have established a full valuation allowance against our net deferred tax assets as we do not currently believe that realization of those assets is more likely than not. We intend to continue maintaining a full valuation allowance on our deferred tax assets until there is sufficient evidence to support the reversal of all or some portion of this allowance.</span><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:18pt;font-family:Times New Roman;margin-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;">Investment Income (Loss) in Unconsolidated Variable Interest Entity</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 (loss) in unconsolidated variable interest entity represented our proportionate share of the reported profits or losses of Falikang, an unconsolidated variable interest entity accounted for under the equity method. See Note 5,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Equity method investment - Variable Interest Entity</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements for details.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">LIQUIDITY AND CAPITAL RESOURCES</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;">Financial Conditions</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 funded our operations principally from the sale of common stock (including our public offering proceeds), from the execution of collaboration agreements involving license payments, milestone payments, reimbursement for development services, and the associated product revenue and drug product 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;">On November 4, 2022, we entered into a RIFA with NovaQuest with respect to our revenues from Astellas&#8217; sales of roxadustat in Europe, Japan and the other Astellas territories. Pursuant to the RIFA, in the fourth quarter of 2022, we received $49.8 million from NovaQuest, representing the gross proceeds of $50.0 million net of initial issuance costs, in consideration for a portion of future revenues we will receive from Astellas. For additional details about this financing transaction, see Note 10, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Liability Related to Sale of Future Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements.</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 February 27, 2023, we entered into an Amended and Restated Equity Distribution Agreement (the &#8220;at-the-market agreement&#8221;) with Goldman Sachs &amp; Co., LLC and BofA Securities, Inc. (each a &#8220;Sales Agent&#8221;), which amended and restated its Equity Distribution Agreement with Goldman Sachs &amp; Co., LLC, dated August 8, 2022, to add BofA Securities, Inc. as an additional Sales Agent under that agreement. Under the at-the-market agreement, we may issue and sell, from time to time and through the Sales Agents, shares of our common stock having an aggregate offering price of up to $200.0 million (the &#8220;ATM Program&#8221;). Under the ATM Program, we sold 2,472,090 shares of our common stock and received net proceeds of approximately $48.4 million during the year ended December 31, 2023. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">At-the-Market Program </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">section, in Note 13,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Equity and Stock-based Compensation, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">to the consolidated financial statements for details.</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 April 29, 2023, we entered into the Financing Agreement with investment funds managed by Morgan Stanley Tactical Value, (&#8220;Lenders&#8221;), and Wilmington Trust, National Association, as the administrative agent, providing for senior secured term loan facilities consisting of a $75.0 million initial term loan. The clinical development milestones which could have triggered Delayed Draw Term Loan 1 were not achieved, and the Lenders have not funded Delayed Draw Term Loan 2. For additional details about this financing transaction, see Note 9, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Senior Secured Revolving Line of Credit</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements.</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, we had cash and cash equivalents of $113.7 million, compared to $155.7 million as of December 31, 2022. Cash is invested in accordance with our investment policy, primarily with a view to liquidity and capital preservation. Investments, consisting of available-for-sale securities, and stated at fair value, are also available as a source of liquidity. As of December 31, 2023, we had short-term investments of $121.9 million, compared to short-term investments of $266.3 million and long-term investments of $4.3 million as of December 31, 2022. As of December 31, 2023, a total of $32.2 million of our cash and cash equivalents was held outside of the U.S. in our foreign subsidiaries, including $32.1 million held in China, to be used primarily for our China 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 long-term plans for distributing cash flows from FibroGen Beijing may involve any number of scenarios including keeping the money onshore to fund future expansion of our China operations or paying down certain debt obligations. During the year ended December 31, 2023, FibroGen Beijing made a total of $55.5 million repayments of intercompany loans. Our capital contributions to FibroGen Beijing and the liquidity position of FibroGen Beijing depend on many factors, including those set forth under Part I, Item 1A &#8220;Risk Factors&#8221; in this Annual Report.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cash Sources and Uses</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 summarizes the primary sources and uses of cash for the years ended December 31, 2023, 2022 and 2021 (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: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:55.222%;"/>
    <td style="width:1.461%;"/>
    <td style="width:1%;"/>
    <td style="width:11.465%;"/>
    <td style="width:1%;"/>
    <td style="width:1.461%;"/>
    <td style="width:1%;"/>
    <td style="width:11.465%;"/>
    <td style="width:1%;"/>
    <td style="width:1.461%;"/>
    <td style="width:1%;"/>
    <td style="width:11.465%;"/>
    <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;">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: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;">Net cash provided by (used in):</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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: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;">Operating activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(315,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="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;">(145,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="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;">(82,232</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Investing activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,657</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">89,116</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,972</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">Financing activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">122,749</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,776</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(563</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Effect of exchange rate changes on 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:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,397</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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,482</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">2,597</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:bottom;"><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;">Net decrease in 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;">(42,012</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">(15,523</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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: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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(507,170</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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: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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-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;">Net cash used in operating activities was $315.0 million for the year ended December 31, 2023 and consisted primarily of net loss of $284.2 million adjusted for non-cash items and non-operating activities of $88.9 million and a net decrease in operating assets and liabilities of $119.7 million. The significant non-cash items included stock-based compensation expense of $50.8 million, acquired IPR&amp;D expenses associated with the acquisition of Fortis of $24.6 million, depreciation expense of $9.5 million, non-cash interest expense related to sale of future revenues of $7.7 million, and net accretion of premium and discount on investments of $5.1 million. The significant items in the changes in operating assets and liabilities included the following:</span></p>
  <div style="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.537%;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;">Accrued and other liabilities decreased $49.8 million, primarily due to the movements related to API and bulk drug product price true-up resulting from changes in estimated variable consideration associated with the API shipments fulfilled under the terms of the Astellas Japan Amendment, the bulk drug product transferred under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, including the payment of $57.4 million previously accrued balance made during the current year period. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements for details. The decrease was partially offset by the accrued liabilities of $28.5 million for the litigation settlement as of December 31, 2023, which is fully recoverable under our insurance policies. 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;">Commitments and Contingencies,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to the consolidated financial statements for details. The accrued and other liabilities were also impacted by the timing of invoicing and payment;</span></div></div>
  <div style="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.537%;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;">Deferred revenue decreased $28.2 million, primarily related to related to the reclassification of $38.7 million to accrued liabilities, resulting from changes in estimated variable consideration associated with the bulk drug product transferred to Astellas under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement during the current year. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section in Note 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;"> Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements for details;</span></div></div>
  <div style="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.537%;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;">Accounts payable decreased $15.5 million, primarily driven by the payments made for the historical co-promotion expenses to AstraZeneca during the current year, as well as the timing of invoicing and payments; and </span></div></div>
  <div style="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.537%;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;">Prepaid expenses and other current assets increased $28.2 million, primarily due to the $28.5 million receivable as of December 31, 2023 for the insurance recovery for the above-mentioned litigation settlement.</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;">Net cash used in operating activities was $145.9 million for the year ended December 31, 2022 and consisted primarily of net loss of $293.7 million adjusted for non-cash items and non-operating activities of $77.3 million and a net increase in operating assets and liabilities of $70.4 million. The significant non-cash items included stock-based compensation expense of $65.6 million, and depreciation expense of $10.0 million. The significant items in the changes in operating assets and liabilities included the following:</span></p>
  <div style="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.537%;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;">Accrued and other liabilities increased $90.6 million, primarily related to the total of $75.1 million for API and bulk drug product price true-up as of December 31, 2022, resulting from changes in estimated variable consideration associated with the API shipments fulfilled under the terms of the Astellas Japan Amendment, the bulk drug product transferred under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and the bulk drug product shipments to AstraZeneca under the terms of the AstraZeneca Master Supply Agreement. The accrued and other liabilities were also impacted by the classification of a portion of accrued co-promotion expenses from other long-term liabilities to current liabilities based on the updated estimate of timing for payment, and by the timing of invoicing and payment;</span></div></div>
  <div style="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.537%;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;">Accounts payable increased $5.9 million, primarily driven by the timing of invoicing and payments;</span></div></div>
  <div style="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.537%;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;">Prepaid expenses and other current assets decreased $4.9 million, primarily due to the collection of $8.0 million from Eluminex for upfront license payment during the first quarter of 2022, and less prepayments made for roxadustat API manufacturing activities, partially offset by a payroll tax refund recorded as other receivables as of December 31, 2022 and received in the first quarter of 2023;</span></div></div>
  <div style="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.537%;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;">Other long-term liabilities decreased $18.3 million primarily driven by the above-mentioned classification of a portion of accrued co-promotion expenses from other long-term liabilities to current liabilities based on the updated estimate of timing for payment;</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="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.537%;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;">Inventories increased $11.0 million, driven by the increased inventory level primarily related to inventory cost capitalized related to Europe and other territories, and FibroGen Beijing&#8217;s productions of roxadustat for commercial sales purposes; and</span></div></div>
  <div style="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.537%;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;">Deferred revenue decreased $4.1 million, primarily related to revenue recognized from the previously deferred revenue of the China performance obligation during the year ended December 31, 2022, and the above-mentioned reclassification to accrued liabilities, resulting from changes in estimated variable consideration associated with the API or bulk drug product deliveries fulfilled with Astellas and AstraZeneca. </span></div></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investing 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;">Investing activities primarily consist of purchases of property and equipment, purchases of investments, purchase of acquired in-process research and development asset and proceeds from the maturity and sale of investments.</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;">Net cash provided by investing activities was $153.7 million for the year ended December 31, 2023 and consisted primarily of $400.6 million of proceeds from maturities of investments and $6.7 million of proceeds from sales of available-for-sale securities, partially offset by $251.8 million of cash used in purchases of available-for-sale securities.</span><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;">Net cash provided by investing activities was $89.1 million for the year ended December 31, 2022 and consisted primarily of $284.5 million of proceeds from maturities of investments and $7.4 million of proceeds from sales of available-for-sale securities, partially offset by $164.0 million of cash used in purchases of available-for-sale securities, $35.0 million of cash paid for the acquired in-process research and development asset and $3.7 million of cash used in purchases of property and equipment.</span><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:18pt;font-family:Times New Roman;margin-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;">Financing activities primarily reflect proceeds from strategic financing arrangements, proceeds from the issuance of our common stock, cash paid for payroll taxes on restricted stock unit releases, and repayments of our lease liabilities and obligations.</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;">Net cash provided by financing activities was $122.7 million for the year ended December 31, 2023 and consisted primarily of $74.1 million net proceeds from senior secured term loan facilities, $48.4 million net proceeds received under the ATM Program and $3.7 million of proceeds from the issuance of common stock upon exercise of stock options and purchases under our Employee Share Purchase Plan (&#8220;ESPP&#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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Net cash provided by financing activities was $46.8 million for the year ended December 31, 2022 and consisted primarily of $49.8 million of net proceeds from sale of future revenues from NovaQuest, $4.2 million of proceeds from the issuance of common stock upon exercise of stock options and purchases under our ESPP, partially offset by $5.2 million of cash paid for payroll taxes on restricted stock unit releases, and $1.5 million of cash paid for transaction costs related to sale of future revenues.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Material Cash Requirements</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 commercial sales of roxadustat product in China, Japan and Europe. Even with the expectation of increases in these revenues, we anticipate that we will continue to generate losses for the foreseeable future. To date, we have funded certain portions of our research and development and manufacturing efforts globally through collaboration partners, debt financings, and equity financing. We expect to continue to incur significant research and development expenses to invest in our other programs and there is no guarantee that sufficient funds will be available to continue to fund these development efforts through commercialization or otherwise. We are also subject to all the risks related to the development and commercialization of novel therapeutics, and we may encounter unforeseen expenses, difficulties, complications, delays and other factors outlined outlined under Part I, Item 1A &#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;">Risk Factors</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8221; in this Annual Report, as well as unknown factors that may adversely affect our business. We anticipate that we will need substantial additional funding in connection with our continuing operations.</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: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;">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:10pt;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;">We believe that our existing cash and cash equivalents, short-term investments and accounts receivable, together with the proceeds from senior secured term loan facilities in the second quarter of 2023, the financing amount under the RIFA received in fourth quarter of 2022, and the net proceeds received under our ATM program in the first half of 2023, as well as the cost savings we have recently implemented (including from the reduction in workforce that we announced on July 19, 2023), will be sufficient to meet our anticipated cash requirements for at least the next 12 months from the date of issuance of the financial statements included in this Annual Report. However, we may need additional capital thereafter and our liquidity assumptions may materially differ and we could utilize our available financial resources sooner than we currently expect. We may incur additional expenses not currently contemplated due to events associated with the recently announced reduction in workforce. In addition, we may elect to raise additional funds at any time through equity, equity-linked, debt financing arrangements or from other sources. Our forecast of the period of time through which our financial resources will be adequate to support our operations is a forward-looking statement and involves risks and uncertainties, and actual results could vary as a result of a number of factors. Our future capital requirements and the adequacy of available funds will depend on many factors, including those set forth under Part I, Item 1A &#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;">Risk Factors</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8221; in this Annual Report. We may not be able to secure additional financing to meet our operating requirements on acceptable terms, or at all. If we raise additional funds by issuing equity or equity-linked securities, the ownership of our existing stockholders will be diluted. If we raise additional financing by the incurrence of indebtedness, we will be subject to increased fixed payment obligations and could also be subject to restrictive covenants, such as limitations on our ability to incur additional debt, and other operating restrictions that could adversely impact our ability to conduct our business. If we are unable to obtain needed additional funds, we will have to reduce our operating costs and expenses, which would impair our growth prospects and could otherwise negatively impact our business.</span><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:18pt;font-family:Times New Roman;margin-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;">Commitments and Contingencies</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;">Contractual Obligations</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, our material cash requirements from known contractual and other obligations primarily relate to our lease liabilities, non-cancelable purchase obligations and liability related to sale of future revenues. Expected timing of those payments are as follows (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: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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:49.91%;"/>
    <td style="width:1.7%;"/>
    <td style="width:1%;"/>
    <td style="width:12.997%;"/>
    <td style="width:1%;"/>
    <td style="width:1.7%;"/>
    <td style="width:1%;"/>
    <td style="width:12.997%;"/>
    <td style="width:1%;"/>
    <td style="width:1.7%;"/>
    <td style="width:1%;"/>
    <td style="width:12.997%;"/>
    <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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">Payments Due In</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;">Total</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;">Next 12 Months</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;">Beyond 12 Months</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: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;">Lease liabilities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,511</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,910</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Purchase obligations</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,318</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,973</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Liability related to sale of future revenues</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">125,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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">119,346</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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 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;">251,802</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">198,229</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="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:2pt;font-family:Times New Roman;margin-bottom: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 lease liabilities are primarily related to our real estate leases for office spaces in the U.S. and China. See Note 7, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Leases</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements for details.</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 outstanding non-cancelable purchase obligations primarily related to manufacturing and supply for pamrevlumab and roxadustat, and other purchases and programs. 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;">Commitments and Contingencies</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements for details.</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 Financing Agreement with Morgan Stanley Tactical Value, as of December 31, 2023, we had $71.9 million of senior secured term loan facilities balance on the consolidated balance sheets, which are not subject for repayment until May 2026. Meanwhile, we are obliged to pay interest on a monthly basis, for which we expect to pay a total of $10.5 million within the next 12 months. See Note 9, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Senior Secured Term Loan Facilities</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements for details.</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 RIFA with NovaQuest, as of December 31, 2023, we had $57.1 million of liability related to sale of future revenues on the consolidated balance sheets, $5.7 million of which we expect to pay within the next 12 months. Based on our current estimates of drug product revenue and revenue from milestone payments under the Astellas Agreements, and taking into the consideration of the terms under the RIFA, we anticipate to reach a payment cap up to $125.0 million by 2031. See Note 10, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Liability Related to Sale of Future Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements for details.</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: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;">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:10pt;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;">Some of our license agreements provide for periodic maintenance fees over specified time periods, as well as payments by us upon the achievement of development, regulatory and commercial milestones. As of December 31, 2023, future milestone payments for research and preclinical stage development programs consisted of up to approximately $697.9 million in total potential future milestone payments under our license agreements with HiFiBiO (for Gal-9 and CCR8), Medarex, Inc. and others. These milestone payments generally become due and payable only upon the achievement of certain developmental, clinical, regulatory and/or commercial milestones. The event triggering such payment or obligation has not yet occurred and therefore these amounts have been excluded from the table above.</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 table above excludes uncertain tax benefits of approximately $81.0 million that are disclosed in Note 15,</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;font-style:italic;min-width:fit-content;">Income Taxes</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements because these uncertain tax positions, if recognized, would be an adjustment to the gross deferred tax assets and the corresponding valuation allowance, if warranted.</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, we have several on-going clinical studies in various stages. Under agreements with various CROs, and clinical study sites, we incur expenses related to clinical studies of our product candidates and potential other clinical candidates. The timing and amounts of these disbursements are contingent upon the achievement of certain milestones, patient enrollment and services rendered or as expenses are incurred by the CROs or clinical trial sites. Therefore, we cannot estimate the potential timing and amount of these payments and they have been excluded from the table above. Although our material contracts with CROs are cancelable, we have historically not canceled such contracts.</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, our FibroGen Europe Oy (&#8220;FibroGen Europe&#8221;) subsidiary had $10.4 million of principal outstanding and $7.3 million of interest accrued related to loans from the Finnish government (&#8220;TEKES&#8221; loans), respectively, which have been included as product development obligations on our consolidated balance sheet. See Note 11, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Development Obligations</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, to the consolidated financial statements for details.</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;">There is no stated maturity date related to these loans and each loan may be forgiven if the research work funded by TEKES does not result in an economically profitable business or does not meet its technological objectives. In addition, we are not a guarantor of the TEKES loans, and these loans are not repayable by FibroGen Europe until it has distributable funds. We do not expect FibroGen Europe to have such funds in the foreseeable future. For the foregoing reasons, we cannot estimate the potential timing and the amounts of repayments (if required) or forgiveness. As a result, the TEKES loans have been excluded from the table above.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Off-Balance Sheet Arrangements</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 year ended December 31, 2023, we did not have any relationships with unconsolidated organizations or financial partnerships, such as structured finance or special purpose entities that would have been established for the purpose of facilitating off-balance sheet arrangements.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Indemnification Agreements</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 enter into standard indemnification arrangements in the ordinary course of business, including for example, service, manufacturing and collaboration agreements. Pursuant to these arrangements, we indemnify, holds harmless, and agree to reimburse the indemnified parties for losses suffered or incurred by the indemnified party, including in connection with intellectual property infringement claims by any third party with respect to its technology. The term of these indemnification agreements is generally perpetual any time after the execution of the agreement. We have entered into indemnification agreements with our directors and officers that may require us to indemnify our directors and officers against liabilities that may arise by reason of their status or service as directors or officers to the extent permissible under applicable law. The maximum potential amount of future payments we could be required to make under these arrangements is not determinable.</span><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:18pt;font-family:Times New Roman;margin-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;">Recently Issued Accounting Guidance Not Yet Adopted</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;">For recently issued accounting guidance, 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;">Significant Accounting Policies,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to the 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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CRITICAL ACCOUNTING POLICIES AND ESTIMATES</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 management&#8217;s discussion and analysis of our financial condition and results of operations are based on our consolidated financial statements, which have been prepared in accordance with accounting principles generally accepted in the U.S. The preparation of these financial statements requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, and expenses and the disclosure of contingent assets and liabilities in our financial statements. We evaluate our estimates and judgments on an ongoing basis. We base our estimates on historical experience, known trends and events, and various other factors that we believe to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. Actual results may differ from these estimates under different assumptions or 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;">While our significant accounting policies are described in more detail in the notes to our financial statements appearing elsewhere in this Annual Report, we believe the following accounting policies to be most critical to the judgments and estimates used in the preparation of our financial statements.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue Recognition</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;">Revenues under collaboration agreements</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 collaboration agreements include multiple performance obligations comprised of promised services, or bundles of services, that are distinct. Services that are not distinct are combined with other services in the agreement until they form a distinct bundle of services. Our process for identifying performance obligations and an enumeration of each obligation for each agreement is outlined in Note 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;">Collaboration Agreements, License Agreement and Revenues</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. Determining the performance obligations within a collaboration agreement often involves significant judgment and is specific to the facts and circumstances contained in each agreement.</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 identified the following material promises under its collaboration agreements: (1) license of FibroGen technology, (2) the performance of co-development services, including manufacturing of clinical supplies and other services during the development period, and (3) manufacture of commercial supply. The evaluation as to whether these promises are distinct, and therefore represent separate performance obligations, is described in more detail in Note 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;">Collaboration Agreements, License Agreement and Revenues</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.</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 revenue recognition purposes, we determine that the terms of our collaboration agreements begin on the effective date and end upon the completion of all performance obligations contained in the agreements. In each agreement, the contract term is defined as the period in which parties to the contract have present and enforceable rights and obligations. We believe that the existence of what we consider to be substantive termination penalties on the part of the counterparty create sufficient incentive for the counterparty to avoid exercising its right to terminate the agreement.</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 transaction price for each collaboration agreement is determined based on the amount of consideration we expect to be entitled for satisfying all performance obligations within the agreement. Our collaboration agreements include payments to us of one or more of the following: non-refundable upfront license fees; co-development billings; development, regulatory, and commercial milestone payments; payments from sales of API; payments from sales of bulk drug product and royalties on net sales of licensed 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;">Upfront license fees are non-contingent and non-refundable in nature and are included in the transaction price at the point when the license fees become due to us. We do not assess whether a contract has a significant financing component if the expectation at contract inception is such that the period between payment by the customer and the transfer of the promised goods or services to the customer will be one year or less.</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;">Co-development billings resulting from our research and development efforts, which are reimbursable under its collaboration agreements, are considered variable consideration. Determining the reimbursable amount of research and development efforts requires detailed analysis of the terms of the collaboration agreements and the nature of the research and development efforts incurred. Prior to CKD approval in the third quarter of 2021, determining the amount of variable consideration from co-development billings required us to make estimates of future research and development efforts, which involves significant judgment. Co-development billings are allocated entirely to the co-development services performance obligation when amounts are related specifically to research and development efforts necessary to satisfy the performance obligation, and such an allocation is consistent with the allocation objective.</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: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;">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:10pt;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;">Milestone payments are also considered variable consideration, which requires us to make estimates of when achievement of a particular milestone becomes probable. Similar to other forms of variable consideration, milestone payments are included in the transaction price when it becomes probable that such inclusion would not result in a significant revenue reversal. Milestones are therefore included in the transaction price when achievement of the milestone becomes probable.</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 arrangements that include sales-based royalties and for which the license is deemed to be the predominant item to which the royalties relate, we recognize revenue at the later of (i) when the related sales occur, or (ii) when the performance obligation to which some or all of the royalty has been allocated has been satisfied (or partially satisfied). To date, royalty revenue resulting from collaboration arrangements has been immaterial.</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 allocate the transaction price to performance obligations based on their relative standalone selling price (&#8220;SSP&#8221;), with the exception of co-development billings allocated entirely to co-development services performance obligations. The SSP is determined based on observable prices at which we separately sell the products and services. If an SSP is not directly observable, then we will estimate the SSP considering marketing conditions, entity-specific factors, and information about the customer or class of customer that is reasonably available. The process for determining SSP involves significant judgment and includes consideration of multiple factors, including assumptions related to the market opportunity and the time needed to commercialize a product candidate pursuant to the relevant license, estimated direct expenses and other costs, which include the rates normally charged by contract research and contract manufacturing organizations for development and manufacturing obligations, and rates that would be charged by qualified outsiders for committee services.</span><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;">Significant judgment may be required in determining whether a performance obligation is distinct, determining the amount of variable consideration to be included in the transaction price, and estimating the SSP of each performance obligation. An enumeration of our significant judgments is outlined in Note 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;">Collaboration Agreements, License Agreement and Revenues, </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.</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 each performance obligation identified within an arrangement, we determine the period over which the promised services are transferred and the performance obligation is satisfied. Service revenue that was recognized over time was based on progress toward complete satisfaction of the performance obligation. For each performance obligation satisfied over time, we assess the proper method to be used for revenue recognition, either an input method to measure progress toward the satisfaction of services or an output method of determining the progress of completion of performance obligation.</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:18pt;font-family:Times New Roman;margin-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 under license agreements</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;">Under a license agreement, if the license to our intellectual property is determined to be distinct from the other performance obligations identified in the arrangement, we recognize revenues from upfront license fees allocated to the license when the license is transferred to the licensee and the licensee is able to use and benefit from the license. For licenses that are bundled with other promises, we determine whether the combined performance obligation is satisfied over time or at a point in time. If the combined performance obligation is satisfied over time, we use judgment in determining the appropriate method of measuring progress for purposes of recognizing revenue from the up-front license fees. We evaluate the measure of progress each reporting period and, if necessary, adjust the measure of performance and related revenue recognition.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product revenue, 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;">Product revenue, net consists of revenues from sales of roxadustat commercial product to Falikang, and directly to pharmaceutical distributors located in one province in China that are not covered by Falikang. Falikang is jointly owned by AstraZeneca and FibroGen Beijing. We are not the primary beneficiary of Falikang for accounting purposes, as AstraZeneca is the final decision maker for all the roxadustat commercialization activities, and we lack the power criterion to direct the activities of Falikang (see Note 5, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Equity method investment - Variable Interest Entity, </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).</span><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: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;font-style:italic;min-width:fit-content;">Sales to Falikang</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;">Falikang became fully operational in January 2021, at which time FibroGen Beijing began selling roxadustat commercial product to Falikang. Falikang is FibroGen Beijing&#8217;s primary customer in China and substantially all roxadustat product sales to distributors in China are made by Falikang. Falikang bears inventory risk once it receives and accepts the product from FibroGen Beijing, and is responsible for delivering product to its distributors.</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: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;">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:10pt;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:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The promises identified under the AstraZeneca China Agreement (as defined in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">), including the license, co-development services and manufacturing of commercial supplies have been bundled into a single performance obligation (&#8220;China performance obligation&#8221;). Amounts of the transaction price allocable to this performance obligation under our agreements with AstraZeneca as outlined in Note 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;">Collaboration Agreements, License Agreement and Revenues,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> are deferred until control of the manufactured commercial product is transferred to AstraZeneca.</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;">The initiation of roxadustat sales to Falikang marked the beginning of the China performance obligation</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><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Revenue is recognized at a point in time when control of roxadustat commercial product is transferred to Falikang. Revenue is recognized based on the estimated transaction price per unit and actual quantity of product delivered during the reporting period. Specifically, the transaction price per unit is determined based on the overall transaction price over the total estimated sales quantity for the estimated performance period in which we determined it is likely those sales would occur. The price per unit is subject to reassessment on a quarterly basis, which may result in adjustments due to changes in estimates.</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 overall transaction price for FibroGen Beijing&#8217;s product sales to Falikang includes the following elements of consideration:</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="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Non-refundable upfront license fees; development, regulatory, and commercial milestone payments based on the AstraZeneca China Agreement allocated to the China performance obligation;</span></div></div>
  <div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Co-development billings resulting from our research and development efforts, which are reimbursable under the AstraZeneca China Agreement;</span></div></div>
  <div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Interim profit/loss share between FibroGen Beijing and AstraZeneca from April 1, 2020 through December 31, 2020; and</span></div></div>
  <div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Net transaction price from product sales to Falikang from January 1, 2021 onwards. The net transaction price includes the following elements: </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;">o</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;">Gross transaction price: The gross transaction price is based on a percentage of Falikang&#8217;s net sales to its distributors, which takes into account Falikang&#8217;s operating expenses and its payments to AstraZeneca for roxadustat sales and marketing efforts, capped at a percentage of Falikang&#8217;s net roxadustat sales. </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;">o</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;">Profit share: The gross transaction price is then adjusted for an estimated amount to achieve the 50/50 profit share from current period roxadustat net sales in China. The adjustments to date have been a reduction to the transaction price and the related accounts receivable from Falikang. </span></div></div>
  <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;">The non-refundable upfront license fees constitute a fixed consideration. The remainder of the above are variable consideration components, which may be constrained, and included in the transaction price only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period when the uncertainty associated with the variable consideration is subsequently resolved. The calculation of the above variable consideration includes significant assumptions such as total sales quantity, performance period, gross transaction price and profit share, which require significant judgment.</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 defer any net transaction price in excess of the revenue recognized, and recognize it over future periods as the performance obligations are satisfied.</span></p>
  <p style="font-size:10pt;margin-top:18pt;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;font-style:italic;min-width:fit-content;">Direct Sales to Distributors</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 sell roxadustat in China directly to a number of pharmaceutical distributors located in one province in China that are not covered by Falikang. These pharmaceutical distributors are our customers. Hospitals order roxadustat through a distributor and we ship the product directly to the distributors. The delivery of roxadustat to a distributor represents a single performance obligation. Distributors are responsible for delivering product to end users, primarily hospitals. Distributors bear inventory risk once they receive and accept the product. We recognize product revenue when control of the promised good is transferred to the customer in an amount that reflects the consideration that we expect to be entitled to in exchange for the product.</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;">The period between the transfer of control of the promised goods and when we receive payment is based on 60-day payment terms. As such, we do not adjust product revenue for the effects of a significant financing component.</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: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;">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:10pt;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:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We record product revenue at the net sales prices that includes certain estimates of variable consideration. These estimates include price adjustment calculated based on estimated channel inventory levels when China&#8217;s National Healthcare Security Administration releases price guidance for roxadustat under the National Reimbursement Drug List, various fixed-amount or percentage-based rebates and discounts recorded as a reduction to revenue at the point of sale to the distributor or when distributor meets eligibility requirements, and estimated sales return as distributors can request to return product to us only due to quality issues or for product purchased within one year prior to the product&#8217;s expiration date.</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 calculate the variable consideration based on gross sales to the distributor, or estimate it utilizing best available information from the distributor, maximum known exposures and other available information including estimated channel inventory levels and estimated sales made by the distributor to hospitals, which involves significant judgment.</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;">The rebates and discounts all together are eligible to be applied against the distributor&#8217;s future sales order, limited to certain maximums until such rebates and discounts are exhausted. We record these rebates and discounts as contract liabilities at the time they become eligible and in the same period that the related revenue is recorded. Due to our legal right to offset, at each balance sheet date, we present the rebates and discounts as reductions to gross accounts receivable from the distributor, or as a current liability to the distributor to the extent that the total amount exceeds the gross accounts receivable or when we expect to settle the discount in cash. We calculate the distributor&#8217;s legal right of offset at the individual distributor level.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug product revenue</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;">Drug product revenue includes commercial-grade API or bulk drug product sales to AstraZeneca and Astellas in support of pre-commercial preparation prior to the NDA or Marketing Authorization Application approval, and to Astellas for ongoing commercial activities in Japan and Europe. We recognize drug</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;">product revenue when we fulfill the inventory transfer 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;">The amount of variable consideration that is included in the transaction price may be constrained, and we include it in the drug product revenue only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period when the uncertainty associated with the variable consideration is subsequently resolved. Estimating variable consideration and the related constraint requires the use of significant management judgment. We review new information that may affect its variable consideration estimate at every reporting period and records revenue adjustment, if certain and material. Actual amounts of consideration ultimately received in the future may differ from our estimates, for which we will adjust these estimates and affect the drug product revenue in the period such variances become 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;">As each of our collaboration agreements provide for annual true up to the considerations paid for our commercial supplies, we will re-evaluate the transaction price in each reporting period and record adjustment to revenue as uncertain events are resolved or other changes in circumstances occur.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <p style="font-size:10pt;margin-top:18pt;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 RISKS</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.</span><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 market risk exposure is primarily a result of fluctuations in foreign currency exchange rates. Currently, the functional currency of our subsidiaries, FibroGen Europe Oy and FibroGen Beijing, is the local currency. Our consolidated results of operations are reported in U.S. Dollars. Our revenues and operating costs and expenses are denominated in the currencies of the countries in which our operations are located, which are primarily in the U.S. and China. Therefore, our consolidated results of operations and cash flows are subject to fluctuations due to changes in foreign currency exchange rates and may be adversely affected in the future due to changes in foreign exchange rates.</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, we did not have material financial assets and liabilities denominated in foreign currencies that are subject to fluctuation in the exchange rate with the U.S. dollar. Therefore, our financial assets and liabilities are not currently subject to significant foreign currency risk.</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 primary objective of our investment activities is to preserve our capital to fund our operations. We also seek to maximize income from our cash and cash equivalents without assuming significant risk. To achieve our objectives, we invest our non-operating cash and cash equivalents primarily in commercial paper and money market funds as of December 31, 2023. Given the nature of our investments as of December 31, 2023, we believe that our exposure to interest rate risk is not significant. We actively monitor changes in interest rates.</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 date, we have not entered into any hedging arrangements with respect to foreign currency risk or other derivative financial instruments.</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: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;">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: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;" id="item_8_consolidated_financial_statements"><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. CONSOLIDATED FINANCIAL ST</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ATEMENTS 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: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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:93.94%;"/>
    <td style="width:1%;"/>
    <td style="width:5.06%;"/>
   </tr>
   <tr style="height:10.1pt;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;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="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;min-width:fit-content;"> </span><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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:top;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-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;">FibroGen, Inc.</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;text-align:center;"><p style="font-size:10pt;margin-top: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>
   </tr>
   <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:top;"><p style="margin-left:8.8pt;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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12.25pt;vertical-align:top;"><p style="margin-left:12.25pt;text-indent:0;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;min-width:fit-content;">Report of Independent Registered Public Accounting Firm</span></a><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">&#160;&#160;(PCAOB ID </span><span><ix:nonNumeric id="F_67485968-cf29-403d-a085-153354552ea7" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:AuditorFirmId"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">238</span></ix:nonNumeric></span><span style="color:#0000ff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">95</span></p></td>
   </tr>
   <tr style="height:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:top;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top:0;font-family:Times New Roman;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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:top;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-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;">Financial Statements:</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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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:6.5pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:top;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top:0;font-family:Times New Roman;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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12.25pt;vertical-align:top;"><p style="margin-left:12.25pt;text-indent:0;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;min-width:fit-content;">Consolidated Balance Sheets</span></a></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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">97</span></p></td>
   </tr>
   <tr style="height:6.5pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12.25pt;vertical-align:top;"><p style="margin-left:12.25pt;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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12.25pt;vertical-align:top;"><p style="margin-left:12.25pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_operations"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Consolidated Statements of Operations</span></a></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;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
   </tr>
   <tr style="height:4.3pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12.25pt;vertical-align:top;"><p style="margin-left:12.25pt;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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12.25pt;vertical-align:top;"><p style="margin-left:12.25pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_comprehensive_lo"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Consolidated Statements of Comprehensive Loss</span></a></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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">99</span></p></td>
   </tr>
   <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12.25pt;vertical-align:top;"><p style="margin-left:12.25pt;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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12.25pt;vertical-align:top;"><p style="margin-left:12.25pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#consolidated_statements_equity"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Consolidated Statements of Changes in Stockholders&#8217; Equity (Deficit</span><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">)</span></a></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;text-align:center;"><p style="font-size:10pt;margin-top: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>
   </tr>
   <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12.25pt;vertical-align:top;"><p style="margin-left:12.25pt;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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12.25pt;vertical-align:top;"><p style="margin-left:12.25pt;text-indent:0;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;min-width:fit-content;">Consolidated Statements of Cash Flows</span></a></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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101</span></p></td>
   </tr>
   <tr style="height:7.9pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12.25pt;vertical-align:top;"><p style="margin-left:12.25pt;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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12.25pt;vertical-align:top;"><p style="margin-left:12.25pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#notes_to_the_consolidated_fs"><span style="color:#0000ff;white-space:pre-wrap;min-width:fit-content;">Notes to Consolidated Financial Statements</span></a></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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">102</span></p></td>
   </tr>
   <tr style="height:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:top;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top:0;font-family:Times New Roman;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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:top;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-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;">Financial Statement Schedule:</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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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:4.3pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:8.8pt;vertical-align:top;"><p style="text-indent:-8.8pt;padding-left:8.8pt;font-size:10pt;margin-top:0;font-family:Times New Roman;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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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:12.25pt;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:12.25pt;vertical-align:top;"><p style="margin-left:12.25pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#schedule_ii"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">II Valuation and Qualifying Accounts for each of the three years ended December 31, 2023</span></a></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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">150</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>
  <p style="font-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: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;">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:10pt;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: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 Regis</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">tered Public Accounting Firm</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 the Board of Directors and Stockholders of FibroGen, Inc.</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;">Opinions on the Financial Statements and Internal Control over Financial Reporting</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 audited the accompanying consolidated balance sheets of FibroGen, Inc. and its subsidiaries (the &#8220;Company&#8221;) as of December 31, 2023 and 2022, and the related consolidated statements of operations, of comprehensive loss, of changes in stockholders&#8217; equity (deficit) and of cash flows for each of the three years in the period ended December 31, 2023, including the related notes and financial statement schedule listed in the accompanying index (collectively referred to as the &#8220;consolidated financial statements&#8221;). We also have audited the Company's internal control over financial reporting as of December 31, 2023, based on 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 - Integrated Framework</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission (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;">In our opinion, the consolidated financial statements referred to above present fairly, in all material respects, the financial position of the Company as of 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 accounting principles generally accepted in the United States of America. Also in our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December 31, 2023, based on 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 - Integrated Framework</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> (2013) issued by the 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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Basis for Opinions</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's management is responsible for these consolidated financial statements, for maintaining effective internal control over financial reporting, and for its assessment of the effectiveness of internal control over financial reporting, included in Management&#8217;s Annual Report on Internal Control over Financial Reporting appearing under Item 9A. Our responsibility is to express opinions on the Company&#8217;s consolidated financial statements and on the Company's internal control over financial reporting based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (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:left;"><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 audits to obtain reasonable assurance about whether the consolidated financial statements are free of material misstatement, whether due to error or fraud, and 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:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our audits of the consolidated financial statements included performing procedures to assess the risks of material misstatement of the consolidated 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 consolidated 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 consolidated financial statements. Our audit of internal control over financial reporting included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, and testing and evaluating the design and operating effectiveness of internal control based on the assessed risk. Our audits also included performing such other procedures as we considered necessary in the circumstances. We believe that our audits provide a reasonable basis for our opinions.</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;">Definition and Limitations of Internal Control over Financial Reporting</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 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 (i) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (ii) 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 (iii) 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>
  <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: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;">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:10pt;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;">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="font-size: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;">Critical Audit 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 critical audit matter communicated below is a matter arising from the current period audit of the consolidated financial statements that was communicated or required to be communicated to the audit committee and that (i) relates to accounts or disclosures that are material to the consolidated financial statements and (ii) 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 matter below, providing a separate opinion on the critical audit matter or on the accounts or disclosures to which it relates.</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;">Determining the Transaction Price for Product Revenue Recognition for Sales to Beijing Falikang Pharmaceutical Co., Ltd. (&#8220;Falikang&#8221;)</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 described in Notes 2 and 3 to the consolidated financial statements, with respect to the roxadustat commercial product, revenue is recognized at a point in time when control of the product is transferred to Falikang. Total product revenue, net recognized related to sales to Falikang was $89.1 million for the year ended December 31, 2023. Revenue is recognized based on the estimated transaction price per unit and the actual quantity of product delivered to Falikang during the reporting period. The estimated transaction price per unit is determined based on the overall transaction price over the total estimated sales quantity for the estimated performance period in which management determined it is likely those sales would occur. Management applied significant judgment in determining the transaction price per unit, which involved the use of significant assumptions such as (i) the estimated total gross transaction price and profit share, (ii) the estimated total sales quantity, and (iii) the estimated performance period in which the Company determined it is likely those sales would occur.</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 principal considerations for our determination that performing procedures relating to determining the transaction price for product revenue recognition for sales to Falikang is a critical audit matter are the significant judgment by management when determining the transaction price per unit, which in turn led to a high degree of auditor judgment, subjectivity, and effort in performing procedures and in evaluating management&#8217;s significant assumptions related to the estimated total gross transaction price, estimated total sales quantity, and estimated performance period over which the Company determined it is likely those sales would occur.</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;">Addressing the matter involved performing procedures and evaluating audit evidence in connection with forming our overall opinion on the consolidated financial statements. These procedures included testing the effectiveness of controls relating to revenue recognition, including controls over the determination of the transaction price per unit for sales to Falikang. These procedures also included, among others, testing management&#8217;s process for determining the transaction price per unit, which included evaluating the appropriateness of the method, testing the completeness and accuracy of the data used in the method, and evaluating the reasonableness of significant assumptions related to the estimated total gross transaction price, estimated total sales quantity, and estimated performance period over which the Company determined it is likely those sales would occur. Evaluating the reasonableness of the significant assumptions used by management involved evaluating whether the assumptions were reasonable considering (i) the current and historical transaction price and quantity, (ii) the consistency with external market, industry and regulatory data, (iii) whether these assumptions were consistent with evidence obtained in other areas of the audit, and (iv) patent expiration and market exclusivity.</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>
  <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;">/s/ </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_02b8e0f2-bd8f-4a55-9125-a5086a1f8ca6" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:AuditorName"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">PricewaterhouseCoopers LLP</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></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_1bc749de-21cf-4efe-a703-9b07e1c516b1" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="dei:AuditorLocation"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">San Jose, California</span></ix:nonNumeric></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 26, 2024</span></p>
  <p style="font-size:10pt;margin-top:8.5pt;font-family:Times New Roman;margin-bottom: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 2000.</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: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;">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: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;">FIBROGEN, INC.</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;">(In thousands, except per share amounts)</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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:67.44%;"/>
    <td style="width:1.64%;"/>
    <td style="width:1%;"/>
    <td style="width:12.98%;"/>
    <td style="width:1%;"/>
    <td style="width:1.64%;"/>
    <td style="width:1%;"/>
    <td style="width:12.3%;"/>
    <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;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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;">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 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;">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: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;">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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;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;">Current 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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;">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_96e8e380-d632-4fd4-b86a-c6841fd77e9f" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">113,688</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_48f72fd3-ec48-418c-a77f-6d352bdf7414" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">155,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>
   </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;">Short-term investments</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5793112d-34be-4681-a6f7-34817eedc10c" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:ShortTermInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">121,898</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_91398237-b291-418f-8258-21adc086a927" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:ShortTermInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">266,308</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 receivable, net ($</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a5bdc46d-7c39-4098-ac6d-2c5dc3ed1bd8" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:AccountsReceivableNetCurrentRelatedParties" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,079</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;and $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4199e483-a8da-4502-a987-0131da7765e9" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:AccountsReceivableNetCurrentRelatedParties" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,088</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;from related parties)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e7203057-1d20-4cd4-97bb-4b65e46b68f3" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,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>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ff912c70-ad76-45b7-b08a-440cdfe86bea" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,299</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Inventories</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_12c4ffca-0910-4af9-b8a3-bf156e5ebcb4" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,565</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3488942b-c897-4006-a303-6346131650c9" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">40,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="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;">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:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a828411-78ea-445d-8062-5939a84d44c3" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ef6f5922-1d6b-4a56-94b5-8762dcae7f62" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,083</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 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_10150a89-13f5-47f6-9164-746b3d945ea6" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:AssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">331,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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d2029df-514e-4b04-ba00-7b966c44c917" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:AssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">492,826</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Restricted time deposits</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ec0af85b-15b8-430e-b338-fad88719d3a4" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,658</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_719e5207-e795-4b6d-aaeb-2f3a99dddcc0" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,072</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Long-term investments</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af3fe1dc-3c2c-4b4e-b50e-a52557d4bab9" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:LongTermInvestmentExcludingEquityMethodInvestments" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e8ead97c-3178-41f8-8183-5abb85b2e873" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:LongTermInvestmentExcludingEquityMethodInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,348</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Property 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4c7e32ec-13b6-4d01-8ab3-622b8248ba4e" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,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>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c401352c-748a-447e-bdde-5e6d0ee6033c" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,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>
   </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 method investment in unconsolidated variable interest entity</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_59bf1415-dc28-42f2-bdba-0c03faabbd8f" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:EquityMethodInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,290</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_755f662f-c8a0-4985-8b48-db786e637589" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:EquityMethodInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,061</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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_bb783c35-495c-4c4f-b0be-695d8f1f8511" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">68,093</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_da7a87a5-3dfe-457e-b412-4cf934d95264" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">79,893</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9be67d65-e0e0-420b-a17b-08f471f2b39c" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,803</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_ff6af38c-b1a0-4ae4-a6da-983baa4a974e" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,282</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;font-weight:bold;min-width:fit-content;">Total 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_54281c4b-031b-4c4b-8d69-1528e078dc9b" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">423,529</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_7621533a-9c08-4263-9e49-43609bcf20e8" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">610,087</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:middle;"><p style="font-size:10pt;margin-top: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>
   </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;">Liabilities, redeemable non-controlling interests and deficit</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;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;">Current 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="text-indent:5pt;vertical-align:bottom;text-align:center;"><p style="margin-left:5pt;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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="text-indent:5pt;vertical-align:bottom;text-align:center;"><p style="margin-left:5pt;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="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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;">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="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bdce5ddb-8157-44d9-addf-c6d9bb2f3bcb" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:AccountsPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,960</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8e2856b6-cf69-402c-87ef-2d727f4f05ca" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:AccountsPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30,758</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Accrued and other current liabilities ($</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8a1e414-58b8-461c-90cc-000d510c908c" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:OtherLiabilitiesCurrentDueToRelatedParties" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">39,814</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;and $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a3abc022-9244-46e1-84e2-863c347b8d85" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:OtherLiabilitiesCurrentDueToRelatedParties" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">63,886</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to a related party)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b089f5e0-e419-4e92-8304-9badae5c3351" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">172,891</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_235b3e05-28b2-4062-877e-966341e688ae" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">219,773</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 revenue ($</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ba438486-ebf3-47ad-b43f-9cf9d5bc8e8e" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:DueToRelatedPartiesDeferredRevenueCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,220</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;and $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_435daec8-0d58-4c5d-8244-627b2b5468cc" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:DueToRelatedPartiesDeferredRevenueCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,259</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to related parties)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6866ab9e-e547-4a23-841d-72243933bddc" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:ContractWithCustomerLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,740</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a188641-0315-47ea-8fb6-0b3e600258b3" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:ContractWithCustomerLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,739</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:middle;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top: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 liabilities, 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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_20b658fb-f15e-46d9-8049-6c3fc750d9b1" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,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_5b51ed5e-f741-41eb-abc4-f800db296d48" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,292</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 current 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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ca5854cf-8a17-41b6-89c7-0eb303fc14a0" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">217,668</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a0feca16-2d40-4005-8a56-5593476d4c30" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">273,562</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Product development obligations</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c4ced13a-0a1c-4b50-9e04-c8c74ebc3d13" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:AccruedProductDevelopmentCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,763</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d3c3e345-2903-4db8-a41f-cc6a509d990b" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:AccruedProductDevelopmentCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,917</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Deferred revenue, net of current ($</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4be39150-bb01-48d6-852a-a36ca6755714" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:DueToRelatedPartiesDeferredRevenueNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,705</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;and $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8fdbf07-83c2-434a-8f56-700de680a865" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:DueToRelatedPartiesDeferredRevenueNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">31,044</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to a related party)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2c7a172c-72cd-4e99-a3e0-e7af4e18a85f" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">157,555</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_47bbf10e-002e-44a7-a809-ad44013ed8e8" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185,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>
   </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 liabilities, non-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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af821c6e-80c0-48e8-b92c-2244be898403" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">66,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>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_039b336c-8060-4d66-990d-08e59090e323" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">79,593</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Senior secured term loan facilities, non-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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fe0135e4-2a7c-4849-bba5-db521376d8ad" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:SecuredLongTermDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cf697e03-24bd-4b8d-a338-a537b3f0c0d8" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:SecuredLongTermDebt" 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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Liability related to sale of future revenues, non-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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c40805f6-5d29-4008-a040-c98e40f0eaa4" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:LiabilityRelatedToSaleOfFutureRevenuesNonCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">51,413</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a7577a4a-b0fc-4ad4-af88-65da24b69cb8" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:LiabilityRelatedToSaleOfFutureRevenuesNonCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">49,333</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 long-term liabilities ($</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_728a9529-4031-41e5-8488-d954ee03204a" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:OtherLiabilitiesNoncurrentDueToRelatedParties" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">656</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;and $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_09a30720-30f5-49de-8f79-3a4584177df3" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:OtherLiabilitiesNoncurrentDueToRelatedParties" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;to a related party)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_309671d4-110c-4c06-b620-f43ddf19e3c9" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,858</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_618658e1-ab92-4819-95e4-b268c34332cb" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,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:#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 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;"><ix:nonFraction id="F_b8bc4c62-a44f-4fec-9ff8-c90944a104c4" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">585,728</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_274bbcc4-6d87-4e95-871a-5bef167e7ffa" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">611,567</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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:10pt;vertical-align:middle;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top: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>
   </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><span style="-sec-ix-hidden:F_c9a5d341-6889-4520-9494-7c805a7e33fe;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Commitments and Contingencies</span></span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;(Note 12)</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;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="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>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Redeemable non-controlling interests</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_87c2b2cb-52da-4f02-a3e8-cc76027f971b" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,480</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5b3868a2-1cd2-4e8a-b0e2-c124b54e6d3b" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount" 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;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;">Stockholders&#8217; deficit:</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Preferred stock, $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8dae0bbb-9f32-4ef7-b877-4033ec16e65e" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:PreferredStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_d4de53a3-724f-4d0a-9e4c-b897b1bb1ae6" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:PreferredStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;par value; </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d7fbbe2-024b-4e44-829f-5ef7ae88921d" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:PreferredStockSharesAuthorized" unitRef="U_shares" scale="3" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_fef2360b-b248-4667-aa26-00f2e20b5936" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:PreferredStockSharesAuthorized" unitRef="U_shares" scale="3" decimals="INF" format="ixt:num-dot-decimal">125,000</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;shares authorized; </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_881aed40-7ddc-4028-9f0b-5ef7687e3a37" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:PreferredStockSharesIssued" unitRef="U_shares" scale="3" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_9ed3bda7-ac1d-4dee-97a7-e7a5eec32ac8" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" scale="3" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_2bc0ee03-834e-4203-b182-848b7b80465a" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:PreferredStockSharesIssued" unitRef="U_shares" scale="3" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_d2659f73-2718-46dc-b5df-8bed272bf7e9" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" scale="3" decimals="INF" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;shares issued <br/>&#160;&#160;&#160;and outstanding at December 31, 2023 and 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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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="-sec-ix-hidden:F_c1ae653e-9040-4144-acdf-a096c907387e;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align: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="-sec-ix-hidden:F_df5e8dbc-2fdb-42ef-9e0d-fd4668dddd0a;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></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:#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;">Common stock, $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_860ab817-2b03-4a69-a3bb-6178ecd121ae" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:CommonStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_491fd61f-2bb3-48fc-bef2-81b155a34c9c" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:CommonStockParOrStatedValuePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;par value; </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ab8ae0ef-1e3f-4834-b426-d8de6fe4377c" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:CommonStockSharesAuthorized" unitRef="U_shares" scale="3" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_f96e7966-2061-4f28-8822-c01faa3a78e0" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:CommonStockSharesAuthorized" unitRef="U_shares" scale="3" decimals="INF" format="ixt:num-dot-decimal">225,000</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;shares authorized at December 31, <br/>&#160;&#160;2023 and 2022; </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0fc3844f-0e75-49a6-96e1-e0b807c838ce" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:CommonStockSharesIssued" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal"><ix:nonFraction id="F_87450240-59f8-4391-bee1-54599dc4786c" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:CommonStockSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">98,770</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;and </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a66e6818-982d-4bc2-beff-b454a24cdaef" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:CommonStockSharesIssued" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal"><ix:nonFraction id="F_125c0672-d788-4f1d-a526-bb9d481d3983" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:CommonStockSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">94,166</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;shares issued and outstanding at <br/>&#160;&#160;December 31, 2023 and 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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d97c78f-c214-4f0b-9a22-9b17b090778f" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:CommonStockValue" 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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8ab6179e-1d15-45a4-8dc3-3886f0d53ede" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:CommonStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">942</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Additional paid-in capital</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_edf5dc77-2644-4e97-840c-0fec9acdfc35" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:AdditionalPaidInCapital" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,643,641</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c6a2c309-5f8d-4529-bf36-437de30f7cb4" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:AdditionalPaidInCapital" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,541,019</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Accumulated other comprehensive loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_d546fc28-230d-4ed2-ac15-15cb5a1eed0a" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6,875</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_56c42a53-e5cd-4758-b714-8e4cc8c71398" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,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="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;">Accumulated deficit</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_04ca247f-0249-4e63-b0f2-f1ee06ed84f9" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:RetainedEarningsAccumulatedDeficit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,841,920</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_c10d9be1-265d-46f2-a8c0-e9efc9e9cbc1" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:RetainedEarningsAccumulatedDeficit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,557,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="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 stockholders&#8217; deficit attributable to FibroGen</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_bd3e3ab2-e25d-4bbb-8c1d-3d1c69a044b0" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">204,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="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_6c55d3d2-375c-4a52-86a1-e0aad189b6ce" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">21,447</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">Nonredeemable non-controlling interests</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0d5819ce-5f06-461b-b75d-c2b1daca591a" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:NonredeemableNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,487</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_483e3d1a-03a5-4787-aa99-d7f91aae5a14" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:NonredeemableNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,967</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 deficit</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_15d2ffa1-d04a-487c-892e-0c0ae8d8553b" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">183,679</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_aa410701-0ec9-43f4-afc7-01fbe1d4ce7e" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,480</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;font-weight:bold;min-width:fit-content;">Total liabilities, redeemable non-controlling interests and deficit</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d94eea9d-0cba-4a75-ab41-9f3f1ce0c9d1" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">423,529</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_21ba6c63-f4b1-43dd-8221-18463d7cb5d6" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">610,087</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: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:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The accompanying notes are an integral part of these Consolidated Financial Statements.</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: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;">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: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;">FIBROGEN, INC.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="consolidated_statements_operations"><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 OPERATIONS</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;">(In thousands, except per share amounts)</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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:52.96%;"/>
    <td style="width:1.54%;"/>
    <td style="width:1%;"/>
    <td style="width:12.14%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:1%;"/>
    <td style="width:12.14%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:1%;"/>
    <td style="width:12.14%;"/>
    <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;">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;font-weight:bold;min-width:fit-content;">Revenue:</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">License revenue (includes $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b2024d7-d164-409d-b9b5-8a577f8171bc" contextRef="C_05c5ce5e-eb10-425e-80f5-1adf25ba924a" name="fgen:LicenseFeesAndMilestonesRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">0</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_566133ea-3647-44c4-95be-e29743ec8d57" contextRef="C_5a42e7fa-5cf5-415b-9493-9ca0620d132f" name="fgen:LicenseFeesAndMilestonesRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,590</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;and $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_724cd585-cc20-4f8b-ab58-7f0e1b98138c" contextRef="C_334a3d96-8fc1-4b16-b7a5-6656db947ddb" name="fgen:LicenseFeesAndMilestonesRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">108,434</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><br/>&#160;&#160;&#160;from a related party)</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_77487f30-744b-4887-8770-58ef46987da5" contextRef="C_acb46919-8df0-40ef-aee5-d04d1c189e87" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,649</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_11d3a59e-a7a5-4a89-9aaf-c2e596a3fc75" contextRef="C_e97f4ffe-92fb-4434-9162-5a5d8f056ada" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,590</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_73773c47-74a0-4d3e-b44d-4ed4b40a013c" contextRef="C_101342b0-9c1c-4d60-a23f-dd1df54c2c11" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">116,434</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Development and other revenue (includes $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_099e0460-13bd-4839-ae20-c981e6d68695" contextRef="C_05c5ce5e-eb10-425e-80f5-1adf25ba924a" name="fgen:CollaborationServicesAndOtherRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,662</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_d484917f-4fcb-4b22-bcd0-f52bfa3fa47f" contextRef="C_5a42e7fa-5cf5-415b-9493-9ca0620d132f" name="fgen:CollaborationServicesAndOtherRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,908</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;and $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fc3d773a-ddf0-4627-8dd2-dc75f276fe30" contextRef="C_334a3d96-8fc1-4b16-b7a5-6656db947ddb" name="fgen:CollaborationServicesAndOtherRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,928</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;from a related party)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b81080e8-e5f9-497d-bfe8-8003fab6132b" contextRef="C_b121c107-842c-4bb6-9142-8fdb84696834" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">18,401</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a30d2d69-497d-4544-8f7a-4e1f6cdb4177" contextRef="C_51e47433-6e9e-4fe2-aa05-81eb4d62a15e" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,189</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_56e381c7-20b3-4756-a788-0c841100b3a1" contextRef="C_81227e65-6a43-4199-bb79-b0865042fc33" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">70,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="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 revenue, net (includes $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6d8ab1fc-e629-4f23-9fad-7c654d7fcf61" contextRef="C_05c5ce5e-eb10-425e-80f5-1adf25ba924a" name="fgen:ProductRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">89,055</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_fa702334-8df8-436c-b221-d748fd9e6f4d" contextRef="C_5a42e7fa-5cf5-415b-9493-9ca0620d132f" name="fgen:ProductRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,167</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;and $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9c16d3f3-11ff-466c-a639-b82ad86324ce" contextRef="C_334a3d96-8fc1-4b16-b7a5-6656db947ddb" name="fgen:ProductRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,568</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><br/>&#160;&#160;&#160;from a related party)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2bfd5f63-1908-40e8-935d-ca594c06dab3" contextRef="C_fa2797cc-9fa1-460c-b81b-ef756cd58ad2" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d632fbd-f610-4ad3-8e70-0005212b42d4" contextRef="C_c72973a0-f5ac-4941-bd93-56ca141c6d0f" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,869</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7373507b-0179-42c8-9d98-e0552c2d8d17" contextRef="C_3ced6666-5930-4496-b340-906b5898d986" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">47,638</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Drug product revenue, net (includes $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3830a600-dc3c-4a93-bed5-1c9850faa4f1" contextRef="C_05c5ce5e-eb10-425e-80f5-1adf25ba924a" name="fgen:DrugProductRevenueFromRelatedParty" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">18,753</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_33eb3f96-7712-408f-a686-929c20b85ba5" contextRef="C_5a42e7fa-5cf5-415b-9493-9ca0620d132f" name="fgen:DrugProductRevenueFromRelatedParty" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,086</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;and $</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_72ed1fb8-38d1-4489-b3ce-f10422a1bbca" contextRef="C_334a3d96-8fc1-4b16-b7a5-6656db947ddb" name="fgen:DrugProductRevenueFromRelatedParty" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,186</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;<br/>&#160;&#160;&#160;from a related party)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8c2cc75d-bbc7-4f23-82cb-065f187c273f" contextRef="C_f9dd4cad-13bb-420f-b339-f11ab7f9f5b0" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">18,753</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_3cb83e6d-e0fd-4da6-b62e-9710d7334f6e" contextRef="C_cd5519fe-2462-4e5c-ba0d-311dcb429297" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,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>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a48e160-16a4-4f74-8303-13cdb15bdd46" contextRef="C_0f0dbffc-396b-44ef-8b73-7f9a3a5e51e1" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">962</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b167873f-bf43-4abc-9fb7-3aefa505eec1" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">147,752</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d2722c09-ef8a-4699-9b40-e255711e44c0" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">140,734</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bb944e4d-207d-4eed-a412-de1a31e6ceaf" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">235,309</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;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:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:20pt;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="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;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;">Operating costs and expenses:</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_000ff0b2-277e-4672-babe-12b5ceb15f67;"><span style="-sec-ix-hidden:F_f2724b7f-2079-42a4-86d7-eac263261762;"><span style="-sec-ix-hidden:F_3ffc38fd-b789-45d0-bd3a-744860736a32;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of goods sold</span></span></span></span></span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_372716a6-0dd1-49ec-a070-6a6d94cbdb43" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:CostOfRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">18,848</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4fa73000-d8a3-4211-a1ee-dc08f78c8b38" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:CostOfRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,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_44530d50-9bce-422f-a956-ef34e2527370" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:CostOfRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,871</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f71ceea9-e602-4a52-b9d3-7ca2e084969a" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">282,861</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3e596eb0-20ca-490e-af7e-6605ca00ee3d" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">296,791</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_16d18708-810e-47b4-bede-0cac8c057cfa" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">387,043</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d08315fb-c216-42db-a6dd-a69bfcfe9d4b" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:SellingGeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115,252</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7c9807a4-077a-4e4e-871a-06cf8ac9daa8" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:SellingGeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">124,688</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d42ab43-0998-454d-ba5d-0ca5949b2c95" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:SellingGeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">123,925</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Restructuring charge</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7269fc57-e797-4dbc-9e97-4031908e06a7" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:RestructuringCharges" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,606</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_8679bec8-cf64-4aaa-abf3-f95f3afdb133" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:RestructuringCharges" 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>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_58084aee-152f-4048-b928-edf11e43f0dc" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:RestructuringCharges" 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: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 operating costs and expenses</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_43eb3577-5a63-44ad-9546-8a19c020b5b9" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:CostsAndExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">429,567</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_4ba94aef-eff6-4fec-8211-00e0fbcd902d" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:CostsAndExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">441,759</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_cf7c70d3-9755-4837-936c-cab36c3e25da" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:CostsAndExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">523,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="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;font-weight:bold;min-width:fit-content;">Loss from operations</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_77cd2b47-c90e-4a4b-b4d1-88945c89a3b8" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">281,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_da36beba-789e-4148-b083-5db9622d325b" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">301,025</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_157f65ba-6f43-4943-9829-d4334277fe1d" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">288,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="color:#000000;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="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="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;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;">Interest and other, net</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_6a8e24e8-5761-48fb-8a35-7b0a31f130a4" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:InterestExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,532</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_eb92c265-cc29-4a54-985e-3e2b36841986" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:InterestExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,440</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_dd28d151-33bb-466a-841b-c890f4b0fe86" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:InterestExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,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>
   </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 income and other income (expenses), 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:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1a900af1-73f0-4c03-af02-e1a00cf7d783" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,480</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_728e522e-d589-456b-83bd-3ed39fa7425e" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,596</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_7ea21719-c4f9-44c6-9837-2acfcf88ee4b" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,078</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;min-width:fit-content;">Total interest and other, 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:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_0aaa50de-7989-4dd6-8b64-b3f9cc8d7da6" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:InterestIncomeExpenseNonoperatingNet" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,052</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_4b524966-9ac5-409c-bcd7-9191b81dcfb3" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:InterestIncomeExpenseNonoperatingNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,156</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_8ce84549-cf6a-4768-bc54-2dd4b97be755" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:InterestIncomeExpenseNonoperatingNet" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,153</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="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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;font-weight:bold;min-width:fit-content;">Loss 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_1eeaab7e-f4f7-4a1b-a0f3-df0995f1126d" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">286,867</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_4f7ffd3e-d33c-4002-b33f-d75adf06b52f" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">294,869</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_398af959-3abc-497e-ad3b-f7edb607afb3" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">290,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="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;">Provision for 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_03e43260-ca64-4472-ab81-e31e7c86a61f" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncomeTaxExpenseBenefit" 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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_98cf6c39-8725-4abd-9ab2-1a38708db7d5" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">358</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_279b0cec-2ac4-46c9-8179-15b776ac9474" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">347</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Investment income in unconsolidated variable <br/>&#160;&#160;&#160;interest entity</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7cd6d026-f5c5-482f-be78-adf441bf2d9d" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncomeLossFromEquityMethodInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,638</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_899923cb-a1da-4f2e-98a7-5978c34e7e6c" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncomeLossFromEquityMethodInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,573</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_448fdd10-bda5-457e-a2ae-c0e2e9972fd6" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncomeLossFromEquityMethodInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,007</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;font-weight:bold;min-width:fit-content;">Net loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_20692123-921b-452c-b031-f3b450381783" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">284,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="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_e4ac1363-8f04-4c15-bf3b-cfcc72d2314e" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">293,654</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_77f660cc-ba03-45a4-b7a5-67719cc1467c" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">290,023</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:#cff0fc;word-break:break-word;white-space:pre-wrap;">
    <td style="text-indent:5pt;vertical-align:middle;"><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="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:middle;"><p style="font-size:10pt;margin-top: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 loss per share - basic and 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_476eef06-9849-465d-ab7d-09757ea6d38a" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal"><ix:nonFraction id="F_c1be5c3f-84ef-4e08-b751-b185e590333b" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">2.92</ix:nonFraction></ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_d23dd51d-e3d9-4dd7-843c-8ba72b6e28a7" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal"><ix:nonFraction id="F_fd23f6e8-b510-40c5-9057-cf70d8e93fa2" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">3.14</ix:nonFraction></ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_87b1a726-32f2-4ea9-905b-064248fb0908" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:EarningsPerShareBasic" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal"><ix:nonFraction id="F_68ddc061-8759-4f26-a5ca-afd11067f83f" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:EarningsPerShareDiluted" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">3.14</ix:nonFraction></ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:#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="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:middle;"><p style="font-size:10pt;margin-top: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 number of common shares used to calculate<br/>&#160;&#160;&#160;net loss per share - basic and 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b7bbbd74-9fa1-4a9c-b56b-954153d6ef58" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal"><ix:nonFraction id="F_6a062293-7abb-483d-9160-514b9bfb96ca" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">97,303</ix:nonFraction></ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ec33abca-7008-44ac-ab75-56d7a1efed67" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal"><ix:nonFraction id="F_a92d9cec-b066-4501-9e79-c57525cafa73" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">93,582</ix:nonFraction></ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b76fdf6a-77d8-49e9-a6dc-42a9f2db1a05" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal"><ix:nonFraction id="F_7345ac80-9cca-4872-83d7-d952d2a5366c" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">92,349</ix:nonFraction></ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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="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:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The accompanying notes are an integral part of these Consolidated Financial Statements.</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: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;">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: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;">FIBROGEN, INC.</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_lo"><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 LOSS</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;">(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: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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:55.129%;"/>
    <td style="width:1.48%;"/>
    <td style="width:1%;"/>
    <td style="width:11.478%;"/>
    <td style="width:1%;"/>
    <td style="width:1.48%;"/>
    <td style="width:1%;"/>
    <td style="width:11.478%;"/>
    <td style="width:1%;"/>
    <td style="width:1.48%;"/>
    <td style="width:1%;"/>
    <td style="width:11.478%;"/>
    <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;">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;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-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;">Net loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_a02ea13b-feff-4889-adf7-be720b87c1b5" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">284,232</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_2f7f4821-743c-4b0d-af88-dca0c340e08c" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">293,654</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_329f9d6f-6cac-4eed-8968-8da66045e7c4" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">290,023</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:#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 translation adjustments</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_0050a959-643e-4133-972b-df40d9679a9b" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,712</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;"><ix:nonFraction id="F_0128a157-90db-4a10-89c2-cfa9dcf43efd" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">75</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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_ae245e02-cd7c-47b3-95b2-af4a4e81a722" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,235</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Available-for-sale investments:</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:#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;">Unrealized gain (loss) on investments, net of tax effect</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_69dec945-3db1-4f74-8133-03993c4638ec" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,557</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_84196f85-84ba-4952-8c35-7d16803350ad" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,632</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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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_c71b26c6-e492-4f80-8989-e4ae78588f60" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">899</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;">Other comprehensive gain (loss), net of 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:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_1f5c7ebd-d646-478a-8bce-4871caceaf76" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,155</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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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_ee1008d1-7bdb-4007-918c-b887a8c67620" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,557</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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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_473aef02-d861-4881-82b6-b698344473cb" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">336</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;">Comprehensive loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_3117d081-3e3e-455c-8019-66160c1615ed" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">285,387</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a8d82feb-0126-45aa-8954-b1d6f9aa7a12" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">295,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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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_fcb373fb-7718-4f43-95ef-00a611cdd214" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">289,687</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The accompanying notes are an integral part of these Consolidated Financial Statements.</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: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;">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: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;">FIBROGEN, INC.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="consolidated_statements_equity"><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 OF CHANGES IN STOCKHOLDERS&#8217; EQUITY</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> (DEFICIT)</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;">(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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:16.283%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:7.421%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:6.981%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:7.742%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:8.482%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:6.981%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:6.981%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:6.521%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:7.602%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:6pt;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:6.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;">Common Stock</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:6.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:6.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:6.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;">Additional <br/>Paid-in</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:6.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:6.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:6.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;">Accumulated<br/>Other<br/>Comprehensive</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:6.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:6.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:6.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;">Accumulated</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:6.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:6.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:6.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<br/>Controlling</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:6.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:6.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:6.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;text-align:left;"><p style="font-size:6.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="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:6.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="border-top:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:6.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="border-top:0.5pt solid #ffffff03;vertical-align:bottom;text-align:left;"><p style="font-size:6.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;">Redeemable<br/>Non-Controlling</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:6.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:6pt;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;text-align:left;"><p style="font-size:6.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;">Shares</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:6.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:6.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:6.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;">Amount</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:6.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:6.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:6.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;">Capital</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:6.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:6.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:6.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;">Loss</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:6.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:6.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:6.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;">Deficit</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:6.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:6.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:6.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;">Interests</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:6.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:6.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:6.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;">Equity (Deficit)</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:6.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="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:6.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:6.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:6.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;">Interests</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:6.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:6pt;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;text-align:left;"><p style="font-size:6.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:6.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:6.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:6.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:6.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:6.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:6.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:6.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:6.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:6.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:6.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:6.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:6.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:6.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:6.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:6.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:6.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:6.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:6.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:6.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="border-right:0.5pt solid #000000;vertical-align:bottom;text-align:left;"><p style="font-size:6.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:6.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:6.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;">(Note 4)</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:6.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:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;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;min-width:fit-content;">Balance at <br/>&#160;&#160;December 31, 2020</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_c6a51679-c087-444f-8305-aeb12c91141c" contextRef="C_4619cae0-6f48-4c8b-9b0a-c6c5ace442f1" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">91,440,633</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;"><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="white-space:nowrap;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_a5735086-9e68-4747-92a6-35cafedf3bb3" contextRef="C_4619cae0-6f48-4c8b-9b0a-c6c5ace442f1" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">914</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;"><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="white-space:nowrap;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_6cc952a0-2ab2-4d6d-8d4e-020079e5a2a1" contextRef="C_e2ed8e46-1267-4633-bf23-9e61d09ab653" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,399,774</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;"><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="white-space:nowrap;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_63cba70f-7cd7-4af2-bd1e-016e25adca97" contextRef="C_db6fb63e-a4ce-4e4a-886e-36ba9c7a1335" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">4,499</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;"><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="white-space:nowrap;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_d79f873b-9463-46af-8400-b5fe247dc3cd" contextRef="C_c0399d25-ee44-4169-9544-4f358b8d17f8" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">974,011</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;"><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="white-space:nowrap;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_054bff14-647d-4ac9-b1c8-f132e54dca42" contextRef="C_2976791d-f25c-4b1b-afd4-71ad7a47ef4f" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,271</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;"><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="white-space:nowrap;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_dd6e63a0-3ddc-407b-b937-ea94206fb1e3" contextRef="C_199ec123-7c4b-43e3-8f2c-009e824a52be" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">441,449</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;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_bc5f43ab-26c5-4c98-a673-c0c6652d2cb9" contextRef="C_baf4242f-5d13-4035-961f-f5744ebc2d09" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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="white-space:pre-wrap;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;">Net loss</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_a2909d4f-0199-44d1-8efb-1bf147f216e8" contextRef="C_e9d30697-9059-4875-a249-41c40837b52a" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_3d0c62fc-75b6-47b4-9214-41e3c4374cb4" contextRef="C_e9d30697-9059-4875-a249-41c40837b52a" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_221b728e-f8c6-4262-9793-0764cbb3c788" contextRef="C_eb1b3f54-5cb0-423d-aa5f-3bb8c58bd699" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_cc9a72c5-4b9e-49ac-8fea-b146e1099734" contextRef="C_f783ee6b-b7bf-4df8-8921-f64c2c32715e" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_db98375c-3067-4aa2-8922-18e5315150f1" contextRef="C_26002145-6f5e-42e8-9176-8a2b83d50419" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">290,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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_6d61dc07-3332-41f6-a382-9ef7c4d447b2" contextRef="C_04056763-b277-40b0-a25b-537f7d95e260" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_ac473e32-4224-4be7-89a7-54b5fdce9c81" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">290,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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_61cc6e5a-85e8-45ff-ba15-a54f3ad541ac" contextRef="C_2cb0b760-21b6-4428-9315-5445410e51a3" name="us-gaap:NetIncomeLoss" 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="white-space:pre-wrap;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;">Change in unrealized <br/>&#160;&#160;gain or loss on <br/>&#160;&#160;investments</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_b6f23062-1b4a-4370-b592-3c91fb7e302f" contextRef="C_e9d30697-9059-4875-a249-41c40837b52a" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_313d6a2c-8084-4cd2-98a3-ee629c901073" contextRef="C_e9d30697-9059-4875-a249-41c40837b52a" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_8c436075-c915-4860-88c1-99f4d5db073d" contextRef="C_eb1b3f54-5cb0-423d-aa5f-3bb8c58bd699" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_955dfb3d-9fd5-4a92-a579-f169f5115b74" contextRef="C_f783ee6b-b7bf-4df8-8921-f64c2c32715e" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">899</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_3d044c3b-c9d0-4b3a-88eb-1cbe75a278f6" contextRef="C_26002145-6f5e-42e8-9176-8a2b83d50419" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_27d29aa0-12e1-4951-9493-ddae827c21c3" contextRef="C_04056763-b277-40b0-a25b-537f7d95e260" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_915bbc91-f967-4252-b55b-5c290e4996b9" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">899</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_b9eb28ec-1188-4cb8-8194-c14a28837bf1" contextRef="C_2cb0b760-21b6-4428-9315-5445410e51a3" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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="white-space:pre-wrap;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;">Foreign currency <br/>&#160;&#160;translation <br/>&#160;&#160;adjustments</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_a158364b-fe3e-40db-9cb5-396bae455125" contextRef="C_e9d30697-9059-4875-a249-41c40837b52a" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_caff4177-a550-483e-9cee-9d7f4e9a431c" contextRef="C_e9d30697-9059-4875-a249-41c40837b52a" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_68252c06-a384-4e1d-82eb-a18776819b85" contextRef="C_eb1b3f54-5cb0-423d-aa5f-3bb8c58bd699" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_0c16a821-4559-47fd-b125-41938b0ce837" contextRef="C_f783ee6b-b7bf-4df8-8921-f64c2c32715e" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,235</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_3f55fdb7-b285-44c4-8505-5acdded818b6" contextRef="C_26002145-6f5e-42e8-9176-8a2b83d50419" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_cdb96bf1-d294-4984-a152-b21ae59f8590" contextRef="C_04056763-b277-40b0-a25b-537f7d95e260" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_6a8b39c0-21f9-4826-ae6f-2ff66ef78f83" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,235</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_b02998c8-300b-4796-8ce8-e1b7db128d12" contextRef="C_2cb0b760-21b6-4428-9315-5445410e51a3" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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="white-space:pre-wrap;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;">Shares issued from <br/>&#160;&#160;stock plans, net of <br/>&#160;&#160;payroll taxes paid</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_0e28722f-5232-4814-bd59-4138dd24708f" contextRef="C_e9d30697-9059-4875-a249-41c40837b52a" name="fgen:SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,439,900</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_252a52a9-6c5f-4f97-9fb9-5e32d91a4dc0" contextRef="C_e9d30697-9059-4875-a249-41c40837b52a" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_52a78501-4813-4c06-9568-908bccdf29e5" contextRef="C_eb1b3f54-5cb0-423d-aa5f-3bb8c58bd699" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,479</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_d26b3724-96d7-4b0f-ae51-254d99fea461" contextRef="C_f783ee6b-b7bf-4df8-8921-f64c2c32715e" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_77f57cf6-2710-430e-b192-392e952f6d7c" contextRef="C_26002145-6f5e-42e8-9176-8a2b83d50419" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_331d58c0-6dad-4a7a-bd32-b8d5a8e94b4b" contextRef="C_04056763-b277-40b0-a25b-537f7d95e260" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_c7f43c8f-42a5-4f87-96ea-edd7bb8b4bcc" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,494</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_d6f5a50b-941b-43f0-9086-7ee3057dea15" contextRef="C_2cb0b760-21b6-4428-9315-5445410e51a3" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" 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="white-space:pre-wrap;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;">Stock-based <br/>&#160;&#160;compensation</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_ab849bd4-69fc-4e1f-95de-882865d7f91f" contextRef="C_e9d30697-9059-4875-a249-41c40837b52a" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_b8d96765-01a3-44d6-bb0d-95a9124d8d21" contextRef="C_e9d30697-9059-4875-a249-41c40837b52a" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_64eeae3f-864f-4a43-9bb2-485f5feec3fd" contextRef="C_eb1b3f54-5cb0-423d-aa5f-3bb8c58bd699" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,161</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_c6f975d8-d8d5-4825-9231-8b625fb567ca" contextRef="C_f783ee6b-b7bf-4df8-8921-f64c2c32715e" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_b2a926fb-07e9-42dc-af78-1380aa2f0834" contextRef="C_26002145-6f5e-42e8-9176-8a2b83d50419" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_b088ad47-41e9-4b55-b387-a523d0d95537" contextRef="C_04056763-b277-40b0-a25b-537f7d95e260" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_58f2eb9f-179f-4b2f-9ad7-b5807faf8d24" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,161</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_b1d1b801-c596-4c77-947e-96276c871334" contextRef="C_2cb0b760-21b6-4428-9315-5445410e51a3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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="white-space:pre-wrap;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;">Conversion of <br/>&#160;&#160;subsidiary&#8217;s <br/>&#160;&#160;convertible <br/>&#160;&#160;note payable<br/>&#160;&#160;(Note 13)</span></p></td>
    <td style="white-space:pre-wrap;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="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_73be6646-a76f-4a25-b361-ddaae5d3562d" contextRef="C_e9d30697-9059-4875-a249-41c40837b52a" name="fgen:ConversionOfSubsidiarysConvertibleNotePayable" 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;"><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="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_b9852df0-8060-4fb3-9d6a-6417bd575db7" contextRef="C_e9d30697-9059-4875-a249-41c40837b52a" name="fgen:ConversionOfSubsidiarysConvertibleNotePayable" 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;"><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="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_2bcab79c-8987-4022-acc5-3679c2eb4954" contextRef="C_eb1b3f54-5cb0-423d-aa5f-3bb8c58bd699" name="fgen:ConversionOfSubsidiarysConvertibleNotePayable" 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;"><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="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_6713de58-ebb4-494e-b3e6-5a164b76c1a1" contextRef="C_f783ee6b-b7bf-4df8-8921-f64c2c32715e" name="fgen:ConversionOfSubsidiarysConvertibleNotePayable" 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;"><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="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_122fb7b2-ffee-4ba5-8185-ebf6e69b1d06" contextRef="C_26002145-6f5e-42e8-9176-8a2b83d50419" name="fgen:ConversionOfSubsidiarysConvertibleNotePayable" 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;"><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="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_30942d46-f1dc-4bfb-90a7-3f713f02825a" contextRef="C_04056763-b277-40b0-a25b-537f7d95e260" name="fgen:ConversionOfSubsidiarysConvertibleNotePayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">696</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;"><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="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_cb10f41e-e8d3-4657-9fac-d6fb6e0e82dc" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:ConversionOfSubsidiarysConvertibleNotePayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">696</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="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_3b0236cd-e8cc-4324-8148-d7ac6babccd1" contextRef="C_2cb0b760-21b6-4428-9315-5445410e51a3" name="fgen:ConversionOfSubsidiarysConvertibleNotePayable" 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="white-space:pre-wrap;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;min-width:fit-content;">Balance at <br/>&#160;&#160;December 31, 2021</span></p></td>
    <td style="white-space:pre-wrap;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="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_d0c10900-5d91-4d17-8b89-dd272aa2e76b" contextRef="C_1951cf98-3452-4729-9620-7bf634d5bd22" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">92,880,533</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;"><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="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_12353a0f-59a1-4198-8566-beff0c092a47" contextRef="C_1951cf98-3452-4729-9620-7bf634d5bd22" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">929</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;"><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="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_0ae6862c-5ebd-47ae-989d-f7ec1af6692a" contextRef="C_5c1aed34-8144-4ef5-a31b-4004344b8f78" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,476,414</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;"><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="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_be2e837b-3180-42a0-b298-aa1744177f71" contextRef="C_1528764b-7417-43bf-b0e8-270db351abad" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">4,163</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;"><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="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_d6f03142-e5f0-4700-bf9c-3a5e5c71e758" contextRef="C_afb93e67-b1f7-410a-9eb5-76a98e755f1e" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,264,034</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;"><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="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_3c6d0638-0a4b-428b-b008-25317915d2bd" contextRef="C_3cd339e5-d423-4fac-b504-227336a6a578" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,967</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;"><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="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_778a8df2-1979-45ca-a09b-2070c43326c2" contextRef="C_51790052-a00c-4d1f-b3b3-7bef5e668b8a" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">229,113</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="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_8790b2cc-5473-4bfb-bb28-5582f11c8ef4" contextRef="C_f187a5ba-1fd3-43c9-a7e5-a15fdbb02cbc" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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="white-space:pre-wrap;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;">Net loss</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_0eb76383-94e7-449a-a7dc-7cb7799d50ae" contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_9880e370-064c-4d3a-84d8-53768e2b4832" contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_2c9171c7-cb8b-496d-986e-f4269a5d5953" contextRef="C_d3b77e5c-d2a5-4628-8645-7f0536e2037f" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_8831d018-6702-4f60-8080-cc2534b8cf73" contextRef="C_d3e27962-7c7d-46f5-97f3-20e1fc677a66" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_3506c07d-c866-40c2-b834-3135c5ef5f6f" contextRef="C_22b18794-5191-4b85-85b2-dc1d4050c6ba" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">293,654</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_b1798b59-1d20-4342-94bb-75ff7de56ea0" contextRef="C_a78aa492-a4f1-4008-bca5-4c4e263f2c78" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_ac49d4d4-5376-4c66-936e-87c4a11369a3" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">293,654</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_5548100d-60e6-4414-8c48-5ace64478f61" contextRef="C_84e1af20-ca17-4160-adfe-251eef105f87" name="us-gaap:NetIncomeLoss" 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="white-space:pre-wrap;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;">Change in unrealized <br/>&#160;&#160;gain or loss on <br/>&#160;&#160;investments</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_f120477e-4c0c-4aac-8c90-89a0df608c2e" contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_ee33d20f-67e4-4fe1-a428-7d59d3a88bf4" contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_6c5b1ef0-fe14-414e-bacf-b5fedd739f24" contextRef="C_d3b77e5c-d2a5-4628-8645-7f0536e2037f" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_239baca2-c81f-47e8-8dc5-5455d9660233" contextRef="C_d3e27962-7c7d-46f5-97f3-20e1fc677a66" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,632</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_4c6fa22a-a1f9-498b-9254-c9fc0f25c3ce" contextRef="C_22b18794-5191-4b85-85b2-dc1d4050c6ba" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_8116a801-6d63-4c27-a50d-8fd40d813b0a" contextRef="C_a78aa492-a4f1-4008-bca5-4c4e263f2c78" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_286bdbfe-1c99-423b-9b21-a8092de9b543" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,632</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_6f2e920d-e7e9-4db4-b5a2-81285c1adf41" contextRef="C_84e1af20-ca17-4160-adfe-251eef105f87" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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="white-space:pre-wrap;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;">Foreign currency <br/>&#160;&#160;translation <br/>&#160;&#160;adjustments</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_0a26d8d8-95b2-4b57-9751-ea9f25a14f66" contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_496d52d1-0243-4cfd-8277-926a8fa0f466" contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_784bf836-f681-4bc1-9b20-0e3a1f65c2d2" contextRef="C_d3b77e5c-d2a5-4628-8645-7f0536e2037f" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_120487c5-f3b0-4343-a932-37238abf5569" contextRef="C_d3e27962-7c7d-46f5-97f3-20e1fc677a66" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">75</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_de16ae7a-a2e5-4436-9b2c-3244aa4cffec" contextRef="C_22b18794-5191-4b85-85b2-dc1d4050c6ba" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_8f97c469-a325-42c4-9d7e-934605eb7218" contextRef="C_a78aa492-a4f1-4008-bca5-4c4e263f2c78" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_2729baa8-4611-43ca-867c-c51491eb1aef" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">75</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_1df21c5e-f754-4651-979b-d3c550823fc3" contextRef="C_84e1af20-ca17-4160-adfe-251eef105f87" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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="white-space:pre-wrap;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;">Shares issued from <br/>&#160;&#160;stock plans, net of <br/>&#160;&#160;payroll taxes paid</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_d748292e-fbca-4137-9c8b-e96c62c96e8b" contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35" name="fgen:SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,285,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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_6da206d8-f292-4d18-a982-e37d47fbc6ec" contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" unitRef="U_USD" scale="3" decimals="-3" 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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_2b1871c0-b547-49db-ac8b-33e4280ef042" contextRef="C_d3b77e5c-d2a5-4628-8645-7f0536e2037f" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">996</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_b31b1b6d-ad1b-430a-a334-b392654090ff" contextRef="C_d3e27962-7c7d-46f5-97f3-20e1fc677a66" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_0d2c076c-4ed0-476a-a6fe-86f6c8d2a0df" contextRef="C_22b18794-5191-4b85-85b2-dc1d4050c6ba" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_33c99a78-90ff-4411-b04d-165123dea525" contextRef="C_a78aa492-a4f1-4008-bca5-4c4e263f2c78" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_dda3307b-edc0-4b4d-b770-a4bb91a83fbf" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">983</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_97e4a198-a12d-4ef6-a353-76e2f0169e6c" contextRef="C_84e1af20-ca17-4160-adfe-251eef105f87" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" 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="white-space:pre-wrap;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;">Stock-based <br/>&#160;&#160;compensation</span></p></td>
    <td style="white-space:pre-wrap;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="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_84c64f4d-cc9a-48a1-aa83-94b6680fcaa1" contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="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_c21ca6af-c465-49a8-a07e-194d5f0cb649" contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="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_cd84bf93-54f3-4f8c-b497-dc3dda86e0a2" contextRef="C_d3b77e5c-d2a5-4628-8645-7f0536e2037f" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">65,601</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;"><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="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_9b50936c-cf74-4fef-ab96-d7858349d6fc" contextRef="C_d3e27962-7c7d-46f5-97f3-20e1fc677a66" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="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_aca32026-9c03-43bc-983f-70e9f453d838" contextRef="C_22b18794-5191-4b85-85b2-dc1d4050c6ba" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="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_db3f80d5-9f72-4742-8e19-a64deb0d5bc4" contextRef="C_a78aa492-a4f1-4008-bca5-4c4e263f2c78" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="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_dee1fef9-8ced-418a-a837-32f42572592b" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">65,601</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="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_84e81fa6-f12a-4c22-8609-e7a39167ff9d" contextRef="C_84e1af20-ca17-4160-adfe-251eef105f87" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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="white-space:pre-wrap;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;min-width:fit-content;">Balance at <br/>&#160;&#160;December 31, 2022</span></p></td>
    <td style="white-space:pre-wrap;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="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_d2e87ecc-87e7-469a-a1be-c3930cf3d289" contextRef="C_99cd03a9-4798-4b8a-8371-9c87615120e6" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">94,166,086</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;"><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="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_b3a13db5-9440-4cef-9d78-1da39ef11853" contextRef="C_99cd03a9-4798-4b8a-8371-9c87615120e6" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">942</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;"><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="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_ac6c8d64-5c4a-4477-a399-e66f1c6f8e0e" contextRef="C_207f7479-2b33-486a-9e5e-2da2f18f3d8f" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,541,019</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;"><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="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_473e9634-eb45-46cd-b807-c1fbb1207e6a" contextRef="C_bb6bcc77-7a0f-4310-bb96-3bcf3822ed39" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,720</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;"><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="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_2084b8ba-56fe-450b-8e8e-d2a84a28aab2" contextRef="C_a4ea8880-b080-4f64-b120-e4ccdcaa8e6a" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,557,688</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;"><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="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_1a98b660-1f67-4154-9ab3-8bf67ed5130e" contextRef="C_43e0e074-f5ce-4935-8fab-58ec7e6f2bdb" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,967</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;"><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="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_4c4ea905-89b5-44e9-9b94-33efa09f3df1" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,480</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="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_baa09a23-17fe-4e38-8814-7a2745204e60" contextRef="C_2e2e383d-456d-4a07-bc59-c13b2c44a1c0" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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="white-space:pre-wrap;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;">Net loss</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_4af651fd-876e-4cb6-8773-7176462e9712" contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_6eaef7fb-c9cf-4ca7-adc6-34498ebd1cd3" contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_1334d2b0-79b1-4ac0-be7a-05a023eaf0c4" contextRef="C_397c3bed-839e-48de-92a2-d84e03a45424" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_60ed7710-3301-44df-8235-0e35a1615252" contextRef="C_b8335490-3812-4924-9787-048714b5e777" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_36de2a1d-3793-47de-9207-8b7fb775fce1" contextRef="C_af2adcf9-f465-4168-868b-527ff23d4372" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">284,232</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_aaa733d5-9005-4270-a09a-a6d4188ad57a" contextRef="C_0306163d-33a1-4585-9e18-f8ed18761bf1" name="us-gaap:NetIncomeLoss" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_1eeb902e-747e-431a-9e2f-79674e6db708" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">284,232</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_7bcdf043-fa01-4ea6-a9e9-5209f06bbe85" contextRef="C_fcdd70cc-02f1-4078-91fa-572c17727d6a" name="us-gaap:NetIncomeLoss" 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="white-space:pre-wrap;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;">Consolidation of Fortis<br/>&#160;&#160;&#160;(Note 4)</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_8080e96b-b916-4333-b21c-97ad64a24b84" contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_07f9d1df-5736-4421-8cec-a842d2c039b1" contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_2ace9fed-b386-4601-9d00-450c2d723d5f" contextRef="C_397c3bed-839e-48de-92a2-d84e03a45424" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_f97ca720-4922-4e02-a248-63d3318bf93d" contextRef="C_b8335490-3812-4924-9787-048714b5e777" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_7a514be7-b3a3-45e0-aafb-c343d6a8793f" contextRef="C_af2adcf9-f465-4168-868b-527ff23d4372" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_97153a61-394d-4de9-ad66-608a6b7eb796" contextRef="C_0306163d-33a1-4585-9e18-f8ed18761bf1" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">520</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_a69cec5f-d80a-49bb-9b98-f903874e8119" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">520</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_9daa8555-2f9a-4462-aef5-0f987fa39436" contextRef="C_fcdd70cc-02f1-4078-91fa-572c17727d6a" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,480</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: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;">Change in unrealized <br/>&#160;&#160;gain or loss on <br/>&#160;&#160;investments</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_70a9cfae-e0a0-4d79-9d7f-c05f331edd1e" contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_93c74be8-fa06-4d82-ba55-7d874b2eb895" contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_1b9b8a4a-13a7-494f-9cb5-b72e88e3a486" contextRef="C_397c3bed-839e-48de-92a2-d84e03a45424" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_8b747cf1-1fe5-476e-b1a0-e6e67c095e30" contextRef="C_b8335490-3812-4924-9787-048714b5e777" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,557</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_24230ac4-73ac-4893-ac1e-a7be23c7c49e" contextRef="C_af2adcf9-f465-4168-868b-527ff23d4372" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_6052240a-3cdd-4296-9039-b560d85f8ab0" contextRef="C_0306163d-33a1-4585-9e18-f8ed18761bf1" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_e49b9bcf-0d94-406a-a241-b8b018d650cd" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,557</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_4c6ff464-491c-4a68-894a-d4bbd842a041" contextRef="C_fcdd70cc-02f1-4078-91fa-572c17727d6a" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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="white-space:pre-wrap;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;">Foreign currency <br/>&#160;&#160;translation <br/>&#160;&#160;adjustments</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_05394db7-1d0f-453d-ab2d-c6fd21f51858" contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_873427f9-2700-433f-8099-71e6dc3cf90e" contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_c5acb416-ea3d-45db-88d4-8fbe7ce3a3ee" contextRef="C_397c3bed-839e-48de-92a2-d84e03a45424" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_23f75f90-f200-4543-89d7-0f52a3024b70" contextRef="C_b8335490-3812-4924-9787-048714b5e777" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,712</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_cc2687b2-4145-460a-bd45-01706378175f" contextRef="C_af2adcf9-f465-4168-868b-527ff23d4372" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_4f05bf67-b515-4ada-9765-8942557f4a2a" contextRef="C_0306163d-33a1-4585-9e18-f8ed18761bf1" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_f95ba75b-8bfe-4120-9971-83d30de13ef4" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,712</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_936ae086-0bd7-4b16-95a0-b19edd2df281" contextRef="C_fcdd70cc-02f1-4078-91fa-572c17727d6a" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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="white-space:pre-wrap;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;">Issuance of common<br/>&#160;&#160;stock under ATM <br/>&#160;&#160;Program</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_7033ad49-bdf5-435c-957a-011586797865" contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">2,472,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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_ea72a7f1-56d7-4586-9884-68193b6f61ef" contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" 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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_8333a8bc-689e-416e-a259-5fec5fe288b0" contextRef="C_397c3bed-839e-48de-92a2-d84e03a45424" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">48,383</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_ae3b0afc-e4aa-4171-9775-365437ddb188" contextRef="C_b8335490-3812-4924-9787-048714b5e777" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_85e84bca-51f4-465a-a140-fe0c803de738" contextRef="C_af2adcf9-f465-4168-868b-527ff23d4372" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_f0f53ffc-cd73-46d7-849a-67f042fb70e8" contextRef="C_0306163d-33a1-4585-9e18-f8ed18761bf1" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_3c59330b-48e8-4cfd-9c7c-727f95d73b78" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">48,407</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_3f5556ad-94e8-4bb3-aae6-4e337f5de96b" contextRef="C_fcdd70cc-02f1-4078-91fa-572c17727d6a" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" 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="white-space:pre-wrap;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;">Shares issued from <br/>&#160;&#160;stock plans, net of <br/>&#160;&#160;payroll taxes paid</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_9d259551-a03a-4d1b-88cf-99833d07cfac" contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b" name="fgen:SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">2,132,071</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_fbff4196-713f-46b1-8cf6-22ad164bce97" contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_5f7ac2fb-823d-4e22-bf9b-9c11bc6b6c1e" contextRef="C_397c3bed-839e-48de-92a2-d84e03a45424" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,472</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_d5455dea-7eca-461e-b201-f935ff2c0c87" contextRef="C_b8335490-3812-4924-9787-048714b5e777" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_452f1b6f-a869-4377-8e6f-96b7d44129a3" contextRef="C_af2adcf9-f465-4168-868b-527ff23d4372" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_7ebdd9a3-8123-4f8d-a851-aadf1a8be003" contextRef="C_0306163d-33a1-4585-9e18-f8ed18761bf1" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_2919ebbe-1abe-4343-b79c-708d4cc9ea0c" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,494</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_a8a1b3d1-5109-410e-a0fe-362901f4c0cc" contextRef="C_fcdd70cc-02f1-4078-91fa-572c17727d6a" name="fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" 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="white-space:pre-wrap;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;">Stock-based <br/>&#160;&#160;compensation</span></p></td>
    <td style="white-space:pre-wrap;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="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_01e01954-dedc-4e6f-a045-72242955d84d" contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="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_b5e0b372-96f6-4fb2-b1da-29a358b6b665" contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="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_1d43fd1e-e115-4166-906e-53bb31a510ac" contextRef="C_397c3bed-839e-48de-92a2-d84e03a45424" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">50,767</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;"><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="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_587fe3d0-bc34-45b3-ae13-aff369eb4001" contextRef="C_b8335490-3812-4924-9787-048714b5e777" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="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_f9a468f8-347c-48c1-85e8-e2da6d6ca052" contextRef="C_af2adcf9-f465-4168-868b-527ff23d4372" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="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_f18ee8db-09f1-4b38-81ba-b26f69f14e92" contextRef="C_0306163d-33a1-4585-9e18-f8ed18761bf1" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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;"><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="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_29499f54-9d36-4392-be8f-f0d6b3478d11" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">50,767</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="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_d2576fc6-dff0-40e1-b9a1-a50141fab969" contextRef="C_fcdd70cc-02f1-4078-91fa-572c17727d6a" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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="white-space:pre-wrap;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;min-width:fit-content;">Balance at <br/>&#160;&#160;December 31, 2023</span></p></td>
    <td style="white-space:pre-wrap;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="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_b66298c9-29e7-457d-a2b2-1620fb7c891c" contextRef="C_a8e3741f-80a7-4107-8144-8001263d30df" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">98,770,247</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;"><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="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_08d2d06e-9d03-4a0b-b733-d6ec17fe3538" contextRef="C_a8e3741f-80a7-4107-8144-8001263d30df" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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;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;"><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="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_db255f17-f4f2-434f-8db0-cc82cbfcaf69" contextRef="C_3ff6022c-ab9d-411d-a60c-41584de3ddda" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,643,641</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;"><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="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_de5375fa-6f2e-4a03-ab8e-9f232f75670d" contextRef="C_9b485fae-993b-4a81-9437-9082d4079a3e" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6,875</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;"><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="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_0810cb00-2662-43c3-a3df-9d231c12c630" contextRef="C_60baaddf-10f0-4a6d-ad2b-5d5114bea420" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,841,920</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;"><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="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_af0e4ebc-399e-4964-a65f-1b9214fbfda8" contextRef="C_1f899241-70c9-4171-a1b8-ce428e3fa43a" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,487</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;"><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="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_a512ef76-7dd8-4f1b-8bb6-962b0cbf8c52" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">183,679</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="border-right:0.5pt solid #000000;white-space:pre-wrap;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="white-space:pre-wrap;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="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_9380652f-7ef3-4576-9b2e-7d2531117e34" contextRef="C_44411402-4130-4eae-8a6a-b5b3a3b1d5a0" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,480</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: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>
  <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;font-style:italic;min-width:fit-content;">The accompanying notes are an integral part of these Consolidated Financial Statements.</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: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;">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: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;">FIBROGEN, INC.</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;">(In thousands)</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:53.44%;"/>
    <td style="width:1.38%;"/>
    <td style="width:1%;"/>
    <td style="width:12.14%;"/>
    <td style="width:1%;"/>
    <td style="width:1.38%;"/>
    <td style="width:1%;"/>
    <td style="width:12.14%;"/>
    <td style="width:1%;"/>
    <td style="width:1.38%;"/>
    <td style="width:1%;"/>
    <td style="width:12.14%;"/>
    <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: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>
    <td style="vertical-align:bottom;"><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>
    <td colspan="10" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Years Ended December 31,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><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:7pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
    <td style="vertical-align:bottom;"><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>
    <td style="vertical-align:bottom;"><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>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7pt;margin-top:0;font-family: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: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>
    <td style="vertical-align:bottom;"><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>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7pt;margin-top:0;font-family: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: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>
    <td style="vertical-align:bottom;"><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>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:7pt;margin-top:0;font-family: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: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:#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;">Operating activities</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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;"><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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;"><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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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="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 loss</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="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_78aaedaf-239e-4055-a22d-e510df20c1c9" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ProfitLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">284,232</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;"><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="white-space:nowrap;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_c3a99a3a-6a35-4b1f-9391-926500a38f96" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ProfitLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">293,654</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;"><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="white-space:nowrap;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_2de1eaaa-823a-444d-aeb1-5f8eab35da2e" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ProfitLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">290,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>
   </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;">Adjustments to reconcile net loss to net cash used in operating activities:</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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;"><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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;"><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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;">Depreciation</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_69fbc6ce-5a12-4bec-9907-0ca875451ae0" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:Depreciation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,518</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_11b857bf-497d-4ea1-bd94-3ca8691071ad" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:Depreciation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_61dcf948-85a0-4ad9-86bb-e19fbebb995f" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:Depreciation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,170</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;">Amortization of finance lease right-of-use assets</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_d4b466c1-b15d-45bd-8895-1027287e7643" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">412</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_e25754cd-58ea-4a90-91cd-9cdf33bc2b9b" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">587</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_219c9ce5-5719-45dd-aad1-a2dfe48994ce" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,639</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;">Net accretion of premium and discount on investments</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="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_0623fa8e-46dd-49fd-9203-16539f054c1f" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,061</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_dd9403ea-5ce1-441e-b0d0-f7f550e96186" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" 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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_07507f8e-ece7-40d2-afbd-439e1df2980e" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,482</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;">Unrealized loss on equity investments</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_63cb3d9a-f577-4d74-bdb1-200c28589fe1" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:UnrealizedLossGainOnEquityInvestments" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_507c18ed-2bce-452b-9e06-20a1088dd500" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:UnrealizedLossGainOnEquityInvestments" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_981eadda-730f-440c-84db-a2090c2345da" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:UnrealizedLossGainOnEquityInvestments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">30</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;">Investment income in unconsolidated variable interest entity</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="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_3c0a356e-72ef-4ca2-8860-87fce0ec8819" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:InvestmentGainLossInUnconsolidatedVariableInterestEntity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,638</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_885bfc3e-28b5-46a3-8e99-c662a07cd3f3" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:InvestmentGainLossInUnconsolidatedVariableInterestEntity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,573</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_98600279-1381-47a4-a6c8-23c8418abfc9" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:InvestmentGainLossInUnconsolidatedVariableInterestEntity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,007</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: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 (gain) on disposal of property and equipment</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_84703a95-f89c-48d8-8b75-a0992b763423" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:GainLossOnDispositionOfAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">4</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_b82b8005-ba21-436d-b948-0f5dbd57b911" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:GainLossOnDispositionOfAssets" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_c8bc5d8c-85fc-49a3-8073-5253d0c674d3" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:GainLossOnDispositionOfAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">233</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;">Stock-based compensation</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_a05fff2a-a4dc-4f78-b4d0-1d801958b3c8" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">50,767</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_989fdaf6-4558-4274-bc82-4909fe04d7e4" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">65,601</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_157138ea-93c4-48e9-a2c0-75693d9a97d0" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,161</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;">Acquired in-process research and development expenses</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_0db09d03-0404-4f2e-8989-b75319af4cf8" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:AcquiredInProcessResearchAndDevelopmentExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,636</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_0e69c029-02f4-4e15-a32b-0eefc2273365" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:AcquiredInProcessResearchAndDevelopmentExpenses" 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_0a4691c3-3cd1-4f19-b355-d21e71182dd2" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:AcquiredInProcessResearchAndDevelopmentExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">60,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="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 expense related to sale of future revenues</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_3ec4e65a-4e41-4ca8-afe1-e6b7050b6777" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:NonCashInterestExpenseRelatedToSaleOfFutureRevenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,734</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_fd2caa7f-c543-496c-906d-57cd0009179f" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:NonCashInterestExpenseRelatedToSaleOfFutureRevenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,036</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_1689e5cb-58be-4b41-b076-43ccdfd715b7" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:NonCashInterestExpenseRelatedToSaleOfFutureRevenues" 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;">Dividend received from unconsolidated variable interest entity</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_62b7b17c-dc4d-420c-b1ff-816d975237a0" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:DividendReceivedFromUnconsolidatedVariableInterestEntity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,255</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_6c63317b-8572-4e55-b6f4-c45311539fbd" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:DividendReceivedFromUnconsolidatedVariableInterestEntity" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_aceff0e9-3ced-4bf2-84fe-5379d1b1f9bf" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:DividendReceivedFromUnconsolidatedVariableInterestEntity" 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;">Impairment of investment</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_ef0af01d-a546-4bf6-b8fb-e96f741f88f2" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ImpairmentOfInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_1b8e74f5-ba35-48d1-b78b-094568dc6102" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ImpairmentOfInvestments" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_aede156f-d804-44c2-9674-f364888a24ad" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ImpairmentOfInvestments" 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;">Realized loss on sales of available-for-sale securities</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_3123bb28-6aaa-4e77-8d62-31231e7e33a3" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">271</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_fbd03d3a-c3b0-4900-8a52-433fc04fd732" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_68faae71-442e-4f8b-acd6-df3e19d4186c" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment" 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;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;">Changes in operating assets and liabilities:</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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;"><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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;"><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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-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;min-width:fit-content;">Accounts receivable, net ($</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2f25e373-73d1-43fb-a316-d6e1dd517be7" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncreaseDecreaseInAccountsReceivableRelatedParties" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6,009</ix:nonFraction></span><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_541050dd-d1d2-4283-9d8a-e7910d271d0f" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncreaseDecreaseInAccountsReceivableRelatedParties" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,158</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">) and $(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_61cc02b5-bd27-4173-90bf-cb3b3fe995bf" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncreaseDecreaseInAccountsReceivableRelatedParties" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6,803</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">) from related parties)</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_acfe04b8-0199-46b9-854d-5aa013fdf153" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,433</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_b57aa3d4-7e8b-462b-a170-44653be747c7" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">765</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_d6759a20-5a9f-48fc-97b9-e5020b589d46" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">25,180</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;">Inventories</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="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_6c892e3c-6e23-44c3-8ac4-1cb6a7c0fa96" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,695</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_1f67ad4a-908b-4d2c-8595-1eaa10270940" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,999</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_649fea13-44ed-4830-bf79-b9289cf5fb37" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,158</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:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-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;min-width:fit-content;">Prepaid expenses and other current assets ($</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_73b60df1-6b56-4b04-8a54-694265690b83" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">0</ix:nonFraction></span><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_7290ed86-fd41-477e-bf1d-e3badd3606f8" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">&#160;and $</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ef562125-483c-4c33-8e47-73d6cc6359af" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">889</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">&#160;from a related party)</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="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_b4dba52d-ff94-4f33-ad4d-4e225000b852" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">28,165</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_8e369413-0879-48d0-9718-25672b611e64" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">4,916</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_e6ab1603-808c-468f-aa38-fea41f7841c5" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,854</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: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;">Operating lease right-of-use assets</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_2e5696db-5c11-46e3-9b6e-100aecc8d3c0" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:IncreaseDecreaseInOperatingLeaseRightOfUseAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">11,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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_f2590b7e-95f7-4909-8fe5-7f40fb55d775" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:IncreaseDecreaseInOperatingLeaseRightOfUseAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">10,908</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_1eb5bc17-8679-43c0-8a13-f60eded1f49b" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:IncreaseDecreaseInOperatingLeaseRightOfUseAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">4,209</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;">Other assets</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_3b331af6-6b9b-4cbe-9014-1f4f98b8f12b" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">256</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_1451c667-142c-4da1-9fc2-06f94823a349" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">263</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_d5c11e04-890b-4389-9e28-3b6a299a3081" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,412</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:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-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;min-width:fit-content;">Accounts payable ($</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5cf4ba26-d8b8-40cd-94ba-213b4636fe7c" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:IncreaseDecreaseInAccountsPayableFromRelatedParty" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">0</ix:nonFraction></span><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_4aa36c68-9c78-46dd-8668-bb19eee4262f" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:IncreaseDecreaseInAccountsPayableFromRelatedParty" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">&#160;and $(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8f5fcda0-4a9c-4112-871c-606b39e4cf3a" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:IncreaseDecreaseInAccountsPayableFromRelatedParty" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,118</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">) from a related party)</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="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_e6d0572a-88c0-4d58-aa1f-01a9462edc63" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">15,514</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_9fa102c2-d6b0-42c4-8ffc-490fee6107b3" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,909</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_ab08f603-4276-42fe-a233-949e97043557" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">805</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: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;min-width:fit-content;">Accrued and other liabilities ($(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3eff7871-6b48-4658-9686-88d0245279e8" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncreaseDecreaseInAccountsPayableRelatedParties" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">24,072</ix:nonFraction></span><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_d53ebfc5-e5cc-4539-b546-2fe0beb5f281" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncreaseDecreaseInAccountsPayableRelatedParties" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">63,882</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">&#160;and $(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ebe27648-4bbd-488b-bb8c-a15651d23bda" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncreaseDecreaseInAccountsPayableRelatedParties" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">20</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">) from a related party)</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="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_f3714a87-02e1-4a40-9e11-f3880dc61d9e" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">49,778</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_00ea35a9-2115-4bf0-8597-9273c3bb875a" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">90,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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_3e87838c-8013-4c53-9176-cde1b7c519e9" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,380</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;">Operating lease liabilities, current</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_3e3c9408-91e3-4944-8b2d-a08b67f68d09" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,820</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_4c0d2957-5e42-4a38-b7b0-587d0f6a867d" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">547</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_42410333-94d9-4f6a-9164-ee5cd8677134" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">503</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: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;min-width:fit-content;">Deferred revenue ($(</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c6e14bba-b50c-41b5-99db-45833158c57a" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncreaseDecreaseInDeferredRevenue" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">23,378</ix:nonFraction></span><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_66d1d44d-76a1-4959-b05c-e7726829bc04" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncreaseDecreaseInDeferredRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,211</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">&#160;and $</span><span style="font-size:8pt;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_86fe054a-3730-4d0f-868f-4116802e413b" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncreaseDecreaseInDeferredRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,549</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;min-width:fit-content;">&#160;from related parties)</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="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_4393ed4a-3604-4621-ac83-7e52126266f3" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">28,166</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_ca9296e6-4a88-48fc-adf5-5e13278de555" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">4,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="color:#000000;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_e8f69884-e6a4-4063-a577-acb5f5e2d581" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">57,637</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;">Accrued interest for finance lease liabilities</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="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_d2d571bd-5d99-445a-b5da-9fc0185db1e6" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">11</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_ffc51782-a822-422f-b6ee-642c9bbd0b4d" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_b79359b1-54d6-4827-ba3b-c1fb4a1daa5b" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">75</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: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;">Operating lease liabilities, non-current</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="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_656fa8fd-8217-42cc-8ba0-c33847ab5155" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,998</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_b2c76099-d6cb-4be2-9602-8c0f68985cb8" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">8,994</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_4048edbe-f2ef-4188-a8b4-de2c343cdc64" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">4,043</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: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 long-term liabilities</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_98f65291-a3bf-4cb1-980b-5b165b4a2414" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,573</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;"><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="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_c4920ff8-b9b0-4c27-884a-25c27d711816" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">18,250</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;"><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="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_35f78c18-bd64-4ee2-9f1e-f4a4a3af128d" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12,089</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;">Net cash used in operating activities</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_ee92d532-4cc1-44f2-b44c-3d621be1ffcc" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">315,021</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;"><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="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_6cef0e7d-a302-469a-a3ca-7b2cbe2f31d7" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">145,933</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;"><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="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_698666d4-4b6a-46da-a12f-e47deb6802c6" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">82,232</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="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;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;"><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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;"><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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;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;">Investing activities</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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;"><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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;"><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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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="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;">Purchases of property and equipment</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="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_0683007f-d585-4894-b69a-c1fbb6b8ee56" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,519</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_6ddb15bd-99e2-4879-9622-8375ec7be556" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,741</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_ef4ca1d1-1a3a-4d8f-aca8-bc75940ec8eb" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,186</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;">Payment made for acquired in-process research and development asset</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_29b53c6b-ca74-4754-9d72-6fa53adea9a0" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:PaymentsToAcquireInProcessResearchAndDevelopment" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_32a5ecf6-2362-4dc0-829d-ab1651ea033e" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:PaymentsToAcquireInProcessResearchAndDevelopment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_c20a17d0-d977-4888-a323-1ec075152d91" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:PaymentsToAcquireInProcessResearchAndDevelopment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,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>
   </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;">Proceeds from sale of property and equipment</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_5668522e-bfff-4292-a527-e03f84ea952c" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_80d5425b-ab08-4733-962e-28cb24b1c80a" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" 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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_aece5af0-ecbe-4f7b-9acd-f42b2b336584" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" 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="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;">Purchases of available-for-sale securities</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="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_0e3fe64f-321b-49da-9242-ce09bb566995" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">251,830</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_4546b09e-6574-4711-8f30-0af8643a604c" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">164,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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_fd202abd-3122-4caa-a47e-2f6b6806ba85" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">484,144</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;">Cash acquired from consolidation of Fortis</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_e5699088-ef76-4ca0-813f-c3382a0fc367" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:CashAcquiredFromAcquisition" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">656</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_fe310359-4c02-4838-8a80-7d18bf330376" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:CashAcquiredFromAcquisition" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_61c7edd6-3fab-4c30-bba1-ac2c3f37b117" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:CashAcquiredFromAcquisition" 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="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;">Proceeds from sales of available-for-sale securities</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_a7db86fc-d7e0-4309-af23-f889c2618865" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ProceedsFromSalesOfAvailableForSaleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,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="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_3c5ec0fa-110c-433a-a809-32580d911c9a" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:ProceedsFromSalesOfAvailableForSaleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,382</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_7a0672a5-ee98-4ac9-949c-7a521a1d7c3e" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:ProceedsFromSalesOfAvailableForSaleSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,214</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;">Proceeds from maturities of investments</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_021d526f-9d07-41df-ad97-91e515a83b4b" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">400,621</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;"><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="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_cb4f55d2-8a61-454b-822d-2c74ca6f1532" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">284,492</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;"><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="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_f07b212e-17df-4c79-99c7-3606924ef6c5" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">83,144</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: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;">Net cash provided by (used in) investing activities</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_e303e2a7-695f-4b26-9ac4-b05a2c8834e7" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">153,657</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;"><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="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_7a999d77-3d53-4a22-ad70-3e96c2cba83c" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">89,116</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;"><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="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_6bf94ee3-63cd-48ba-9719-a240381f9344" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">426,972</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="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;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;"><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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;"><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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;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;">Financing activities</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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;"><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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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;"><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:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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="white-space:pre-wrap;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;">Proceeds from senior secured term loan facilities, net of issuance 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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_134b433e-9d94-4171-acc6-df43f71d753b" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ProceedsFromIssuanceOfSecuredDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">74,078</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_b20bdc67-6004-4abe-b290-ffca388c81a7" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ProceedsFromIssuanceOfSecuredDebt" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_dcec473e-ac6d-4f10-a96c-83168d725bab" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ProceedsFromIssuanceOfSecuredDebt" 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="white-space:pre-wrap;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;">Cash paid for transaction costs for senior secured term loan facilities</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="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_a0d1fe4d-3c38-463d-b5ac-37d368adeb12" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:RepaymentsOfSecuredDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,746</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_e4c5e643-b27c-4cde-9d38-f07dda95cfde" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:RepaymentsOfSecuredDebt" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_982f961f-4698-4a62-9460-4bcff33179b0" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:RepaymentsOfSecuredDebt" 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="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;">Repayments of finance lease liabilities</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="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_03473b1a-9093-4d86-9b05-e6f0a84b2e6d" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:RepaymentsOfFinanceLeaseLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">148</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_1a1e563c-ac1b-4a92-a633-12fe4914bba1" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:RepaymentsOfFinanceLeaseLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">135</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_b62033de-cd0a-42ad-b74f-27fd99b3e677" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:RepaymentsOfFinanceLeaseLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,489</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;">Repayments of lease obligations</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="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_24dfca24-a427-4d1d-83b5-b4034dda9e48" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">336</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_1c28b32c-4dff-4da7-a35d-5c35180f7982" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">403</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_fc3ca4f9-cd24-4c4c-9f0d-a61c4246b9d2" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">403</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: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;">Cash paid for payroll taxes on restricted stock unit releases</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="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_ef171df7-736b-4a47-b597-efa955b6f510" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">237</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_b91bfb6b-e70f-44ab-ace7-21fbb4914c09" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,167</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_bcdd8405-1f36-4680-ba91-c7d860a4f2e4" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,372</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: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;">Proceeds from sale of future revenues, net of issuance 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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_85383275-758f-49fc-a22c-5c5cfaa6ce69" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_83d018d8-fa96-4a1d-8137-301e31034152" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">49,750</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_58c4bbad-8a6c-40ad-bfce-5e56397c8e8b" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts" 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="white-space:pre-wrap;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;">Cash paid for transaction costs related to sale of future revenues</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_57da49c7-504a-4431-b74f-1058c4dcc561" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_b9e79b96-d51f-4ede-b005-b91928971862" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,453</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_edb96106-822d-4480-8089-7e2c87117e2c" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" 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="white-space:pre-wrap;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;">Proceeds from issuance of common stock under ATM Program, net of commissions</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_7816a217-30db-4825-b5c8-6b4aaa8e3c2d" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ProceedsFromIssuanceInitialPublicOffering" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">48,407</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_187778bd-254f-447a-8bff-72dc0c20e0bf" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ProceedsFromIssuanceInitialPublicOffering" 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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_6ff24973-0ad0-45a2-ae4b-1d6027680f28" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ProceedsFromIssuanceInitialPublicOffering" 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="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;">Proceeds from issuance of common stock under employee stock plans</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_ac4cd0d5-2266-46a5-a80a-64d580c2e147" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ProceedsFromIssuanceOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,731</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_dceacc82-c5f9-4c53-9d1d-0ff9fb8e2ef7" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ProceedsFromIssuanceOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,184</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_2942177f-ba9e-46a9-a99e-dcd0430d75e9" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ProceedsFromIssuanceOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,701</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: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;">Net cash provided by (used in) financing activities</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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_c5c49bec-8c49-4aa8-83bc-aa1f7921f5eb" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">122,749</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;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;"><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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_048aa955-15a1-453b-a9c3-369bc0cc0626" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">46,776</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;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;"><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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-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_c50f3a0b-48df-426b-90f0-67439e9e6a0b" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">563</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;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;">Effect of exchange rate change on cash and cash equivalents</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_b7b89bfe-5adc-4f9b-bdcb-94f9f8cac689" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,397</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;"><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="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_5f19cd10-9782-47f6-bef6-9fd6a1b37f0b" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,482</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;"><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="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_a7c13ca8-6a1e-40fc-a58a-7e323ee83fa6" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,597</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;">Net decrease in cash and cash equivalents</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="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_581d4c45-cbb4-4536-a6f8-9600590c6713" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">42,012</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;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_2a8c79ae-7c68-4989-9aec-1612875a3c8f" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">15,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>
    <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-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_900465b5-f353-48fe-af6d-3ab5077434d5" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">507,170</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;">Total cash and cash equivalents at beginning of period</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_339cfe1e-a0c8-4874-84eb-6e32c22f5261" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">155,700</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;"><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="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_ed60549b-2f61-4138-89b2-5c29c5958efb" contextRef="C_51790052-a00c-4d1f-b3b3-7bef5e668b8a" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">171,223</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;"><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="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_37b5885d-57e9-4d6c-851d-d0117d85f606" contextRef="C_199ec123-7c4b-43e3-8f2c-009e824a52be" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">678,393</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;">Total cash and cash equivalents at end of period</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_c571c939-3d61-4981-9f50-388e6d45da0d" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">113,688</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;"><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="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_38519dd8-141c-4b7f-8df0-0135ef92c651" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">155,700</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;"><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="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_55798e42-f889-48f5-b84c-5a1fb46953a2" contextRef="C_51790052-a00c-4d1f-b3b3-7bef5e668b8a" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">171,223</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: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;"><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;"><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>
   </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;">Supplemental cash flow information:</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;"><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>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:middle;"><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 cash acquisition in Fortis</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="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_41d312a3-2551-4e1d-b66d-bee507fdaa14" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:NonCashAcquisitionInFortis" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">22,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="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_0a30f77e-4961-4df9-b9de-e80c03ead04f" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:NonCashAcquisitionInFortis" 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="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_1484c6b0-4647-42fe-8af3-0ac1ceced4cf" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:NonCashAcquisitionInFortis" 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="white-space:pre-wrap;vertical-align:middle;"><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;">Interest payments</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_8d8333b3-ee52-4aee-97b6-056aebc03b13" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:InterestPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">54</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_fd1b04e5-80e9-4bef-b1a6-6d075fe589e4" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:InterestPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">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>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_5dac3322-0f5f-4425-aabc-48f7007068bb" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:InterestPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">94</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:middle;"><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 in accounts payable and accrued liabilities related to purchases <br/>&#160;&#160;&#160;of property and equipment</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:middle;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_92c022e3-9bbc-4285-8c06-f7b3b84863c2" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">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:10pt;margin-top:0;font-family: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_7748f7f7-0f08-4dcf-9969-74dfa3d512dc" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">428</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_80f1cdc2-f34b-4521-a844-9435bf25b65e" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,009</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:middle;"><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 in accrued liabilities related to issuance costs of secured term loan facilities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:middle;"><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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_4bc7da02-d070-4f8a-8146-c6f4f5237250" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ConstructionInProgressExpendituresIncurredButNotYetPaid" 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_955082dd-7eaa-4ea8-87dd-6f140be993b5" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ConstructionInProgressExpendituresIncurredButNotYetPaid" 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_192dc4ba-bdd7-4b59-9e32-23a3dad5fe54" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ConstructionInProgressExpendituresIncurredButNotYetPaid" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,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="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:middle;"><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 in other receivables related to stock option exercise</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_559e63cf-13f3-42a2-8d21-df170a6c50d7" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:BalanceInOtherReceivablesRelatedToStockOptionExercise" 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_c8152154-b253-4c3f-a139-90f5ef912007" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:BalanceInOtherReceivablesRelatedToStockOptionExercise" 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_d6532156-7ec7-445c-ab19-557e200739f4" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:BalanceInOtherReceivablesRelatedToStockOptionExercise" 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:8pt;margin-top:0;font-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:middle;"><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;">Conversion of subsidiary&#8217;s convertible note payable to non-controlling interests</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:middle;"><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="white-space:nowrap;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_893e9830-aa70-445c-bf21-2fb4105390f4" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests" 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="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_f358268a-3ce2-47df-b71c-e05c8aae126b" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests" 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="color:#000000;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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_c9141e4a-4f78-4501-8901-77c7e02ae835" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">696</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>
  </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:8pt;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;font-style:italic;min-width:fit-content;">The accompanying notes are an integral part of these Consolidated Financial Statements.</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: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;">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: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;">FIBROGEN, INC.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="notes_to_the_consolidated_fs"><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 THE CONSOLIDATED FINANCIAL STATEMENTS</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>
  <p style="font-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;">1.	</span><span><ix:nonNumeric id="F_c0790e3b-c828-4425-a073-60c085af91e6" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock" escape="true" continuedAt="F_c0790e3b-c828-4425-a073-60c085af91e6_1"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Th</span><span id="note_1_company"></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">e Company</span></ix:nonNumeric></span></p>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_c0790e3b-c828-4425-a073-60c085af91e6_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-size:10pt;font-family:Times New Roman;min-width:fit-content;">FibroGen, Inc. (&#8220;FibroGen&#8221; or the &#8220;Company&#8221;) is headquartered in San Francisco, California, with subsidiary offices in Beijing and Shanghai, People&#8217;s Republic of China (&#8220;China&#8221;). FibroGen is developing and commercializing a diversified pipeline of novel therapeutics that work at the frontier of cancer biology and anemia.</span><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;">Pamrevlumab, a human monoclonal antibody targeting connective tissue growth factor, is in Phase 3 clinical development for the treatment of locally advanced unresectable pancreatic cancer. Pamrevlumab is also in Phase 2/3 development for the treatment of metastatic pancreatic cancer. To date, the Company has retained exclusive worldwide rights for pamrevlumab.</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;">Roxadustat is an oral small molecule inhibitor of HIF prolyl hydroxylase activity. Roxadustat (&#29233;&#29790;&#21331;</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;">, EVRENZO</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;">TM</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">) is approved in China, Europe, Japan, and numerous other countries for the treatment of anemia in chronic kidney disease (&#8220;CKD&#8221;) for patients who are on dialysis and not on dialysis. Roxadustat is in clinical development for chemotherapy-induced anemia in China.</span><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;">FibroGen is also developing earlier stage clinical and preclinical product candidates, FG-3246, FG-3165 and FG-3175, to address unmet patient needs in oncology.</span></p></ix:continuation></div>
  <div><ix:nonNumeric id="F_a1cd683f-040e-4bbd-a869-10a6d69f972f" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:SignificantAccountingPoliciesTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.	Summary of Significant Accounting Policies</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a571f26c-a460-4188-aa78-937e599da4f7" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" escape="true"><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;">Basis of Presentation</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 consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the U.S. (&#8220;U.S. GAAP&#8221;). The consolidated financial statements include the accounts of the Company, its wholly owned subsidiaries and its majority-owned subsidiaries, as well as any variable interest entity (&#8220;VIE&#8221;) for which FibroGen is the primary beneficiary. All inter-company transactions and balances have been eliminated in consolidation. For any VIE for which FibroGen is not the primary beneficiary, the Company uses the equity method of accounting.</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 Company operates 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_70541007-e308-43e7-999d-1bb99c640a71" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" 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 &#8212; the development and commercialization of novel therapeutics to treat serious unmet medical needs.</span><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 Company believes that its existing cash and cash equivalents, short-term investments and accounts receivable will be sufficient to meet its anticipated cash requirements for at least the next 12 months from the date of issuance of the financial statements. However, the Company may need additional capital thereafter and its liquidity assumptions may materially differ.  The Company may utilize its available financial resources sooner than it currently expects and may incur additional expenses not currently contemplated. In addition, the Company may elect to raise additional funds at any time through equity, equity-linked, debt financing arrangements or from other sources.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_dc0d49d3-9c1d-44b8-bc1c-aec59e5ade9e" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Foreign Currency Translation</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 and its subsidiaries is the U.S. dollar.</span><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 functional currency of FibroGen Europe is the Euro. The functional currency of FibroGen (China) Medical Technology Development Co., Ltd. (&#8220;FibroGen Beijing&#8221;) is CNY. As such, monetary assets and liabilities of FibroGen Europe and FibroGen Beijing in currencies other than their functional currencies are remeasured using exchange rates in effect at the end of the period. The assets and liabilities of FibroGen Europe and FibroGen Beijing are translated to U.S. dollars at exchange rates in effect at the balance sheet date. All income statement accounts are translated at monthly average exchange rates. Resulting foreign currency translation adjustments are recorded directly in accumulated other comprehensive income (loss) as a separate component of stockholders&#8217; equity (deficit).</span><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 functional currency of FibroGen, Inc. and all other subsidiaries is the U.S. dollar. Accordingly, monetary assets and liabilities in the non-functional currency of these subsidiaries are remeasured using exchange rates in effect at the end of the period. Revenues and costs in local currency are remeasured using average exchange rates for the period, except for costs related to those balance sheet items that are remeasured using historical exchange rates. The resulting remeasurement gains and losses are included within interest income and other, net in the consolidated statements of operations as incurred and have not been material for all periods presented.</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: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;">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:10pt;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_99a146fc-c23d-4052-8387-3367c1ebdba1" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:UseOfEstimates" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Use of Estimates</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 preparation of the consolidated financial statements in conformity with U.S. GAAP 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 reported amounts of revenues and expenses during the reporting period. The more significant areas requiring the use of management estimates and assumptions include valuation and recognition of revenue and deferred revenue, specifically, estimates in variable consideration for drug product sales, and estimates in transaction price per unit for the China performance obligation (as defined and discussed under </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 Recognition</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> below). On an ongoing basis, management reviews these estimates and assumptions. Changes in facts and circumstances may alter such estimates and actual results could differ from those estimates.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b30e65aa-9781-41cd-8449-64d8858d47a7" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ConcentrationRiskCreditRisk" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Concentration of Credit 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 Company is subject to risks associated with concentration of credit for cash and cash equivalents. Outside of short-term operating needs, the majority of cash on hand is invested in U.S. treasuries, corporate bonds, commercial paper and money market funds. Any remaining cash is deposited with major financial institutions primarily in the U.S., China and the Cayman Islands. At times, such deposits may be in excess of insured limits. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a57b0bf2-d0db-496f-98a3-6d6820d218b0" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" escape="true" continuedAt="F_a57b0bf2-d0db-496f-98a3-6d6820d218b0_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company has not experienced any loss on its deposits of cash and cash equivalents. Included in current assets are significant balances of accounts receivable as follows:</span></ix:nonNumeric></span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_a57b0bf2-d0db-496f-98a3-6d6820d218b0_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: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:80.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:64.64%;"/>
          <td style="width:1.28%;"/>
          <td style="width:1%;"/>
          <td style="width:14.4%;"/>
          <td style="width:1%;"/>
          <td style="width:1.28%;"/>
          <td style="width:1%;"/>
          <td style="width:14.4%;"/>
          <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: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;">Falikang &#8212; Related party</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_11dc0a6a-1ae5-4e10-80c4-6f954f9ec641" contextRef="C_b0f6d53b-7d83-428b-a51b-4c38c1aab8ab" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">42</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_3a78b4fb-ea13-469f-804d-b67fa66e7771" contextRef="C_96cb75e0-1d1a-4a07-b3c7-4c4573ddde18" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">65</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">AstraZeneca</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_90cda821-0dd2-4542-9adb-b9e3f5eac29a" contextRef="C_04238edf-69c7-4bc9-8251-233dbe9d8c1d" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">33</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_a04e0a40-e6d0-48bc-8aa7-c6c936a65854" contextRef="C_e7b41c85-f1b5-406f-b8b1-0d58a35a1b75" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">16</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:continuation></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:2pt;font-family:Times New Roman;margin-bottom: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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the aggregate accounts receivable related to roxadustat sales in China from distributors 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_198efeae-9fef-4a8e-b2ba-bbec79ba8419" contextRef="C_d16d7074-3c48-406c-a045-2bd69c7626c4" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">17</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_ddf712e0-be74-4d1c-9979-ec94bfd933b3" contextRef="C_62fb430b-045c-4c6f-8619-a8977b560ee1" 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;">%, respectively, of the consolidated accounts receivable, with no material balance from any individual distributor.</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_12a44ec8-f363-4ee0-b957-4d6c861880e8" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:OtherRisksAndUncertaintiesPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other Risks and Uncertainties</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 future results of operations involve a number of risks and uncertainties. Factors that could affect the Company&#8217;s future operating results and cause actual results to vary materially from expectations include, but are not limited to, the results of clinical trials and the achievement of milestones, research developments, actions by</span><span style="color:#000000;white-space:pre-wrap;font-size:9.5pt;font-family:Times New Roman;min-width:fit-content;"> regulatory authorities, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">market acceptance of the Company&#8217;s product candidates, competition from other products and larger companies, the liquidity and capital resources of the Company, intellectual property protection for the Company's proprietary technology, strategic relationships, and dependence on key individuals, suppliers, clinical organization, and other third parties.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_41092221-8d69-45db-bc10-6a38c03d9e2f" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cash, Cash Equivalents and Restricted Time Deposits</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 considers all highly liquid investments with maturities of </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ef8ba34f-1600-42f0-bd31-6eb4f9d281fa" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:HighlyLiquidInvestmentMaturityPeriod"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">three months or less</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> at the date of purchase to be cash equivalents. Cash and cash equivalents also include money market accounts and various deposit accounts. 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, a total 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_5f9d8e59-d1d1-4618-b18b-57582c28d610" contextRef="C_78954666-d61e-45a3-b159-f9ed78d25d35" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" 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</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="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_c8b9314d-2219-46f3-aeb0-8b8ab6f95104" contextRef="C_9c5dfa5d-d4c1-46d3-b755-cf68faa21d1b" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">92.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;">, respectively, of the Company&#8217;s cash and cash equivalents was held outside of the U.S. in the Company&#8217;s foreign subsidiaries to be used primarily for the Company&#8217;s China operations. Restricted time deposits include an irrevocable standby letter of credit as security deposit for a long-term property lease with the Company&#8217;s landlord. Restricted time deposits 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_0caa1de3-7167-49f1-9a4c-2cc477508148" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:RestrictedTimeDepositsNoncurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.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_1f6c1de3-0eb8-456b-8831-1433ab778dda" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:RestrictedTimeDepositsNoncurrent" 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 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.</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_9196647c-bb70-40ae-abda-f7f2e4d49cc8" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:InvestmentPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Investments</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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company&#8217;s investments consist primarily of diversified bonds, commercial paper, and money market funds. Those investments with original maturities of greater than three months and remaining maturities of less than </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_16cb02de-2cd5-4d7c-b0a5-1bddab0090d7" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ShortTermInvestmentsMaximumMaturityPeriod" format="ixt-sec:durmonth"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> months (365 days) are considered short-term investments. Those investments with maturities greater than </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_42b4a0c1-884d-4c15-bd02-b9f5723d503f" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:LongTermInvestmentsMinimumMaturityPeriod" format="ixt-sec:durmonth"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> months (365 days) from the balance sheet date are considered long-term investments. When such investments are held, the Company&#8217;s investments classified as available-for-sale are recorded at fair value based upon quoted market prices at period end. Unrealized gains and losses for available-for-sale debt investments that are deemed temporary in nature are recorded in accumulated other comprehensive income (loss) as a separate component of stockholder&#8217; equity. Realized and unrealized gains or losses resulting from changes in value and sale of the Company&#8217;s marketable equity investments are recorded in other income (expenses) in the consolidated statement of operations.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 decline in the fair value of any security below cost that is deemed other than temporary results in a charge to earnings and the corresponding establishment of a new cost basis for the security. Premiums and discounts are amortized (accreted) over the life of the related security as an adjustment to its yield. Dividend and interest income are recognized when earned. Realized gains and losses are included in earnings and are derived using the specific identification method for determining the cost of investments sold.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_39e2e208-c672-44c1-b4fe-4c5ba4a4e72d" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Trade accounts receivable</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 allowance for credit losses is based on the Company&#8217;s assessment of the collectability of customer accounts. The Company makes estimates of expected credit losses for the allowance for doubtful accounts by considering factors such as historical experience, credit quality, the age of the accounts receivable balances, current economic and regulatory conditions that may affect a customer&#8217;s ability to pay, and estimates of expected future losses. The Company&#8217;s bad debt expense for the years ended December 31, 2023, 2022 and 2021 and the allowance for credit losses 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;"> were immaterial.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_40e635c9-31c6-4cbf-ad05-4a47c1b52be1" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:CreditLossFinancialInstrumentPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Credit losses &#8211; Available-for-sale debt 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company periodically assesses its available-for-sale investments for other-than-temporary impairment. For debt securities in an unrealized loss position, the Company first considers its intent to sell, or whether it is more likely than not that the Company will be required to sell the debt securities before recovery of their amortized cost basis. If either of these criteria are met, the amortized cost basis of such debt securities is written down to fair value through interest and other, net.</span><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 debt securities in an unrealized loss position that do not meet the aforementioned criteria, the Company assesses whether the decline in the fair value of such debt securities has resulted from credit losses or other factors. The Company considers the extent to which fair value is less than amortized cost, any changes to the rating of the security by a rating agency, and any adverse conditions specifically related to the securities, among other factors. If this assessment indicates that a credit loss may exist, the Company then compares the present value of cash flows expected to be collected from such securities to their amortized cost basis. If the present value of cash flows expected to be collected is less than the amortized cost basis, a credit loss exists and an allowance for credit losses is recorded through interest and other, net, limited by the amount that the fair value is less than the amortized cost basis. Any additional impairment not recorded through an allowance for credit losses is recognized in other 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Changes in the allowance for credit losses are recorded as provision for, or reversal of, credit loss expense. Losses are charged against the allowance when the Company believes that an available-for-sale security is confirmed uncollectable or when either of the criteria regarding intent or requirement to sell is met.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_3b796e94-a788-41ad-989b-383d89d2e570" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:InventoryPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories</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;">Inventories are stated at the lower of cost or net realizable value, on a first-in, first-out, or FIFO, basis. The cost of the Company&#8217;s inventories in China is determined using full absorption and standard costing method. The Company reviews the standard cost of raw materials, work-in-process and finished goods annually and more often as appropriate to ensure that its inventories approximate current actual cost. The cost of the Company&#8217;s inventories in the U.S. uses actual costs to determine its cost basis. The cost of inventories includes direct material cost, direct labor and manufacturing overhead.</span><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;">When the technical feasibility of the Company&#8217;s future commercialization is considered probable and the future economic benefit is expected to be realized, based on management&#8217;s judgment, the Company capitalizes pre-launch inventory costs prior to regulatory approval. A number of factors are considered, including the status in the validation process in significant jurisdictions, regulatory application and approval process, and terms and condition for future sale of such inventory or future alternative use. The pre-launch inventory cost includes purchase cost of raw materials, cost paid to contract manufacturers for inventory manufacturing, freight and custom charges, and certain direct internal labor and overhead expenses.</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 Company periodically reviews its inventories to identify obsolete, slow-moving, excess or otherwise unsaleable items. If obsolete, excess or unsaleable items are observed and there are no alternate uses for the inventory, an inventory valuation adjustment is recorded through a charge to cost of goods sold on the Company&#8217;s consolidated statements of operations.  Inventory valuation adjustments require judgment including consideration of many factors, such as estimates of future product demand and product expiration period, among others.</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: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;">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:10pt;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_82619e6d-9050-4874-b626-9e9db671f564" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property and Equipment</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;">Property and equipment are recorded at cost and depreciated over their estimated useful lives using the straight-line method. Computer equipment, laboratory equipment, machinery and furniture and fixtures are depreciated over </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_81f57a61-fc56-4d6e-854b-d1273e02f34b;"><span style="-sec-ix-hidden:F_e71b16c5-6126-434d-8525-3ae79ff19db4;"><span style="-sec-ix-hidden:F_0a9cc98a-5860-4392-89f3-199b7af3050c;"><span style="-sec-ix-hidden:F_6ec45d46-e39b-40aa-abcd-3246c7d8df9e;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">three</span></span></span></span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b196ceff-1106-4dd2-b9da-46c25db5e62f" contextRef="C_b4115d32-b0b1-49dc-bf90-810064b82555" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen"><ix:nonNumeric id="F_271bd315-87b4-484d-aa05-e37f5d602b83" contextRef="C_6980804d-70eb-4306-a1a9-995e7bd59696" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen"><ix:nonNumeric id="F_773bea9b-09ed-4592-9a85-f10c606382f0" contextRef="C_6a50a82e-d849-43f5-8782-988b2133b3d4" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen"><ix:nonNumeric id="F_8297cfb3-65b0-413b-8d0b-61b18baf798e" contextRef="C_42dc2692-decb-4ee2-8bb7-113216ea2fd0" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" 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></ix:nonNumeric></ix:nonNumeric></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Leasehold improvements are recorded at cost and amortized over the term of the lease or their useful life, whichever is shorter.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ccbc4a73-4fd8-46a0-851f-6d6d0f388d19" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ConsolidationVariableInterestEntityPolicy" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Equity method investment - Variable Interest Entity</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;">Under the Accounting Standards Codification (&#8220;ASC&#8221;) 810, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consolidation </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(&#8220;ASC 810&#8221;), when the Company obtains an economic interest in an entity, it evaluates the entity to determine if it should be deemed a VIE, and, if so, whether the Company is the primary beneficiary and is therefore required to consolidate the VIE, based on significant judgment whether the Company (i) has the power to direct the activities that most significantly impact the economic performance of the VIE and (ii) has the obligation to absorb losses or the right to receive benefits of the VIE that could potentially be significant to the VIE.</span><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 an ongoing basis, the Company re-evaluates the VIE assessment based on potential changes in facts and circumstances, including but not limited to, the shareholder loans to the entity and the execution of any future significant agreements between the entity and its shareholders and/or other third parties.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_5947c349-3b63-4e10-a582-fd33047083f1" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:LesseeLeasesPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Leases</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 determines if an arrangement is or contains a lease at inception date when it is given control of the underlying assets. The Company elected the practical expedient not to apply the lease recognition and measurement requirements to short-term leases, which is any lease with a term of </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_3f253419-0232-4e0f-b86b-7289727dcf72" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ShortTermInvestmentsMaximumMaturityPeriod" format="ixt-sec:durmonth"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> months or less as of the commencement date that does not include an option to purchase the underlying asset that the lessee is reasonably certain to exercise.</span><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;">Lease right-of-use (&#8220;ROU&#8221;) assets and lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As its leases do not typically provide an implicit rate, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of future payments. The Company reassesses the incremental borrowing rate periodically for application to any new leases or lease modifications, which approximates the rate at which the Company would borrow, on a secured basis, in the country where the lease was executed. For any lease modification, the Company reassesses the lease classification, remeasures the related lease liability using an updated discount rate, and adjusts the related ROU asset under the lease modification guidance under the ASC 842, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Leases</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, (&#8220;ASC 842&#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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Lease ROU assets include any lease payments made and initial direct costs incurred. The Company has lease agreements with lease and non-lease components. The Company generally accounts for each lease component separately from the non-lease components, and excludes all non-lease components from the calculation of minimum lease payments in measuring the ROU asset and lease liability.</span><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 Company&#8217;s lease terms may include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease terms.</span><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;">Regarding leases denominated in a foreign currency, the related ROU assets and the corresponding ROU asset amortization costs are remeasured using the exchange rate in effect at the date of initial recognition; the related lease liabilities are remeasured using the exchange rate in effect at the end of the reporting period; the lease costs and interest expenses related to lease liability accretion are remeasured using average exchange rates for the reporting period.</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;">Finance leases are included in finance lease ROU assets, finance lease liabilities, current and non-current on the Company&#8217;s consolidated balance sheets. Operating leases are included in operating lease ROU assets, operating lease liabilities, current and non-current on the Company&#8217;s consolidated balance sheets.</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: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;">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:10pt;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_9d1c00c0-b711-44eb-bcda-fca88a60e4e8" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Impairment of Long-Lived Assets</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 continually evaluates whether events or circumstances have occurred that indicate that the estimated remaining useful life of its long-lived assets may warrant revision or that the carrying value of these assets may be impaired. If the Company determines that an impairment trigger has been met, the Company evaluates the realizability of its long-lived assets (asset group) based on a comparison of projected undiscounted cash flows from use and eventual disposition with the carrying value of the related asset. Any write-downs (which are measured based on the difference between the fair value and the carrying value of the asset) are treated as permanent reductions in the carrying amount of the assets (asset group). Based on this evaluation, the Company believes that, as of each of the balance sheet dates presented, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f0ccdf65-e535-487a-b357-8b1879379acc" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf" unitRef="U_USD" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_0b380c6b-7292-4fc6-ae1c-995595a6486e" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf" 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;">ne of the Company&#8217;s long-lived assets were impaired. The Company had </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_939ec7d8-41cc-4827-b93f-d7fcd8d9fda6" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ImpairmentOfIntangibleAssetsFinitelived" unitRef="U_USD" scale="3" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_be80ecfb-373b-400b-b10f-32fe8f6dae34" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ImpairmentOfIntangibleAssetsFinitelived" unitRef="U_USD" scale="3" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_e8c6c254-8856-4b76-9068-1f78c0aa25cc" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ImpairmentOfIntangibleAssetsFinitelived" unitRef="U_USD" scale="3" decimals="INF" 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 of long-lived assets 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="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_fcec3679-78d1-4282-acdb-c03dd7d9cd90" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock" escape="true" continuedAt="F_fcec3679-78d1-4282-acdb-c03dd7d9cd90_1"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Liability Related to Sale of Future Revenues</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 style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_fcec3679-78d1-4282-acdb-c03dd7d9cd90_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company accounts for the sale of future revenue as a debt, because the risks and rewards to the investor are limited by the terms of the transaction as discussed further in Note 10, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Liability Related to Sale of Future Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The difference between the carrying amount of the initial liability and the gross proceeds received is accounted for as a discount. The Company recognizes interest expense based on an estimated effective annual interest rate, which is affected by the amount and timing of revenues recognized and changes in the timing of forecasted revenues. Quarterly, the Company reassesses the expected revenues and the timing of such revenues, recalculates the amortization and effective interest rate and adjusts the accounting prospectively as needed</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_aa312560-cb0e-4e5a-a779-4836dfc922de" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:AssetAcquisitionPolicyPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Asset Acquisition</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 evaluates acquisitions of entities or assets to assess whether or not the transaction should be accounted for as a business combination or asset acquisition by first applying a screen test to determine whether substantially all of the fair value of the gross assets acquired is concentrated in a single identifiable asset or group of similar identifiable assets. If this screen criteria is met, the transaction is accounted for as an asset acquisition. If not, further determination is required as to whether or not the Company has acquired inputs and processes that have the ability to create outputs which would meet the definition of a business. The Company measures and recognizes asset acquisitions that are not deemed to be business combinations based on the cost to acquire the assets, which includes transaction 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;min-width:fit-content;">In an asset acquisition, the cost allocated to acquire in-process research and development (&#8220;IPR&amp;D&#8221;) with no alternative future use is charged to research and development expense at the acquisition date. The Company recognizes assets acquired and liabilities assumed in asset acquisitions, including contingent assets and liabilities, and non-controlling interests (&#8220;NCI&#8221;) in the acquired assets at their estimated fair values as of the date of acquisition.</span><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;">An NCI represents the non-affiliated equity interest in the underlying entity or asset. The Company presents redeemable NCI in its consolidated statements of changes in equity within mezzanine equity. Nonredeemable NCI and redeemable NCI are initially recorded at their fair values. Subsequently, net loss in the underlying entity or asset is only allocated to nonredeemable NCI. Net income in the underlying entity or asset is allocated to nonredeemable NCI and redeemable NCI based on their respective stated rights.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_297db474-c3f2-46f4-8013-3601c6bf0002" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:RevenueRecognitionPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue Recognition</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;">Revenues under collaboration agreements</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 collaboration agreements include multiple performance obligations comprised of promised services, or bundles of services, that are distinct. Services that are not distinct are combined with other services in the agreement until they form a distinct bundle of services. The Company&#8217;s process for identifying performance obligations and an enumeration of each obligation for each agreement is outlined in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Determining the performance obligations within a collaboration agreement often involves significant judgment and is specific to the facts and circumstances contained in each agreement.</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 Company has identified the following material promises under its collaboration agreements: (1) license of FibroGen technology, (2) the performance of co-development services, including manufacturing of clinical supplies and other services during the development period, and (3) manufacture of commercial supply. The evaluation as to whether these promises are distinct, and therefore represent separate performance obligations, is described in more detail in Note 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;">Collaboration Agreements, License Agreement and Revenues</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 revenue recognition purposes, the Company determines that the terms of its collaboration agreements begin on the effective date and end upon the completion of all performance obligations contained in the agreements. In each agreement, the contract term is defined as the period in which parties to the contract have present and enforceable rights and obligations. The Company believes that the existence of what it considers to be substantive termination penalties on the part of the counterparty create sufficient incentive for the counterparty to avoid exercising its right to terminate the agreement.</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 transaction price for each collaboration agreement is determined based on the amount of consideration the Company expects to be entitled for satisfying all performance obligations within the agreement. The Company&#8217;s collaboration agreements include payments to the Company of one or more of the following: non-refundable upfront license fees; co-development billings; development, regulatory, and commercial milestone payments; payments from sales of active pharmaceutical ingredient (&#8220;API&#8221;); payments from sales of bulk drug product and royalties on net sales of licensed 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;">Upfront license fees are non-contingent and non-refundable in nature and are included in the transaction price at the point when the license fees become due to the Company. The Company does not assess whether a contract has a significant financing component if the expectation at contract inception is such that the period between payment by the customer and the transfer of the promised goods or services to the customer will be one year or less.</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;">Co-development billings resulting from the Company&#8217;s research and development efforts, which are reimbursable under its collaboration agreements, are considered variable consideration. Determining the reimbursable amount of research and development efforts requires detailed analysis of the terms of the collaboration agreements and the nature of the research and development efforts incurred. Prior to CKD approval in the third quarter of 2021, determining the amount of variable consideration from co-development billings required the Company to make estimates of future research and development efforts, which involved significant judgment. Co-development billings are allocated entirely to the co-development services performance obligation when amounts are related specifically to research and development efforts necessary to satisfy the performance obligation, and such an allocation is consistent with the allocation objective.</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;">Milestone payments are also considered variable consideration, which requires the Company to make estimates of when achievement of a particular milestone becomes probable. Similar to other forms of variable consideration, milestone payments are included in the transaction price when it becomes probable that such inclusion would not result in a significant revenue reversal. Milestones are therefore included in the transaction price when achievement of the milestone becomes probable.</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 arrangements that include sales-based royalties and for which the license is deemed to be the predominant item to which the royalties relate, the Company recognizes revenue at the later of (i) when the related sales occur, or (ii) when the performance obligation to which some or all of the royalty has been allocated has been satisfied (or partially satisfied). To date, royalty revenue resulting from its collaboration arrangements was immaterial.</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 transaction price is allocated to performance obligations based on their relative standalone selling price (&#8220;SSP&#8221;), with the exception of co-development billings allocated entirely to co-development services performance obligations. The SSP is determined based on observable prices at which the Company separately sells the products and services. If an SSP is not directly observable, then the Company will estimate the SSP considering marketing conditions, entity-specific factors, and information about the customer or class of customer that is reasonably available. The process for determining SSP involves significant judgment and includes consideration of multiple factors, including assumptions related to the market opportunity and the time needed to commercialize a product candidate pursuant to the relevant license, estimated direct expenses and other costs, which include the rates normally charged by contract research and contract manufacturing organizations for development and manufacturing obligations, and rates that would be charged by qualified outsiders for committee services.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 judgment may be required in determining whether a performance obligation is distinct, determining the amount of variable consideration to be included in the transaction price, and estimating the SSP of each performance obligation. An enumeration of the Company&#8217;s significant judgments is outlined in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><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 each performance obligation identified within an arrangement, the Company determines the period over which the promised services are transferred and the performance obligation is satisfied. Service revenue that was recognized over time was based on progress toward complete satisfaction of the performance obligation. For each performance obligation satisfied over time, the Company assesses the proper method to be used for revenue recognition, either an input method to measure progress toward the satisfaction of services or an output method of determining the progress of completion of performance obligation.</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:18pt;font-family:Times New Roman;margin-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 under license agreements</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;">Under a license agreement, if the license to the Company&#8217;s intellectual property is determined to be distinct from the other performance obligations identified in the arrangement, the Company recognizes revenues from upfront license fees allocated to the license when the license is transferred to the licensee and the licensee is able to use and benefit from the license. For licenses that are bundled with other promises, the Company determines whether the combined performance obligation is satisfied over time or at a point in time. If the combined performance obligation is satisfied over time, the Company uses judgment in determining the appropriate method of measuring progress for purposes of recognizing revenue from the up-front license fees. The Company evaluates the measure of progress each reporting period and, if necessary, adjusts the measure of performance and related revenue recognition.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product revenue, 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;">Product revenue, net consists of revenues from sales of roxadustat commercial product to Falikang, and directly to pharmaceutical distributors located in one province in China that are not covered by Falikang. Falikang is jointly owned by AstraZeneca AB (&#8220;AstraZeneca&#8221;) and FibroGen Beijing. The Company is not the primary beneficiary of Falikang for accounting purposes, as AstraZeneca is the final decision maker for all the roxadustat commercialization activities, and the Company lacks the power criterion to direct the activities of Falikang (see Note 5, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Equity method investment - Variable Interest Entity</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: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;font-style:italic;min-width:fit-content;">Sales to Falikang</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;">Falikang became fully operational in January 2021, at which time FibroGen Beijing began selling roxadustat commercial product to Falikang. Falikang is FibroGen Beijing&#8217;s primary customer in China and substantially all roxadustat product sales to distributors in China are made by Falikang. Falikang bears inventory risk once it receives and accepts the product from FibroGen Beijing, and is responsible for delivering product to its distributors.</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;">The promises identified under the AstraZeneca China Agreement (as defined in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">), including the license, co-development services and manufacturing of commercial supplies have been bundled into a single performance obligation (&#8220;China performance obligation&#8221;). Amounts of the transaction price allocable to this performance obligation under the Company&#8217;s agreements with AstraZeneca as outlined in Note 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;">Collaboration Agreements, License Agreement and Revenues,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> are deferred until control of the manufactured commercial product is transferred to AstraZeneca.</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;">The initiation of roxadustat sales to Falikang marked the beginning of the China performance obligation</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><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Revenue is recognized at a point in time when control of roxadustat commercial product is transferred to Falikang. Revenue is recognized based on the estimated transaction price per unit and actual quantity of product delivered during the reporting period. Specifically, the transaction price per unit is determined based on the overall transaction price over the total estimated sales quantity for the estimated performance period in which the Company determined it is likely those sales would occur. The price per unit is subject to reassessment on a quarterly basis, which may result in cumulative catch up adjustments due to changes in estimates.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 overall transaction price for FibroGen Beijing&#8217;s product sales to Falikang includes the following elements of consideration:</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="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Non-refundable upfront license fees; development, regulatory, and commercial milestone payments based on the AstraZeneca China Agreement allocated to the China performance obligation;</span></div></div><div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Co-development billings resulting from the Company&#8217;s research and development efforts, which are reimbursable under the AstraZeneca China Agreement;</span></div></div><div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Interim profit/loss share between FibroGen Beijing and AstraZeneca from April 1, 2020 through December 31, 2020; and</span></div></div><div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Net transaction price from product sales to Falikang from January 1, 2021 onwards. The net transaction price includes the following elements: </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;">o</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;">Gross transaction price: The gross transaction price is based on a percentage of Falikang&#8217;s net sales to its distributors, which takes into account Falikang&#8217;s operating expenses and its payments to AstraZeneca for roxadustat sales and marketing efforts, capped at a percentage of Falikang&#8217;s net roxadustat sales. </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;">o</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;">Profit share: The gross transaction price is then adjusted for an estimated amount to achieve 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_f5d6d5f0-a8c3-4b80-8d88-1f9dde4ae7dc" contextRef="C_5402fc82-dece-4075-8abf-01b346722f6c" name="fgen:ProfitSharePercent" unitRef="U_pure" scale="-2" decimals="2">50</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">/50 profit share from current period roxadustat net sales in China. The adjustments to date have been a reduction to the transaction price and the related accounts receivable from Falikang. </span></div></div><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;">The non-refundable upfront license fees constitute a fixed consideration. The remainder of the above are variable consideration components, which may be constrained, and included in the transaction price only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period when the uncertainty associated with the variable consideration is subsequently resolved. The calculation of the above variable consideration includes significant assumptions such as total sales quantity, performance period, gross transaction price and profit share, which require significant judgment.</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;">Any net transaction price in excess of the revenue recognized is deferred, and will be recognized over future periods as the performance obligations are satisfied.</span></p><p style="font-size:10pt;margin-top:18pt;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;font-style:italic;min-width:fit-content;">Direct Sales to Distributors</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 sells roxadustat in China directly to a number of pharmaceutical distributors located in one province in China that are not covered by Falikang. These pharmaceutical distributors are the Company&#8217;s customers. Hospitals order roxadustat through a distributor and the Company ships the product directly to the distributors. The delivery of roxadustat to a distributor represents a single performance obligation. Distributors are responsible for delivering product to end users, primarily hospitals. Distributors bear inventory risk once they receive and accept the product. Product revenue is recognized when control of the promised good is transferred to the customer in an amount that reflects the consideration that the Company expects to be entitled to in exchange for the product.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_6713f57a-c118-4493-9fd5-57d2caf7eaaa" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:RevenuePerformanceObligationDescriptionOfPaymentTerms"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The period between the transfer of control of the promised goods and when the Company receives payment is based on 60-day payment terms.</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> As such, product revenue is not adjusted for the effects of a significant financing component.</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;">Product revenue is recorded at the net sales prices that includes certain estimates of variable consideration. These estimates include price adjustment calculated based on estimated channel inventory levels when China&#8217;s National Healthcare Security Administration releases price guidance for roxadustat under the National Reimbursement Drug List, various fixed-amount or percentage-based rebates and discounts recorded as a reduction to revenue at the point of sale to the distributor or when distributor meets eligibility requirements, and estimated sales return as </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_3c14eb02-24cf-4854-a708-a64449768efc" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:DescriptionOfSalesReturn"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">d</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">i</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">stributors can request to return product to the Company only due to quality issues or for product purchased within one year prior to the product&#8217;s expiration date.</span></ix:nonNumeric></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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><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;">The calculation of the variable consideration is based on gross sales to the distributor, or estimated utilizing best available information from the distributor, maximum known exposures and other available information including estimated channel inventory levels and estimated sales made by the distributor to hospitals, which involve a significant judgment.</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;">The rebates and discounts all together are eligible to be applied against the distributor&#8217;s future sales order, limited to certain maximums until such rebates and discounts are exhausted. These rebates and discounts are recorded as contract liabilities at the time they become eligible and in the same period that the related revenue is recorded. Due to the Company&#8217;s legal right to offset, at each balance sheet date, the rebates and discounts are presented as reductions to gross accounts receivable from the distributor, or as a current liability to the distributor to the extent that the total amount exceeds the gross accounts receivable or when the Company expects to settle the discount in cash. The Company&#8217;s legal right to offset is determined at the individual distributor level. The contract liabilities were included in accrued and other current liabilities in the consolidated balance sheet. The rebates and discounts reflected as reductions to gross accounts receivable for direct sales.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug product revenue</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;">Drug product revenue includes commercial-grade API or bulk drug product sales to AstraZeneca and Astellas Pharma Inc. (&#8220;Astellas&#8221;) in support of pre-commercial preparation prior to the New Drug Application (&#8220;NDA&#8221;) or Marketing Authorization Application approval, and to Astellas for ongoing commercial activities in Japan and Europe. Drug product revenue is recognized when the Company fulfills the inventory transfer 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;">The amount of variable consideration that is included in the transaction price may be constrained, and is included in the drug product revenue only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period when the uncertainty associated with the variable consideration is subsequently resolved. Estimating variable consideration and the related constraint requires the use of significant management judgment. The Company reviews new information that may affect its variable consideration estimate at every reporting period and records revenue adjustment, if certain and material. Actual amounts of consideration ultimately received in the future may differ from the Company&#8217;s estimates, for which the Company will adjust these estimates and affect the drug product revenue in the period such variances become 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;">As each of the Company&#8217;s collaboration agreements provide for annual true up to the considerations paid for its commercial supplies, the Company will re-evaluate the transaction price in each reporting period and record adjustment to revenue as uncertain events are resolved or other changes in circumstances occur.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ae646eb0-ddfd-4ff1-a2bf-18759b4601c3" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:LicenseAcquisitionAgreementPolicyPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">License Acquisition Agreement</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;">In June 2021, the Company entered into an exclusive license and option agreement (the &#8220;HiFiBiO Agreement&#8221;) with HiFiBiO Therapeutics (&#8220;HiFiBiO&#8221;), pursuant to which the Company exclusively licensed all product candidates in HiFiBiO&#8217;s Galectin-9 program and subsequently exclusively licensed all product candidates in HiFiBiO&#8217;s CCR8 program in December 2021. Under the terms of the HiFiBiO Agreement, the Company has paid 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_37e6f258-79da-4f81-9edb-83ffd1e771e3" contextRef="C_5a7a4ebd-293a-4eb4-a920-71b0be4627d7" name="fgen:InitialUpfrontPayment" unitRef="U_USD" scale="6" decimals="-5">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 upfront payment to HiFiBiO during the year ended December 31, 2021, and recorded 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_9661fcaf-6726-48ce-8033-27ca769c86bf" contextRef="C_2427f058-7cf6-4c07-8c55-53020154028d" name="fgen:InitialUpfrontPayment" unitRef="U_USD" scale="6" decimals="-5">35.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 upfront payment for the CCR8 option exercise in accrued liabilities as of December 31, 2021, which was paid during the first quarter of 2022. HiFiBiO may receive R&amp;D and regulatory milestone payments 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_c5a28df3-bf13-4317-b124-07a486d33455" contextRef="C_5c40f5a4-b2f9-4d93-8739-1517a3536a7c" name="fgen:MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable" unitRef="U_USD" scale="6" decimals="INF" format="ixt:num-dot-decimal">175</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 well as sales milestones 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_caff8a07-1b0f-4bf2-b203-3cca2daa6d9e" contextRef="C_5c40f5a4-b2f9-4d93-8739-1517a3536a7c" name="fgen:MaximumSalesMilestonesReceivable" unitRef="U_USD" scale="6" decimals="INF" format="ixt:num-dot-decimal">170</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. HiFiBiO will also be eligible to receive tiered royalties based upon worldwide net sales capped at </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4ee6723b-62ab-49b9-b71f-a4d114d8e707" contextRef="C_c65ab633-2463-4897-b5a9-04b704f70dae" name="fgen:PercentageOfTieredRoyaltiesReceivable" 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;">%, subject to certain reductions. We expect to file INDs on product candidates for both the CCR8 and Galectin-9 programs in the first half of 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: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;">The acquisition of these licenses was accounted for as an asset acquisition. The above-mentioned upfront payments 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_120ef8c2-54ee-4235-b818-5ad215cd9a88" contextRef="C_ec9c7a0a-93b4-4511-959e-9016843b7f02" name="fgen:InitialUpfrontPayment" unitRef="U_USD" scale="6" decimals="-5">60.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 related to the license and options acquisition meets the definition of an in-process research and development asset (&#8220;IPR&amp;D asset&#8221;) under the ASC 730, </span><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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. They relate to particular research and development projects and are determined to have no alternative future uses and thus have no separate economic value. Therefore, these upfront payments were recorded as research and development expenses during the year ended December 31, 2021, and the cash payments were reflected as investing activities in the consolidated statement of cash flows during the years ended December 31, 2022 and 2021, respectively.</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;">Contingent consideration payments will be evaluated and recognized when they become probable and reasonably estimable. The related IPR&amp;D asset will only be capitalized if it has an alternative future use other than in a particular research and development project. Otherwise, amounts allocated to IPR&amp;D asset that have no alternative use will be expensed. 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 contingencies related to the milestone payments had not been resolved, therefore no contingent consideration was recognized. The Company will reassess the probability of future option payments and contingent payments on a quarterly basis.</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: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;">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:10pt;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_29754095-920a-4f0a-bc5a-e0d723739f8c" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ResearchAndDevelopmentExpensePolicy" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Research and Development Expenses</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;">Research and development expenses consist of above-mentioned expense for acquired IPR&amp;D asset, independent research and development costs and the gross amount of costs associated with work performed under collaboration agreements. Research and development costs include employee-related expenses, expenses incurred under agreements with clinical research organizations, other clinical and preclinical costs and allocated direct and indirect overhead costs, such as facilities costs, information technology costs and other overhead. All research and development costs are expensed as incurred.</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_eacc80f9-e09a-48ce-bdfb-4d625332c31a" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ClinicalTrialAccrualPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Clinical Trial Accruals</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;">Clinical trial costs are a component of research and development expenses. The Company accrues and expenses clinical trial activities performed by third parties based upon actual work completed in accordance with agreements established with clinical research organizations and clinical sites. The Company determines the costs to be recorded based upon validation with the external service providers as to the progress or stage of completion of trials or services and the agreed-upon fee to be paid for such services.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7d3725b8-4bb5-4a10-a33e-bab2b92d9f26" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Selling, General and Administrative Expenses</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 consist primarily of employee-related expenses for executive, operational, finance, legal, compliance and human resource functions. SG&amp;A expenses also include facility-related costs, professional fees, accounting and legal services, other outside services including co-promotional expenses associated with our commercialization efforts in China, recruiting fees and expenses associated with obtaining and maintaining patents.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ebd892de-13ce-4fdd-b9f2-48a3cdb0cbb8" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:RestructuringChargePolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Restructuring Charge</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 restructuring charge is recognized when the liability is incurred and accrued in the period in which it is probable that the employees are entitled to the restructuring benefits and the amounts can be reasonably estimated. The restructuring liability accrued but not paid at the end of the reporting period is included in accrued and other current liabilities in the consolidated balance sheets.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4654740b-b378-43da-b4db-aeb518d2b167" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncomeTaxPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Income Taxes</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 utilizes the asset and liability method of accounting for income taxes, which requires the recognition of deferred tax assets and liabilities for expected future consequences of temporary differences between the financial reporting and income tax bases of assets and liabilities using enacted tax rates. Management makes estimates, assumptions and judgments to determine the Company&#8217;s provision for income taxes and for deferred tax assets and liabilities, and any valuation allowances recorded against the Company&#8217;s deferred tax assets. The Company assesses the likelihood that its deferred tax assets will be recovered from future taxable income and, to the extent the Company believes that recovery is not likely, the Company must establish a valuation allowance.</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 calculation of the Company&#8217;s current provision for income taxes involves the use of estimates, assumptions and judgments while taking into account current tax laws, interpretation of current tax laws and possible outcomes of future tax audits. The Company has established reserves to address potential exposures related to tax positions that could be challenged by tax authorities. Although the Company believes its estimates, assumptions and judgments to be reasonable, any changes in tax law or its interpretation of tax laws and the resolutions of potential tax audits could significantly impact the amounts provided for income taxes in the Company&#8217;s consolidated financial statements.</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 calculation of the Company&#8217;s deferred tax asset balance involves the use of estimates, assumptions and judgments while taking into account estimates of the amounts and type of future taxable income. Actual future operating results and the underlying amount and type of income could differ materially from the Company&#8217;s estimates, assumptions and judgments thereby impacting the Company&#8217;s financial position 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;">The Company has adopted ASC 740-10, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accounting for Uncertainty in Income Taxes</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, that prescribes a recognition threshold and measurement attribute for the financial statement recognition and measurement of uncertain tax positions taken or expected to be taken in the Company&#8217;s income tax return, and also provides guidance on derecognition, classification, interest and penalties, accounting in interim periods, disclosure and transition.</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 Company includes interest and penalties related to unrecognized tax benefits within income tax expense in the Consolidated Statements 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></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: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;">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:10pt;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_8ef075d3-b134-45fa-8755-99c1eebb7e0c" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" escape="true" continuedAt="F_8ef075d3-b134-45fa-8755-99c1eebb7e0c_1"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;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;">The Company maintains equity incentive plans under which equity awards are granted to employees, which are comprised of stock options, service-based restricted stock units (&#8220;RSUs&#8221;), performance-based RSUs (&#8220;PRSUs&#8221;), and total shareholder return (&#8220;TSR&#8221;) awards.</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 Company measures and recognizes compensation expense for all stock options, RSUs and PRSUs granted to its employees and directors based on the estimated fair value of the award on the grant date. The Company uses the Black-Scholes valuation model to estimate the fair value of stock option awards. The determination of the grant date fair value of options using the Black-Scholes valuation model is affected by the Company&#8217;s estimated common stock fair value and requires management to make a number of assumptions including the expected life of the option, the volatility of the underlying stock, the risk-free interest rate and expected dividends. The Company determines the fair value of RSUs and PRSUs using the fair value of our common stock on the date of grant. To estimate the fair value of the TSR awards, the Company uses the Monte Carlo valuation model to simulate the probabilities of achievement, which requires management to make a number of assumptions including 30-day average price, volatility of the underlying stock and the Company&#8217;s peers, and the 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;"> </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 compensation cost of service-based stock options and restricted stock units is recognized net of any estimated forfeitures on a straight-line basis over the employee requisite service period. Compensation cost for PRSUs is expensed over the respective vesting periods when the achievement of performance criteria is probable. Compensation cost for the TSR awards is recognized over the requisite service period, regardless of when, if ever, the market condition is satisfied.</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 Company believes that the fair value of stock options granted to non-employees is more reliably measured than the fair value of the services received.</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_c9840e03-d954-4ab9-9d43-2c1b88b16b56" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Comprehensive Income (Loss)</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 is required to report all components of comprehensive income (loss), including net loss, in the consolidated financial statements in the period in which they are recognized. Comprehensive income (loss) is defined as the change in equity during a period from transactions and other events and circumstances from non-owner sources, including unrealized gains and losses on investments and foreign currency translation adjustments. Comprehensive gains (losses) have been reflected in the consolidated statements of comprehensive income (loss) for all periods presented.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cc3dc9c0-bbfd-44eb-ab76-38a6d039a0ad" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Recently Issued Accounting Guidance Not Yet Adopted</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 November 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) No. 2023-07,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> which requires all public entities, including public entities with a single reportable segment, to provide in interim and annual periods one or more measures of segment profit or loss used by the chief operating decision maker to allocate resources and assess performance. In addition, this guidance requires disclosures of significant segment expenses and other segment items as well as incremental qualitative disclosures. This guidance is effective for fiscal years beginning after December 15, 2023, and interim periods after December 15, 2024, with retrospective application required, and early adoption permitted. The Company is currently in the process of evaluating the effects of this guidance on its related disclosures.</span><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 December 2023, the FASB issued ASU 2023-09,</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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, which requires enhanced income tax disclosures, including specific categories and disaggregation of information in the effective tax rate reconciliation, disaggregated information related to income taxes paid, income or loss from continuing operations before income tax expense or benefit, and income tax expense or benefit from continuing operations. This guidance is effective for annual periods beginning after December 15, 2024, with early adoption permitted. The Company is currently in the process of evaluating the impact of this pronouncement on its related disclosures.</span></p></ix:nonNumeric></div></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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_9bc88062-ae68-4f79-b691-0ba2c6b94713" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock" escape="true"><p style="font-size:10pt;margin-top:18pt;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;">3.	Collaboration Agreements, License Agreement and Revenues</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_8146c856-a958-4da2-b900-1f08e15ad682" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:CollaborativeArrangementAndRevenuesPolicyTextBlock" escape="true"><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;">Astellas Agreements</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;">Astellas Japan 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 June 2005, the Company entered into a collaboration agreement with Astellas for the development and commercialization (but not manufacture) of roxadustat for the treatment of anemia in Japan (&#8220;Astellas Japan Agreement&#8221;). Under this agreement, Astellas paid license fees and other consideration 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_c5015725-6b4e-469c-b174-e608dcb9d227" contextRef="C_4490c8f4-3882-4f3e-be33-fcc6e52f440c" name="fgen:ProceedsFromUpfrontNonContingentAndTimeBasedPayments" unitRef="U_USD" scale="6" decimals="-5">40.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 (such amounts were fully received as of February 2009). Under the Astellas Japan Agreement, the Company is also eligible to receive from Astellas an aggregate 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_47fb0a7c-5f76-4543-aa15-53bcbcc35360" contextRef="C_7893e42d-2153-432f-ad67-11cda72532bd" name="fgen:PotentialMilestones" unitRef="U_USD" scale="6" decimals="-5">132.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 potential milestone payments, comprised of (i) 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_99252514-6d9c-493b-a3db-32214a311e2a" contextRef="C_ce10b568-068b-46a4-af77-391695657653" name="fgen:PotentialMilestones" unitRef="U_USD" scale="6" decimals="-5">22.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 milestone payments upon achievement of specified clinical and development milestone events (such amounts were fully received as of July 2016), (ii) 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_9c8d02f8-22de-4fba-b0e5-1603bdc9fd85" contextRef="C_bc6a99e3-85df-4961-bc59-1bfcf38ad17b" name="fgen:PotentialMilestones" unitRef="U_USD" scale="6" decimals="-5">95.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 milestone payments upon achievement of specified regulatory milestone events, and (iii) up to 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_2eb4fe30-5f00-424e-9895-6e85837ee6ea" contextRef="C_7893e42d-2153-432f-ad67-11cda72532bd" name="fgen:CommercialSalesMilestone" unitRef="U_USD" scale="6" decimals="-5">15.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 milestone payments upon the achievement of specified commercial sales milestone. The Astellas Japan Agreement also provides for tiered payments based on net sales of product (as defined) in </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_edfc34ed-6ea4-484b-8b25-8fcc0f692233" contextRef="C_87ab9b9a-aabc-4dcf-b622-195ad575f47d" name="fgen:AdditionalConsiderationBasedOnNetSales"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the low 20% range of the list price</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> published by the Japanese Ministry of Health, Labour and Welfare, adjusted for certain elements, after commercial launch.</span><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 aggregate amount of the considerations received under the Astellas Japan Agreement, through December 31, 2023 totals </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_b6056dcd-bd3b-49c1-b93b-b809aa051484" contextRef="C_6448ae85-341e-476d-a342-5c0cd24af21b" name="fgen:CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">105.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, excluding drug product revenue that is discussed under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below. Based on its current development plans for roxadustat in Japan, the Company does not expect to receive most or all of the additional potential milestones under the Astellas Japan 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:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2018, FibroGen and Astellas entered into an amendment to the Astellas Japan Agreement that allows Astellas to manufacture roxadustat drug product for commercialization in Japan (the &#8220;Astellas Japan Amendment&#8221;). Under this amendment, FibroGen would continue to manufacture and supply roxadustat API</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;">to Astellas for the roxadustat commercial activities in Japan. The commercial terms of the Astellas Japan Agreement relating to the transfer price for roxadustat for commercial use remain substantially the same, reflecting an adjustment for the manufacture of drug product by Astellas rather than FibroGen. The related drug product revenue is described under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section 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:18pt;font-family:Times New Roman;margin-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;">Astellas Europe 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 April 2006, the Company entered into a separate collaboration agreement with Astellas for the development and commercialization of roxadustat for the treatment of anemia in Europe, the Middle East, the Commonwealth of Independent States and South Africa (&#8220;Astellas Europe Agreement&#8221;). Under the terms of the Astellas Europe Agreement, Astellas paid license fees and other upfront consideration 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_faccb242-1a0a-40b8-b375-f6b9866d6ded" contextRef="C_64cc3d18-f4e7-4539-b5c0-7644049497db" name="fgen:ProceedsFromUpfrontNonContingentAndTimeBasedPayments" unitRef="U_USD" scale="6" decimals="-5">320.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 (such amounts were fully received as of February 2009). The Astellas Europe Agreement also provides for additional development and regulatory approval milestone payments 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_3d6735e2-09c9-41d7-8aca-ff8d8637a6a2" contextRef="C_47fac92d-3ba5-4f59-92a6-6764ef7b5aed" name="fgen:DevelopmentAndRegulatoryApprovalMilestones" unitRef="U_USD" scale="6" decimals="-5">425.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, comprised of (i) 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_dc13b8d1-6714-45b3-8a55-815450abfba0" contextRef="C_2b061bd4-6cf5-4ed3-a98b-d3b0ce02e215" name="fgen:PotentialMilestones" unitRef="U_USD" scale="6" decimals="-5">90.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 milestone payments upon achievement of specified clinical and development milestone events (such amounts were fully received as of 2012), and (ii) 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_fd2509e9-5198-4057-a20b-4f7c55d47e54" contextRef="C_908d3f33-b0dd-40d4-9c7a-51f3a0320acc" name="fgen:PotentialMilestones" unitRef="U_USD" scale="6" decimals="-5">335.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 milestone payments upon achievement of specified regulatory milestone events. Under the Astellas Europe Agreement, Astellas committed to fund </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ae1dc799-88e0-423b-bb3e-40f946e25bcf" contextRef="C_eee05b28-bf73-4a04-b53d-02702a48a5e5" name="fgen:PercentageOfFundingForCosts" unitRef="U_pure" scale="-2" decimals="2">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 joint development costs for Europe and North America, and all territory-specific costs. The Astellas Europe Agreement also provides for tiered payments based on net sales of product (as defined) in the </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_e2853da6-7119-4293-a0e6-71d2ecc19e1b" contextRef="C_7811b1fb-2195-41fe-b9b4-4698c263263d" name="fgen:AdditionalConsiderationBasedOnNetSales"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">low 20% range</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><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 21, 2022, EVRENZO</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;"> (roxadustat) was registered with the Russian Ministry of Health. The Company evaluated the regulatory milestone payment associated with the approval in Russia under the Astellas Europe Agreement and concluded that this milestone was achieved in the first quarter of 2022. Accordingly, the consideration 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_cb8fe729-f64d-4aeb-9224-0493d3e05384" contextRef="C_8dcc6362-b7f5-451d-86fb-7ae7ee437868" name="fgen:TransactionPriceAllocatedToPerformanceObligations" 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 associated with this milestone was included in the transaction price and allocated to performance obligations under the Astellas Europe Agreement, all of which was recognized as revenue during the year ended December 31, 2022 from performance obligations satisfied.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 third quarter of 2021, the European Commission approved EVRENZO</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;"> (roxadustat) for the treatment of adult patients with symptomatic anemia associated with CKD. Astellas has launched EVRENZO in Germany, the United Kingdom, the Netherlands, and Austria. This approval triggered a total 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_c03a9f6a-efdf-4c1d-bba4-769d9ab1efcc" contextRef="C_f863be40-ba91-4310-a063-3c1d8317659e" name="fgen:PotentialMilestones" unitRef="U_USD" scale="6" decimals="-5">120.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 milestone payable to the Company by Astellas under the Astellas Europe Agreement. Accordingly, the consideration 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_3957d6c9-a6e7-4ba0-8285-9e7254890b4f" contextRef="C_db10d930-93d6-4b10-b745-9bdf9e585579" name="fgen:TransactionPriceAllocatedToPerformanceObligations" unitRef="U_USD" scale="6" decimals="-5">120.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 associated with these milestones was included in the transaction price and allocated to performance obligations under the Astellas Europe Agreement, all of which was recognized as revenue during the year ended December 31, 2021 from performance obligations satisfied.</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 aggregate amount of the considerations received under the Astellas Europe Agreement through December 31, 2023 totals </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_1b93cbee-dabc-4624-881b-2294277320be" contextRef="C_80fa294c-a5d2-4b39-a6dd-8bb5bde8fb78" name="fgen:CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">685.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, excluding drug product revenue that is discussed under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below. Based on its current development plans for roxadustat in Europe, the Company does not expect to receive most or all of the additional potential milestones under the Astellas Europe 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:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the Astellas Europe Agreement, Astellas has an option to purchase roxadustat bulk drug product in support of commercial supplies. During the first quarter of 2021, the Company entered into an EU Supply Agreement with Astellas (&#8220;Astellas EU Supply Agreement&#8221;) to define general forecast, order, supply and payment terms for Astellas to purchase roxadustat bulk drug product from FibroGen in support of commercial supplies. The related drug product revenue is described under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section 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:18pt;font-family:Times New Roman;margin-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;">Accounting for the Astellas Agreements</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 each of the Astellas agreements, the Company has evaluated the promised services within the respective arrangements and has identified performance obligations representing those services and bundles of services that are distinct.</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;">Promised services that were not distinct have been combined with other promised services to form a distinct bundle of promised services, with revenue being recognized on the bundle of services rather than the individual services. There are no right-of-return provisions for the delivered items in the Astellas agreements.</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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the transaction price for the Astellas Japan Agreement, excluding manufacturing services that is discussed separately below, 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_0b4a3d4e-451e-4f46-82ad-ae160f71deff" contextRef="C_87ab9b9a-aabc-4dcf-b622-195ad575f47d" name="fgen:ProceedsFromNonContingentUpfrontPayments" unitRef="U_USD" scale="6" decimals="-5">40.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 non-contingent upfront payments, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_38a5611c-e73a-49f9-a2bd-1144c583072a" contextRef="C_87ab9b9a-aabc-4dcf-b622-195ad575f47d" name="fgen:VariableConsiderationPaymentReceivedUponAchievementOfMilestone" unitRef="U_USD" scale="6" decimals="-5">65.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 variable consideration related to payments for milestones achieved, 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_fb767e9b-fd67-481d-8022-798d09ada780" contextRef="C_87ab9b9a-aabc-4dcf-b622-195ad575f47d" name="fgen:VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">12.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 of variable consideration related to co-development billings. The transaction price for the Astellas Europe Agreement, excluding manufacturing services that is discussed separately below, 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_e294e63c-2cd8-438a-b573-2dd48a2b76ef" contextRef="C_7811b1fb-2195-41fe-b9b4-4698c263263d" name="fgen:ProceedsFromNonContingentUpfrontPayments" unitRef="U_USD" scale="6" decimals="-5">320.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 non-contingent upfront payments, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_73250ec8-4d12-47f1-8bbd-4b69376a157f" contextRef="C_7811b1fb-2195-41fe-b9b4-4698c263263d" name="fgen:VariableConsiderationPaymentReceivedUponAchievementOfMilestone" unitRef="U_USD" scale="6" decimals="-5">365.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 variable consideration related to payments for milestones achieved, 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_02974cd1-0ce4-448a-b5a1-e11da2b15ac7" contextRef="C_7811b1fb-2195-41fe-b9b4-4698c263263d" name="fgen:VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">220.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 variable consideration related to co-development billings.</span><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 technology license under the Astellas Japan Agreement and the Astellas Europe Agreement, SSP was determined primarily by using the discounted cash flow (&#8220;DCF&#8221;) method, which aggregates the present value of future cash flows to determine the valuation as of the effective date of each of the agreements. The DCF method involves the following key steps: 1) the determination of cash flow forecasts and 2) the selection of a range of comparative risk-adjusted discount rates to apply against the cash flow forecasts. The discount rates selected were based on expectations of the total rate of return, the rate at which capital would be attracted to the Company and the level of risk inherent within the Company. The discounts applied in the DCF analysis ranged from </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_62c6a683-e5a9-4d3c-8b24-7408c25c2fe0" contextRef="C_f71f5c88-8e09-486d-87a3-fe5cc6fc75c3" name="us-gaap:AlternativeInvestmentMeasurementInput" unitRef="U_pure" decimals="INF">17.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% 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_4aeb73e7-e9e1-4bf6-8fbe-72837ef58acc" contextRef="C_1efa9634-32e0-4de7-85ff-95fb98b1d503" name="us-gaap:AlternativeInvestmentMeasurementInput" unitRef="U_pure" decimals="INF">20.0</ix:nonFraction></span><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 flow forecasts were derived from probability-adjusted revenue and expense projections by territory. Such projections included consideration of taxes and cash flow adjustments. The probability adjustments were made after considering the likelihood of technical success at various stages of clinical trials and regulatory approval phases. SSP also considered certain future royalty payments associated with commercial performance of the Company&#8217;s compounds, transfer prices and expected gross margins.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 promised services that were analyzed, along with their general timing of satisfaction and recognition as revenue, are as follows:</span></p><div style="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.537%;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;">License to the Company&#8217;s technology existing at the effective date of the agreements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> For both of the Astellas agreements, the license was delivered at the beginning of the agreement term. In both cases, the Company concluded at the time of the agreement that its collaboration partner, Astellas, would have the knowledge and capabilities to fully exploit the licenses without the Company&#8217;s further involvement. However, the Astellas Japan Agreement has contractual limitations that might affect Astellas&#8217; ability to fully exploit the license and therefore, potentially, the conclusion as to whether the license is capable of being distinct. The Company considered the fact that at the time of delivery of the license, the development services were beyond the preclinical development phase and any remaining development work in either agreement would not be expected to result in any significant modification or customization to the licensed technology. As such, the development services are separately identifiable from the licensed technology, indicating that the license is a distinct performance obligation. The portion of the transaction price allocated to this performance obligation based on a relative SSP basis was recognized as revenue in its entirety at the point in time the license transfers to Astellas.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Co-development services (Astellas Europe Agreement). </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This promise relates to co-development services that were reasonably expected to be performed by the Company at the time the collaboration agreement was signed and is considered distinct. Co-development billings are allocated entirely to the co-development services performance obligation as amounts are related specifically to research and development efforts necessary to satisfy the performance obligation related to CKD approval, and such an allocation is consistent with the allocation objective. Through the third quarter of 2021 upon the approval of CKD, revenue was recognized over time based on progress toward complete satisfaction of the performance obligation. The Company used an input method to measure progress toward the satisfaction of the performance obligation, which was based on costs of labor hours and out-of-pocket expenses incurred relative to total expected costs to be incurred. Subsequently, the Company accounts for the development services for the indications related to chemotherapy-induced anemia and myelodysplastic syndromes separately as services are provided. There w</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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_ad4d5842-f0b5-4b61-9c36-d335eaf3b09e" contextRef="C_87ab9b9a-aabc-4dcf-b622-195ad575f47d" name="fgen:ProvisionForCoDevelopmentServices" unitRef="U_USD" decimals="INF" 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;"> provision for co-development services in the Astellas Japan Agreement. </span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">License to the Company&#8217;s technology developed during the term of the agreement and development (referred to as &#8220;when and if available&#8221;) and information sharing services. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">These promises are generally satisfied throughout the term of the agreements.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Manufacturing of clinical supplies of products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> This promise is satisfied as supplies for clinical product are delivered for use in the Company&#8217;s clinical trial programs during the development period, or pre-commercialization period.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;display:inline-flex;justify-content:flex-start;">(5)</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;">Committee service</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. This promise is satisfied throughout the course of the agreements as meetings are attended.</span></div></div><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Items (2)-(5) are bundled into a single performance obligation that is distinct given the fact that all are highly interrelated during the development period (pre-commercial phase of development) such that satisfying them independently is not practicable. For the revenue recognized over time based on progress toward complete satisfaction of the performance obligation, the Company uses an input method to measure progress toward the satisfaction of the performance obligation, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred, and updates the measure of progress in each reporting period.</span></p><div style="display:flex;margin-top:12pt;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.537%;display:inline-flex;justify-content:flex-start;">(6)</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;">Manufacturing commercial supplies of products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> This promised service is distinct as services are not interrelated with any of the other performance obligations. Payments received for commercial supplies of products represent sales-based payments related predominately to the license of intellectual property under both Astellas agreements. Revenue is recognized as supplies are shipped for commercial use during the commercialization period. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></div></div><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 Astellas Japan Amendment, the drug product revenue represents variable consideration and is estimated based on the quantity of product shipped, actual listed price for roxadustat issued by the Japanese Ministry of Health, Labour and Welfare and possible future changes to the listed price, adjusted for the timing of and estimated bulk product strength mix intended to be manufactured by Astellas, estimated cost to convert the API to bulk drug product tablets, and estimated yield from the manufacture of bulk product tablets, among others.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 Astellas Europe Agreement, the drug product revenue amount represents variable consideration and is estimated based on the quantity of product transferred and an estimated price. The estimated price is based on the contractual transfer price percentage applied on the estimated weighted average net sales price per strength, which is estimated to be realized by Astellas from the end sale of roxadustat in its approved territories.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">License Revenue and Development Revenue Recognized Under the Astellas 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;">License amounts identified below are included in the &#8220;License revenue&#8221; line item in the consolidated statements of operations. All other elements identified below are included in the &#8220;Development and other revenue&#8221; line item in the consolidated statements of operations.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_d5e8667c-cd20-4df1-addf-6569cbe4bec2" contextRef="C_c8ee1d0d-831d-4de3-b1ca-208afec64a8d" name="fgen:ContractWithCustomerMilestoneMethodTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amounts recognized as license revenue and development revenue under the Astellas Japan Agreement were as follows 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 (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: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:100.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:24.725%;"/>
          <td style="width:1.98%;"/>
          <td style="width:22.404%;"/>
          <td style="width:1.98%;"/>
          <td style="width:1%;"/>
          <td style="width:12.983%;"/>
          <td style="width:1%;"/>
          <td style="width:1.98%;"/>
          <td style="width:1%;"/>
          <td style="width:12.983%;"/>
          <td style="width:1%;"/>
          <td style="width:1.98%;"/>
          <td style="width:1%;"/>
          <td style="width:12.983%;"/>
          <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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">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;">Agreement</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;"><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;">Performance Obligation</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: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;">Astellas Japan Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Development 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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dc95950f-e485-4b52-9c2c-442776be7c62" contextRef="C_c881fbac-216d-4491-b5e9-706acf6b4576" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3900734a-e7fa-43e8-b7cc-e4abc8c32be2" contextRef="C_44801228-6da7-41e9-ac58-9e490e0eab1f" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">284</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_990df7ad-5d54-4b7a-8bec-fae7bf869afd" contextRef="C_2ad24307-4357-4587-9fbd-afdfbb1fceb9" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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;"><p style="font-size:10pt;margin-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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cc967484-013f-41a2-9cc5-0ad14e286414" contextRef="C_c8ee1d0d-831d-4de3-b1ca-208afec64a8d" name="us-gaap:DisaggregationOfRevenueTableTextBlock" escape="true"><p style="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:10pt;font-family:Times New Roman;min-width:fit-content;">The transaction price related to consideration received through </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 accounts receivable has been allocated to each of the following performance obligations under the Astellas Japan Agreement, along with any associated deferred revenue as follows (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: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:64.48%;"/>
          <td style="width:2.72%;"/>
          <td style="width:1%;"/>
          <td style="width:30.799999999999997%;"/>
          <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;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;">Astellas Japan Agreement</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;">Total Consideration<br/>&#160;Through <br/>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: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;">License</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_5039fbf6-1edf-486d-8507-ac96e4469c1c" contextRef="C_e5f5b775-79ab-4b88-89c5-628da75cf313" name="fgen:CashConsiderationReceivedUnderCollaborationAgreement" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,347</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Development 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_baa9cb5a-9907-4270-9c1f-20f6863fd9bc" contextRef="C_86f700ec-955a-4018-85dc-0a2983fea908" name="fgen:CashConsiderationReceivedUnderCollaborationAgreement" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,092</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: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 license and development 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_22b9dcaf-9fd2-427c-a130-71c16375c7bb" contextRef="C_6448ae85-341e-476d-a342-5c0cd24af21b" name="fgen:CashConsiderationReceivedUnderCollaborationAgreement" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">117,439</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: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;">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_a554b19d-ec40-4b1a-87d8-acfb7c2aa9d8" contextRef="C_87ab9b9a-aabc-4dcf-b622-195ad575f47d" name="us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" unitRef="U_USD" scale="3" decimals="INF" 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;"> license rev</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">enue or development revenue resulting from changes to estimated variable consideration in the current period relating to performance obligations satisfied or partially satisfied in previous periods for the year ended December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> under the Astellas Japan Agreement. The Company does </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_de7b7fe5-9fd7-4359-9d44-76eabfbd610d" contextRef="C_c8ee1d0d-831d-4de3-b1ca-208afec64a8d" name="fgen:VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" unitRef="U_USD" scale="3" decimals="INF" 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;">t expect material variable consideration from estimated future co-development billing beyond the development period in the transaction price related to the Astellas Japan Agreement.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_5fa1b96d-d3d2-4d0c-9e87-50d4dfa9c0e3" contextRef="C_9feecbc0-749f-480e-9778-4fb17c34c7be" name="fgen:ContractWithCustomerMilestoneMethodTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amounts recognized as license revenue and development revenue under the Astellas Europe Agreement were as follows 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 (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: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:100.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:23.405%;"/>
          <td style="width:1.78%;"/>
          <td style="width:20.264%;"/>
          <td style="width:1.78%;"/>
          <td style="width:1%;"/>
          <td style="width:14.403%;"/>
          <td style="width:1%;"/>
          <td style="width:1.78%;"/>
          <td style="width:1%;"/>
          <td style="width:14.403%;"/>
          <td style="width:1%;"/>
          <td style="width:1.78%;"/>
          <td style="width:1%;"/>
          <td style="width:14.403%;"/>
          <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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">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;">Agreement</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;"><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;">Performance Obligation</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: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;">Astellas Europe Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;">License 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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d3520e8e-4910-4b14-848c-d2497fa79235" contextRef="C_cf240dc1-5b27-4497-9ed3-02c28c795f98" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3201b38c-c113-4ca8-9270-cc7d55571d2d" contextRef="C_82baf30a-e6b7-4f88-af3e-2303ce28b33a" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,590</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b5334e35-002a-42f9-bc6c-cc2bade58e56" contextRef="C_c9de6165-5c70-47fa-8f69-51a12aa3a77d" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">108,434</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="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="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;">Development 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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_49e4b3d4-e1c7-4949-af7c-9874ff52dcc6" contextRef="C_79a4c265-ce10-4ad0-a49d-0b7b7bd2a4ad" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,452</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a3b82de1-fe8b-4ee3-bd8c-276c09211533" contextRef="C_c52b43d8-10ee-4799-a3ab-939a0ba45db9" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,624</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f0b090e-a3af-4648-8a1c-84bfee3ef298" contextRef="C_7aa0ec63-9119-4ac2-b319-b78b312f4e03" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,679</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_44b128e6-1856-4758-aafb-47874ef5b360" contextRef="C_9feecbc0-749f-480e-9778-4fb17c34c7be" name="us-gaap:DisaggregationOfRevenueTableTextBlock" escape="true"><p style="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:10pt;font-family:Times New Roman;min-width:fit-content;">The transaction price related to consideration received through </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 accounts receivable has been allocated to each of the following performance obligations under the Astellas Europe Agreement, along with any associated deferred revenue as follows (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: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:64.48%;"/>
          <td style="width:2.72%;"/>
          <td style="width:1%;"/>
          <td style="width:30.799999999999997%;"/>
          <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;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;">Astellas Europe Agreement</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;">Total Consideration<br/>&#160;Through <br/>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: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;">License</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_feb6076b-1491-4ca9-8c81-1d05e5b0a10c" contextRef="C_0b9590f1-cdf0-4cee-9ecc-380bbffc159a" name="fgen:CashConsiderationReceivedUnderCollaborationAgreement" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">618,975</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Development 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;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_17a9beda-c6a4-4a3d-972b-f29f38e554c6" contextRef="C_6ee78229-9de9-4276-9464-cfaa0c01fd3d" name="fgen:CashConsiderationReceivedUnderCollaborationAgreement" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">286,717</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 license and development 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_36e9b113-d7ee-492c-933e-90506ab27068" contextRef="C_80fa294c-a5d2-4b39-a6dd-8bb5bde8fb78" name="fgen:CashConsiderationReceivedUnderCollaborationAgreement" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">905,692</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="text-indent:-2.557%;padding-left:2.507%;font-size:10pt;margin-top:2pt;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;">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_138bdcdc-c313-4d16-a5ba-4d961f98b046" contextRef="C_7811b1fb-2195-41fe-b9b4-4698c263263d" name="us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" unitRef="U_USD" scale="3" decimals="INF" 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;"> license revenue or development revenue resulting from changes to estimated variable consideration in the current period relating to performance obligations satisfied or partially satisfied in previous periods 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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> under the Astellas Europe Agreement. The Company does </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_73c3fdd9-d77c-4da0-b341-0c00f954c753" contextRef="C_9feecbc0-749f-480e-9778-4fb17c34c7be" name="fgen:VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" unitRef="U_USD" scale="3" decimals="INF" 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;">t expect material variable consideration from estimated future co-development billing beyond the development period in the transaction price related to the Astellas Europe Agreement.</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: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;">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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></ix:exclude><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">AstraZeneca Agreements</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;">AstraZeneca U.S./Rest of World (&#8220;RoW&#8221;) 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;">Effective July 30, 2013, the Company entered into a collaboration agreement with AstraZeneca for the development and commercialization of roxadustat for the treatment of anemia in the U.S. and all other countries in the world, other than China, not previously licensed under the Astellas Europe and Astellas Japan Agreements (&#8220;AstraZeneca U.S./RoW Agreement&#8221;). The AstraZeneca U.S./RoW Agreement was terminated on February 23, 2024 (except South Korea). China is covered by a separate agreement with AstraZeneca described below. Under the terms of the AstraZeneca U.S./RoW Agreement, AstraZeneca paid upfront, non-contingent, non-refundable and time-based payments 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_2eac225c-994b-4557-800b-6ac89f2e5dab" contextRef="C_4123b229-24e9-42ce-933d-58cb92496c09" name="fgen:ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments" unitRef="U_USD" scale="6" decimals="-5">374.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 (such amounts were fully received as of June 2016). Under the AstraZeneca U.S./RoW Agreement, AstraZeneca also agreed to pay an aggregate 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_4ec26099-7da7-440b-970b-2a9bc97c894f" contextRef="C_4123b229-24e9-42ce-933d-58cb92496c09" name="fgen:PotentialMilestones" unitRef="U_USD" scale="6" decimals="-5">875.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 potential milestone payments, comprised of (i) 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_03505d45-df10-4474-a965-ff21e7320ec7" contextRef="C_ae53f812-11a8-4b3f-804d-963c32ed9acd" name="fgen:PotentialMilestones" unitRef="U_USD" scale="6" decimals="-5">65.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 milestone payments upon achievement of specified clinical and development milestone events, (ii) 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_1d071b9d-aa64-4f33-9070-b25214532d55" contextRef="C_95a49687-82c4-4056-b1bd-20c8519a55fe" name="fgen:PotentialMilestones" unitRef="U_USD" scale="6" decimals="-5">325.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 milestone payments upon achievement of specified regulatory milestone events, (iii) 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_35da66d9-38d7-4311-a0a3-0780b3faaa57" contextRef="C_a0f43f9d-a4e3-47f5-88f8-200ba7bc2796" name="fgen:PotentialMilestones" unitRef="U_USD" scale="6" decimals="-5">160.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 milestone payments related to activity by potential competitors and (iv) up to 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_fe0b7c19-f1d4-4bd9-a6f8-75635850b580" contextRef="C_4123b229-24e9-42ce-933d-58cb92496c09" name="fgen:CommercialSalesMilestone" unitRef="U_USD" scale="6" decimals="-5">325.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 milestone payments upon the achievement of specified commercial sales events.</span><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 AstraZeneca U.S./RoW Agreement, the Company and AstraZeneca equally share in the development costs of roxadustat not already paid for by Astellas, up to a total 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_55cb013c-d2df-4c1b-a18c-3ff5c04bac6b" contextRef="C_94968f74-2378-4f92-a41e-cb137e49f460" name="fgen:SharedDevelopmentCosts" unitRef="U_USD" scale="6" decimals="-5">233.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 (i.e. the Company&#8217;s share of development costs 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_4b23742f-04c0-4cb9-a0c2-143e22f76651" contextRef="C_3754bc73-6453-4e16-b248-cea34f4b85ef" name="fgen:SharedDevelopmentCosts" unitRef="U_USD" scale="6" decimals="-5">116.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, which was reached in 2015). Development costs incurred by FibroGen during the development period in excess 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_ef8c06d7-ee6f-4b61-896a-8487391db2b4" contextRef="C_94968f74-2378-4f92-a41e-cb137e49f460" name="fgen:SharedDevelopmentCosts" unitRef="U_USD" scale="6" decimals="-5">233.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 (aggregated spend) are fully reimbursed by AstraZeneca.</span><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 aggregate amount of the considerations received under the AstraZeneca U.S./RoW Agreement through December 31, 2023 totals </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_090f2d60-226e-4277-bcdc-71549d431f10" contextRef="C_dbae7583-b097-4efb-82b8-4bd796994785" name="fgen:CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">439.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, excluding drug product revenue that is discussed under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section 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;">In 2020, the Company entered into a Master Supply Agreement with AstraZeneca under the AstraZeneca U.S./RoW Agreement (&#8220;AstraZeneca Master Supply Agreement&#8221;) to define general forecast, order, supply and payment terms for AstraZeneca to purchase roxadustat bulk drug product from FibroGen in support of commercial supplies. The related drug product revenue is described under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">AstraZeneca China 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;">Effective July 30, 2013, the Company (through its subsidiaries affiliated with China) entered into a collaboration agreement with AstraZeneca for the development and commercialization (but not manufacture) of roxadustat for the treatment of anemia in China (&#8220;AstraZeneca China Agreement&#8221;). Under the terms of the AstraZeneca China Agreement, AstraZeneca agreed to pay upfront consideration 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_a14755de-f307-42f4-82e6-f191daf66890" contextRef="C_fc4b592e-3e33-428f-8377-d4b46df936f8" name="fgen:ProceedsFromUpfrontNonContingentAndNonRefundablePayments" unitRef="U_USD" scale="6" decimals="-5">28.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 (such amounts were fully received in 2014). Under the AstraZeneca China Agreement, the Company is also eligible to receive from AstraZeneca an aggregate 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_2889f36e-bd54-4483-8fc6-4d49f77d2ca1" contextRef="C_fc4b592e-3e33-428f-8377-d4b46df936f8" name="fgen:PotentialMilestones" unitRef="U_USD" scale="6" decimals="-5">348.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 potential milestone payments, comprised of (i) 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_b3619caa-0e3c-46ef-bf03-489a17b5872d" contextRef="C_2f06d81a-e18e-4ad2-a9cd-a3845a64f054" name="fgen:PotentialMilestones" unitRef="U_USD" scale="6" decimals="-5">15.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 milestone payments upon achievement of specified clinical and development milestone events, (ii) 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_c27b0648-9cc3-4d92-8867-4e2d2c937a38" contextRef="C_c1f8b16a-ff9d-42be-a49c-180c1d376b34" name="fgen:PotentialMilestones" unitRef="U_USD" scale="6" decimals="-5">146.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 milestone payments upon achievement of specified regulatory milestone events, and (iii) up to 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_970b8962-a20a-4511-a865-b07ed9b33e63" contextRef="C_fc4b592e-3e33-428f-8377-d4b46df936f8" name="fgen:CommercialSalesAndOtherEventsMilestone" unitRef="U_USD" scale="6" decimals="-5">187.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 milestone payments upon the achievement of specified commercial sales and other events. The AstraZeneca China Agreement is structured as a 50/50 profit or loss share (as defined), which was amended under the AstraZeneca China Amendment in 2020 as discussed below, and provides for joint development costs (including capital and equipment costs for construction of the manufacturing plant in China), to be shared equally during the development 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;">The aggregate amount of the considerations received for milestone and upfront payments under the AstraZeneca China Agreement through December 31, 2023 totals </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_f454ef15-a8bc-4951-9c08-34e2d82b06a5" contextRef="C_97ec9498-684f-432f-9f3e-82b654d09186" name="fgen:CollaborativeArrangementAggregateConsideration" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">77.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="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;">On September 18, 2023, the Company received the formal notice, from Beijing Medical Products Administration, of renewal of its right to continue to market roxadustat in China through 2028. The Company evaluated the regulatory milestone payment associated with this renewal under the AstraZeneca China Agreement and concluded that this milestone was achieved in the third quarter of 2023. Accordingly, the consideration 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_b1607e8c-c580-4438-8b36-b2893036393a" contextRef="C_0be8756a-12e9-4939-b897-b138f42e27ca" name="fgen:TransactionPriceAllocatedToPerformanceObligations" 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 associated with this milestone was included in the transaction price and allocated to performance obligations under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c2ad85a8-893c-4150-a7cf-756d96724235" contextRef="C_97ec9498-684f-432f-9f3e-82b654d09186" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" 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 which was recognized as revenue during the year ended December 31, 2023 from performance obligations satisfied or partially satisfied. A</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">s of December 31, 2023, t</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">he $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f82c4b2d-7676-48e2-8d9c-e64e8f82fb16" contextRef="C_5748279b-966a-4c2a-93d8-b37a74cb9e56" name="us-gaap:ContractWithCustomerAssetNetCurrent" 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 milestone was recorded as a contract asset and was fully </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">netted against the contract liabilities (deferred revenue) related to the AstraZeneca U.S./RoW Agreement and AstraZeneca China Agreement.</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: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;">117</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></ix:exclude><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">AstraZeneca China Amendment</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 July 2020, FibroGen China Anemia Holdings, Ltd., FibroGen Beijing, and FibroGen International (Hong Kong) Limited and AstraZeneca entered into an amendment, relating to the development and commercialization of roxadustat in China (the &#8220;AstraZeneca China Amendment&#8221;). Under the AstraZeneca China Amendment, in 2020, FibroGen Beijing and AstraZeneca completed the establishment of a jointly owned entity, Falikang, which performs roxadustat distribution, as well as conducts sales and marketing through AstraZeneca.</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 AstraZeneca China Amendment, with effect from April 1, 2020, AstraZeneca&#8217;s co-promotion expenses for their sales and marketing efforts are subject to a cap of a percentage of net sales. In addition, the AstraZeneca China Amendment has allowed for a higher cost of manufacturing incurred by FibroGen Beijing to be included in the profit or loss share calculation, subject to an annual cap, among other changes.</span><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 co-promotion expenses 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;">, capped at a percentage of net roxadustat sales in China, 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_f8ad157e-121b-482c-99a8-d28c2ef38bd4" contextRef="C_0a847135-1a14-4fd4-a764-90ffc1ce8296" name="fgen:CoPromotionExpenses" unitRef="U_USD" scale="6" decimals="-5">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, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6d167dce-a762-4833-b8b7-8b151074855d" contextRef="C_77a21a8b-8316-4f17-bc57-a3490068665d" name="fgen:CoPromotionExpenses" unitRef="U_USD" scale="6" decimals="-5">4.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 $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d01fb91-05e5-412a-8358-037ee8a91958" contextRef="C_edc11a7b-a6b0-40fd-bfa6-9f386129b05a" name="fgen:CoPromotionExpenses" unitRef="U_USD" scale="6" decimals="-5">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, respectively, included in the selling, general and administrative expenses.</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 AstraZeneca China Amendment, profit/loss share between FibroGen Beijing and AstraZeneca is based on a calculation of the current period net roxadustat sales in China and deductible expenses pursuant to the AstraZeneca China Agreement. Based on the calculation revised under the AstraZeneca China Amendment, profit was achieved during 2020. As a result, the Company recorded a corresponding one-time profit share liability to AstraZeneca, the balance of which 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_52d6c9cb-2bc6-4af2-bc6c-6d08b624a081" contextRef="C_b32ceb60-7f32-4a8c-aba6-7344a342d038" name="us-gaap:ContractWithCustomerLiabilityCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">7.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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_9cb3fef8-fbc7-4fb7-b07c-44ee0ed94d98" contextRef="C_77de3070-a7c7-4dff-aa32-3fd9d7fd7063" name="us-gaap:ContractWithCustomerLiabilityCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">7.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</span><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, respectively, in accrued and other current liabilities in the consolidated balance sheet.</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;">Substantially all direct roxadustat product sales to distributors in China are made by Falikang, while FibroGen Beijing continues to sell roxadustat product directly in one province in China. FibroGen Beijing manufactures and supplies commercial product to Falikang based on a gross transaction price, adjusted for the estimated profit share. In addition, AstraZeneca bills the co-promotion expenses to Falikang and to FibroGen Beijing, respectively, for its services provided to the respective entity. AstraZeneca is entitled to reimbursement of its sales and marketing expenses up to a cumulative capped amount of a percentage of net sales. Once such amount is reached, AstraZeneca will bill the co-promotion expenses based on actual costs as incurred plus a markup on a prospective basis, which is currently expected to continue through 2033. Development costs continue to be shared 50/50 between the Parties.</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 related net product revenue recognized from the sales to Falikang and the sales directly to distributors are discussed under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accounting for the AstraZeneca Agreements</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 evaluated whether the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement should be accounted for as a single or separate arrangements and concluded that the agreements should be accounted for as a single arrangement with the presumption that two or more agreements executed with a single customer at or around the same time should be presumed to be a single arrangement. The key points the Company considered in reaching this conclusion 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><div style="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.537%;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;">While the two agreements were largely negotiated separately, those negotiations proceeded concurrently, and were intended to be completed contemporaneously, presuming AstraZeneca</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;">decided to proceed with licenses in all regions available. </span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Throughout negotiations for both agreements, the Company and the counterparties understood and considered the possibility that one arrangement may be executed without the execution of the other arrangement. However, the preference for the Company and the counterparties during the negotiations was to execute both arrangements concurrently. </span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;min-width:fit-content;">The two agreements were executed as separate agreements because different development, regulatory and commercial approaches required certain terms of the agreements to be structured differently, rather than because the Company or the counterparties considered the agreements to be fundamentally separate negotiations.</span></div></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: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;">118</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></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accordingly, as the agreements are being accounted for as a single arrangement, upfront and other non-contingent consideration received and to be received has been and will be pooled together and allocated to each of the performance obligations in both the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement based on their relative SSPs.</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 each of the AstraZeneca agreements, the Company has evaluated the promised services within the respective arrangements and has identified performance obligations representing those services and bundled services that are distinct.</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;">Promised services that were not distinct have been combined with other promised services to form a distinct bundle of promised services, with revenue being recognized on the bundle of services rather than the individual promised services. There are no right-of-return provisions for the delivered items in the AstraZeneca agreements.</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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the transaction price for the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, excluding manufacturing services that is discussed separately below, 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_72097c7f-b0c2-48d1-b97d-b553041c487f" contextRef="C_ac2ad58a-c256-44a4-b2b5-a0b1322e9dec" name="fgen:ProceedsFromNonContingentUpfrontPayments" unitRef="U_USD" scale="6" decimals="-5">402.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 non-contingent upfront payments, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_207b3ad2-b92f-433c-8f35-a9ca3b6d0a3d" contextRef="C_ac2ad58a-c256-44a4-b2b5-a0b1322e9dec" name="fgen:VariableConsiderationPaymentReceivedUponAchievementOfMilestone" unitRef="U_USD" scale="6" decimals="-5">118.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 variable consideration related to payments for milestones considered probable of being achieved, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f61dd5a8-a04a-43cc-b847-8b3038e3098c" contextRef="C_ac2ad58a-c256-44a4-b2b5-a0b1322e9dec" name="fgen:VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" unitRef="U_USD" scale="6" decimals="-5">614.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 variable consideration related to co-development billings, offset by </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_f48d8d14-5a4b-4393-9f1c-a76c83686cf6" contextRef="C_ac2ad58a-c256-44a4-b2b5-a0b1322e9dec" name="fgen:VariableConsiderationRelatedToProfitShare" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">7.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of variable consideration related to the above-mentioned one-time profit share under the AstraZeneca China Amendment.</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 AstraZeneca agreements, the Company allocated the transaction price to the various performance obligations based on the relative SSP of each performance obligation, with the exception of co-development billings and commercial sale of product. Co-development billings under the AstraZeneca U.S./RoW Agreement were allocated entirely to the U.S./RoW co-development services performance obligation, and co-development billings under the AstraZeneca China Agreement were allocated entirely to the combined performance obligation under the AstraZeneca China Agreement. Commercial sale of product under the AstraZeneca U.S./ROW Agreement is entirely allocated to the manufacturing commercial supply of products performance obligation, and commercial sale of product under the AstraZeneca China Agreement is allocated entirely to the combined China performance obligation.</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 revenue recognition purposes, the Company determined that the terms of its collaboration agreements with AstraZeneca begin on the effective date and end upon the completion of all performance obligations contained in the agreements. The contract term is defined as the period in which parties to the contract have present and enforceable rights and obligations. The Company believes that the requirement to continue funding development for a substantive period of time and the loss of product rights, along with non-refundable upfront payments already remitted by AstraZeneca, represent substantive termination penalties that create significant disincentive for AstraZeneca to exercise its right to terminate the agreement.</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 technology license under the AstraZeneca U.S./RoW Agreement, SSP was determined based on a two-step process. The first step involved determining an implied royalty rate that would result in the net present value of future cash flows to equal to zero (i.e. where the implied royalty rate on the transaction would equal the target return for the investment). This results in an upper bound estimation of the magnitude of royalties that a hypothetical acquirer would reasonably pay for the forecasted cash flow stream. The Company&#8217;s cash flow forecasts were derived from probability-adjusted revenue and expense projections. Such projections included consideration of taxes and cash flow adjustments. The probability adjustments were made after considering the likelihood of technical success at various stages of clinical trials and regulatory approval phases. The second step involved applying the implied royalty rate, which was determined 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_f84ecf5a-19b2-4bd5-98b8-06238c42f8d6" contextRef="C_bf75c14d-7187-4d64-a37d-59031a3cdcee" name="fgen:RoyaltyRateOnNetRevenue" unitRef="U_pure" scale="-2" decimals="2">40</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, against the probability-adjusted projected net revenues by territory and determining the value of the license as the net present value of future cash flows after adjusting for taxes. The discount rate utilized 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_50aaaf9b-ec45-49c7-ad85-d3076b1c2a1a" contextRef="C_4231a158-8674-4371-b4b8-f298429c1c09" name="us-gaap:AlternativeInvestmentMeasurementInput" unitRef="U_pure" scale="0" decimals="1">17.5</ix:nonFraction></span><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: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;font-style:italic;min-width:fit-content;">AstraZeneca U.S./RoW 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;">The promised services that were analyzed, along with their general timing of satisfaction and recognition as revenue, are as follows:</span></p><div style="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.537%;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;">License to the Company&#8217;s technology existing at the effective date of the agreements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> For the AstraZeneca U.S./RoW Agreement, the license was delivered at the beginning of the agreement term. The Company concluded that AstraZeneca has the knowledge and capabilities to fully exploit the license under the AstraZeneca U.S./RoW Agreement without the Company&#8217;s further involvement. Finally, the Company considered the fact that at the time of delivery of the license, the development services were beyond the preclinical development phase and any remaining development work would not be expected to result in any significant modification or customization to the licensed technology. As such, the development services are separately identifiable from the licensed technology, indicating that the license is a distinct performance obligation. Therefore, the Company has concluded that the license is distinct and represents a performance obligation. The portion of the transaction price allocated to this performance obligation based on a relative SSP basis is recognized as revenue in its entirety at the point in time the license transfers to AstraZeneca.</span></div></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: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;">119</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></ix:exclude><div style="display:flex;margin-top:12pt;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.537%;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;">Co-development services. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This promise relates to co-development services that were reasonably expected to be performed by the Company at the time the collaboration agreement was signed and is distinct. Co-development billings are allocated entirely to the co-development services performance obligation as amounts are related specifically to research and development efforts necessary to satisfy the performance obligation, and such an allocation is consistent with the allocation objective. Through the end of 2021, revenue was recognized over time based on progress toward complete satisfaction of the performance obligation. The Company used an input method to measure progress toward the satisfaction of the performance obligation related to CKD approval, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred. Subsequently, the Company accounts for the development services for other significant indications related to chemotherapy-induced anemia and myelodysplastic syndromes separately as services are provided.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Manufacturing of clinical supplies of products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> This promise is satisfied as supplies for clinical product are delivered for use in the Company&#8217;s clinical trial programs during the development period, or pre-commercialization period.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Information sharing and committee service.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> These promises are satisfied throughout the course of the agreement as services are provided.</span></div></div><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Items (2)-(4) are bundled into a single performance obligation that is distinct given the fact that all are highly interrelated during the development period (pre-commercial phase of development) such that delivering them independently is not practicable. For the revenue recognized over time based on progress toward complete satisfaction of the performance obligation, the Company uses an input method to measure progress toward the satisfaction of the performance obligation, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred, and updates the measure of progress in each reporting period.</span></p><div style="display:flex;margin-top:12pt;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.537%;display:inline-flex;justify-content:flex-start;">(5)</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;">Manufacturing commercial supplies of products. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This promise is distinct as services are not interrelated with any of the other performance obligations. Revenue is recognized as supplies are shipped for commercial use during the commercialization period. The drug product revenue amount represents variable consideration and is estimated based on the quantity of product shipped and an estimated price for each individual purchase order. The estimated price is based on the contractual transfer price percentage applied on the estimated weighted average net sales price, which is estimated to be realized by AstraZeneca from the end sale of roxadustat in its approved territories. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></div></div><p style="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;font-style:italic;min-width:fit-content;">AstraZeneca China 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;">The promised services that were analyzed are consistent with the AstraZeneca U.S./RoW Agreement, except for license to the Company&#8217;s technology existing at the effective date of the agreement, described as follows:</span></p><div style="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.537%;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;">License to the Company&#8217;s technology existing at the effective date of the agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The license was delivered at the beginning of the agreement term. However, the AstraZeneca China Agreement has contractual limitations that might affect AstraZeneca&#8217;s ability to fully exploit the license and therefore, potentially, the conclusion as to whether the license is distinct in the context of the agreement. In the AstraZeneca China Agreement, AstraZeneca does not have the right to manufacture commercial supplies of the drug. In order to determine whether this characteristic of the arrangement should lead to a conclusion that the license was not distinct in the context of the agreement, the Company considered the ability of AstraZeneca to benefit from the license on its own or together with other resources readily available to AstraZeneca.</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;">For the AstraZeneca China Agreement, the Company retained manufacturing rights as an essential part of a strategy to pursue domestic regulatory pathway for product approval, which requires the regulatory licensure of the manufacturing facility in order to commence commercial shipment. The prospects for the collaboration as a whole would have been substantially different had manufacturing rights been provided to AstraZeneca. The Company holds the rights to manufacture commercial drug product in China. Therefore, AstraZeneca cannot benefit from the license on its own or together with other readily available resources. Accordingly, all the promises identified, including the license, co-development services and manufacturing of commercial supplies, under the AstraZeneca China Agreement have been bundled into a single performance obligation and amounts of the transaction price allocable to this performance obligation are deferred until control of the manufactured commercial drug product has begun to transfer to AstraZeneca.</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: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;">120</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></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 accordance with the AstraZeneca China Amendment, substantially all product sales will be made by Falikang directly to the distributors in China, while the Company continues to sell directly in one province in China. Revenue is recognized at a point in time when control of roxadustat commercial product is transferred to Falikang. For the Company&#8217;s direct sales of commercial drug product, revenue is recognized when control of the promised good is transferred to the customer in an amount that reflects the consideration that the Company expects to be entitled to in exchange for the product. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></p></ix:nonNumeric></div><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">License Revenue and Development Revenue Recognized Under the AstraZeneca 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><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_35217a46-e148-4f30-8fce-4cb1f36148af" contextRef="C_b494fc69-c1b9-41de-8f89-256ad32ce8b9" name="fgen:ContractWithCustomerMilestoneMethodTableTextBlock" escape="true"><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;">Amounts recognized as license revenue and development revenue under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement were as follows 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 (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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:30.386%;"/>
        <td style="width:1.56%;"/>
        <td style="width:20.344%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:12.342%;"/>
        <td style="width:1%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:12.342%;"/>
        <td style="width:1%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:12.342%;"/>
        <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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">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;">Agreement</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;"><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;">Performance Obligation</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: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;">AstraZeneca U.S./RoW Agreement and AstraZeneca China Agreement</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">License 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:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</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;"><ix:nonFraction id="F_e44d8761-8bf5-450f-847c-6db71c0e7220" contextRef="C_75280c83-48b9-4595-b131-fb7dddb45699" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,649</ix:nonFraction></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: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="color:#000000;min-width:fit-content;">$</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;"><ix:nonFraction id="F_01288103-aed9-4782-93a0-ad16370ebd39" contextRef="C_932f5d94-42ce-47a7-8146-d7f8d232b03b" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></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: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="color:#000000;min-width:fit-content;">$</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;"><ix:nonFraction id="F_1248ab37-e1c2-4ef3-b5be-6a97294c2522" contextRef="C_1ec55bc0-a413-4501-ab9b-d40e49526b6f" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></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>
       </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="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="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;">Development revenue</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:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</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;"><ix:nonFraction id="F_2813b053-a33f-41e6-b592-1861b90dcae6" contextRef="C_af8c70cf-5b7d-4e18-94ac-2b237f68b5cc" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,473</ix:nonFraction></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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dab7fda6-8f1e-450a-95cf-9f24c03d16f1" contextRef="C_3bb318dd-86cf-40ed-a2aa-c686aa4fedd9" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e262806c-822a-4335-81f1-fd83436c3de2" contextRef="C_91696334-462a-4ae6-9bcb-e34072cd9648" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">48,345</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cfaacab0-5745-4d4f-8bbe-1cb80ec4763f" contextRef="C_b494fc69-c1b9-41de-8f89-256ad32ce8b9" name="us-gaap:DisaggregationOfRevenueTableTextBlock" escape="true"><p style="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:10pt;font-family:Times New Roman;min-width:fit-content;">The transaction price related to consideration received through </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 accounts receivable has been allocated to each of the following performance obligations under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, along with any associated deferred revenue as follows (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: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:38.898%;"/>
        <td style="width:1.111%;"/>
        <td style="width:1%;"/>
        <td style="width:16.093%;"/>
        <td style="width:1%;"/>
        <td style="width:1.111%;"/>
        <td style="width:1%;"/>
        <td style="width:16.093%;"/>
        <td style="width:1%;"/>
        <td style="width:3.334%;"/>
        <td style="width:1%;"/>
        <td style="width:17.36%;"/>
        <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;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;">AstraZeneca U.S./RoW Agreement and <br/>AstraZeneca China Agreement</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;">Cumulative Revenue <br/>Through <br/>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 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;">Deferred Revenue at<br/>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 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;">Total Consideration<br/>&#160;Through <br/>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: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;">License</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ad5a0c93-ea56-4d8a-943c-4157da5f1d02" contextRef="C_ca8dabe4-ee75-4cc1-88fa-22ad86c9f220" name="fgen:CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">344,493</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_64a13093-80d0-4655-a743-6350e75537ed" contextRef="C_ca8dabe4-ee75-4cc1-88fa-22ad86c9f220" name="us-gaap:ContractWithCustomerLiability" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_032844f2-670a-49b2-9472-bf2e517fd6e1" contextRef="C_ca8dabe4-ee75-4cc1-88fa-22ad86c9f220" name="fgen:CashConsiderationReceivedUnderCollaborationAgreement" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">344,493</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Co-development, information sharing &amp; <br/>&#160;&#160;committee 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_948fbec5-c8b5-4dc8-97b2-00edeac12897" contextRef="C_37cf962e-018d-4026-8051-47d82e35ed38" name="fgen:CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">625,111</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6bb21927-02f5-47d3-ac57-475f6e9161be" contextRef="C_37cf962e-018d-4026-8051-47d82e35ed38" name="us-gaap:ContractWithCustomerLiability" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06cc37ee-a383-4cdd-b370-52522b092bb5" contextRef="C_37cf962e-018d-4026-8051-47d82e35ed38" name="fgen:CashConsiderationReceivedUnderCollaborationAgreement" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">625,111</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">China performance obligation *</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ad28d6c5-2291-49ca-8076-6493ea7d5fc2" contextRef="C_67a7751b-c72c-48b0-b1ac-c9e50300a6c7" name="fgen:CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">195,789</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_36df2a9d-961a-4718-b936-31b62f04878b" contextRef="C_67a7751b-c72c-48b0-b1ac-c9e50300a6c7" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">179,851</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_ab88b420-231e-49d5-9f71-1cd0c5f8dcd7" contextRef="C_67a7751b-c72c-48b0-b1ac-c9e50300a6c7" name="fgen:CashConsiderationReceivedUnderCollaborationAgreement" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">375,640</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 license and development 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b7707abd-cf90-4bba-944b-1fb4ec73149d" contextRef="C_fe4460a2-ef5d-4301-bd7e-2dfcd14d9c5e" name="fgen:CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,165,393</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_12036979-8749-42cc-b604-94fbbd4dd36b" contextRef="C_fe4460a2-ef5d-4301-bd7e-2dfcd14d9c5e" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">179,851</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="color:#000000;white-space:pre-wrap;min-width:fit-content;">**</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_93b69cb6-2314-4b20-b423-45ce975aa57b" contextRef="C_fe4460a2-ef5d-4301-bd7e-2dfcd14d9c5e" name="fgen:CashConsiderationReceivedUnderCollaborationAgreement" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,345,244</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="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:86.667%;text-align:left;"><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:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">*  China performance obligation revenue is recognized as product revenue, as described in details under </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="highlight_result_11"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">**  Contract assets and liabilities related to rights and obligations in the same contract are recorded net on the consolidated balance sheets. As of December 31, 2023, deferred revenue included </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_c5597a1d-3290-41a6-9648-a9f84cfadb2d" contextRef="C_dbae7583-b097-4efb-82b8-4bd796994785" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">153.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;"> related to the AstraZeneca U.S./RoW and the AstraZeneca China Agreement, which represents the net 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_cb8be499-ccbe-411c-9519-e03400efea82" contextRef="C_dbae7583-b097-4efb-82b8-4bd796994785" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">179.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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of deferred revenue presented above and a </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_284f71f0-40b5-4de6-9d3b-ebd6fb28fa21" contextRef="C_dbae7583-b097-4efb-82b8-4bd796994785" name="fgen:SuppliesNet" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">26.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;"> unbilled milestone and co-development revenue under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">AstraZeneca China Amendment</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:12pt;font-family:Times New Roman;margin-bottom: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_89355061-346f-4c7b-80e9-a7a8b1528f69" contextRef="C_b494fc69-c1b9-41de-8f89-256ad32ce8b9" name="us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" unitRef="U_USD" scale="6" decimals="INF" 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;"> license rev</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">enue or development revenue resulting from changes to estimated variable consideration in the current period relating to performance obligations satisfied or partially satisfied in previous periods for the year ended 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 remainder of the transaction price related to the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement 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_ba21eec4-fb96-4f75-8dc8-3b2d095b8594" contextRef="C_b494fc69-c1b9-41de-8f89-256ad32ce8b9" name="fgen:VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" 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 of variable consideration from estimated future co-development billing and is expected to be recognized over the remaining development service period, except for amounts allocated to the China performance obligation. The amount allocated to the China performance obligation is expected to be recognized as the Company transfers control of the commercial drug product to Falikang, and is expected to continue through 2033, which reflects the Company&#8217;s best estimates, taking into account its estimated loss of exclusivity upon expiry of its composition of matter patent in 2024, its existing patent portfolio, and competition from generics.</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: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;">121</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></ix:exclude><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_71aa2696-1802-4458-8384-6dfd96fb8031" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ProductRevenuePolicyPolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Product Revenue, Net</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_106bcaaf-4d7d-4ca0-a0dc-d1e48b451984" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:DisaggregationOfRevenueTableTextBlock" escape="true"><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;">Product revenue, net from the sales of roxadustat commercial product in China was as follows 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 (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: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:44.309%;"/>
          <td style="width:1.82%;"/>
          <td style="width:1%;"/>
          <td style="width:14.743%;"/>
          <td style="width:1%;"/>
          <td style="width:1.82%;"/>
          <td style="width:1%;"/>
          <td style="width:14.743%;"/>
          <td style="width:1%;"/>
          <td style="width:1.82%;"/>
          <td style="width:1%;"/>
          <td style="width:14.743%;"/>
          <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;">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: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;">Direct Sales:</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 colspan="2" style="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="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="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="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="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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;">Gross revenue</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>
          <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="color:#000000;min-width:fit-content;">$</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;"><ix:nonFraction id="F_e7497227-1775-4f6d-868e-ce775e45531c" contextRef="C_50be1263-1222-4ea9-9e75-30e9ca38196c" name="fgen:RevenueGrossFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,190</ix:nonFraction></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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="color:#000000;min-width:fit-content;">$</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;"><ix:nonFraction id="F_b0dbf6e0-4084-4d8b-af32-a54899950482" contextRef="C_f2a3bec5-7ab0-40d4-98fa-5fed29caab14" name="fgen:RevenueGrossFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,366</ix:nonFraction></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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4b151cdd-3283-4783-9cba-0a0251227b68" contextRef="C_5fec43db-89ef-48ff-988c-27ababfa9bdf" name="fgen:RevenueGrossFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,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>
         </tr>
         <tr style="height:10pt;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Discounts and rebates</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_77eeaa0e-f4a6-4c1a-9892-2700a1e419a7" contextRef="C_42f841df-c0a8-48f2-a100-6731350be873" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,298</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_7354ad42-8bb2-4fc7-80df-28c8d10a934b" contextRef="C_e27c92da-13b4-47ec-a09e-24a45b583b49" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">665</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_afde0acd-cfd3-463d-93c2-d9254537c9ba" contextRef="C_bfaf7ee2-8a31-4a60-9a57-c2ed55095b93" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1,740</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Sales returns</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7e0020b4-1a7c-4c19-a71d-49a6e1992176" contextRef="C_14b20dc5-02fe-4953-b340-ffb9bc5d98a6" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b3fdd792-d127-4cbb-8abe-a76019c31cf0" contextRef="C_e2d95cc7-6809-4e41-b4a5-c193f6a20300" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_350f536f-1bdb-4612-aa04-32360ae2bcd9" contextRef="C_056299d5-b54d-42f0-8a35-dafc97db5874" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:bottom;"><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;">Direct sales revenue, net</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3befe803-d897-4d82-b17f-ca9b62bde6e7" contextRef="C_50be1263-1222-4ea9-9e75-30e9ca38196c" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,894</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_4fa52e6f-9d89-43e0-8b48-969df406b1cc" contextRef="C_f2a3bec5-7ab0-40d4-98fa-5fed29caab14" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,702</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_d275a003-b329-4a90-a2e9-c5028968673b" contextRef="C_5fec43db-89ef-48ff-988c-27ababfa9bdf" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,070</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="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
          <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="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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;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;">Sales to Falikang:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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: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;">Gross transaction price</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_752edaff-df91-4309-a7c1-40ce0fd0126d" contextRef="C_d0d00f72-7613-4f69-8b32-87c3cc54a826" name="fgen:RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">154,817</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cf27eb28-79a1-42ca-aa94-27587480061a" contextRef="C_cfcc0a09-81c0-4205-ae64-721f46f22e50" name="fgen:RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">112,544</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b8f56792-2b3c-4a04-80d6-27127df84e2f" contextRef="C_9a383c87-d503-4a10-ba48-73b36eb158ae" name="fgen:RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">97,531</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Profit share</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_e2bce357-7fd8-4d14-921e-236cb85f93a8" contextRef="C_ab8c9705-5fc0-4804-adff-fa15225d56de" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">66,254</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_304da2da-31e4-4d1a-84a0-e40fdc08b338" contextRef="C_7d0d88d7-1f06-4b8a-bb98-f228d097c366" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">43,716</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_87c9ab8e-e4bf-448e-865f-b9d47a357a1a" contextRef="C_fce2cea9-acf6-4c1f-81de-929d48cfe083" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">34,759</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: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;">Net transaction price</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cd2d9565-ef3e-4456-9637-59431a6e1d44" contextRef="C_a12b6aff-01d9-4c1a-8610-6b0f117ed10a" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">88,563</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_df931fbe-5e97-4b3f-b7fa-4986bbe01456" contextRef="C_82d124a4-1e8e-4c7c-8f11-2ef965609859" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">68,828</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_37df8abb-311a-4caf-9bc7-9a3eb334b581" contextRef="C_96be5e1b-f948-40a1-a6de-29ea1446e622" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">62,772</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Decrease (increase) in deferred revenue</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_de47447c-3885-43ce-b65a-8311b5ed509e" contextRef="C_9542e3e9-9b48-4954-bbee-633aa9763f0e" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">492</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_55b6b700-6738-4474-a149-a25675d095fe" contextRef="C_7103d42b-9e77-441d-a76c-7890cfaea354" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,339</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_c8b5c28f-9731-41e4-aa47-37e4b6988e2a" contextRef="C_85746b8c-afc4-4010-8ea1-d590b5d46596" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">27,204</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:bottom;"><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;">Sales to Falikang revenue, net</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_91eaf86f-9e7a-4324-8d66-fe59cf4a8e74" contextRef="C_d0d00f72-7613-4f69-8b32-87c3cc54a826" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">89,055</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_d521ff6a-fbcb-430f-8257-4dd778e36a9c" contextRef="C_cfcc0a09-81c0-4205-ae64-721f46f22e50" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,167</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_83818537-5489-4627-be09-b65163a277f9" contextRef="C_9a383c87-d503-4a10-ba48-73b36eb158ae" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">35,568</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:30pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:30pt;text-indent:0;font-size:10pt;margin-top: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, net</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>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8b59bece-0fcb-4cf2-8feb-bfd490cc2cec" contextRef="C_fa2797cc-9fa1-460c-b81b-ef756cd58ad2" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100,949</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_578685b0-1d42-45ff-9110-0e68dd95da32" contextRef="C_c72973a0-f5ac-4941-bd93-56ca141c6d0f" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,869</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2281f59e-657a-4ddc-8aba-dcf8bcc4a0c4" contextRef="C_3ced6666-5930-4496-b340-906b5898d986" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">47,638</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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: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;font-style:italic;min-width:fit-content;">Direct Sales</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;">Product revenue from direct roxadustat product sales to distributors in China is recognized in an amount that reflects the consideration that the Company expects to be entitled to in exchange for those products, net of sales rebates and discounts.</span><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 discounts and rebates consisted of the price adjustments recorded based on government-listed price guidance and estimated channel inventory levels, the contractual sales rebate calculated based on the stated percentage of gross sales by each distributor in the distribution agreement entered between FibroGen and each distributor, and other rebates and discounts, as well as sales return allowance. The total discounts and rebates were immaterial 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:12pt;font-family:Times New Roman;margin-bottom: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 Company&#8217;s legal right to offset, at each balance sheet date, the rebates and discounts are presented as reductions to gross accounts receivable from the distributor, or as a current liability to the distributor to the extent that the total amount exceeds the gross accounts receivable or when the Company expects to settle the discount in cash. The Company&#8217;s legal right to offset is determined at the individual distributor level. The contract liabilities were included in accrued and other current liabilities in the consolidated balance sheet and were immaterial as of December 31, 2023 and 2022. The rebates and discounts were reflected as reductions to gross accounts receivable for direct sales and were immaterial as of December 31, 2023 and 2022.</span></p><p style="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;font-style:italic;min-width:fit-content;">Sales to Falikang &#8211; China Performance Obligation</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;">Substantially all direct roxadustat product sales to distributors in China are made by Falikang. FibroGen Beijing manufactures and supplies commercial product to Falikang. The net transaction price for FibroGen Beijing&#8217;s product sales to Falikang is based on a gross transaction price, adjusted for the estimated profit share.</span><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 roxadustat sales to Falikang marked the beginning of the Company&#8217;s China performance obligation under the Company&#8217;s agreements with AstraZeneca</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><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Product revenue is based on the transaction price of the China performance obligation. Revenue is recognized when control of the product is transferred to Falikang, in an amount that reflects the allocation of the transaction price to the performance obligation satisfied during the reporting period. Any net transaction price in excess of the revenue recognized is added to the deferred balance to date, and will be recognized in future periods as the performance obligation is satisfied.</span><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;">Periodically, the Company updates its assumptions such as total sales quantity, performance period, gross transaction price,  profit share and other inputs including foreign currency translation impact, among others. Following updates to its estimates, the Company recognized </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_7e7fc7a7-310b-45bb-b902-df2df878dd57" contextRef="C_bc67b859-6a7a-483d-b9ab-3f3606bfba16" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.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;"> from the previously deferred revenue of the China performance obligation during the year ended December 31, 2023. The product revenue recognized for the year ended December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> included a decrease in revenue 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_b8bc0335-75b3-4d73-a011-fe7eeec9a9fc" contextRef="C_357db032-314e-4a7c-9652-fc3e2a079d22" name="fgen:ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.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 resulting from changes to estimated variable consideration in the current period relating to performance obligation satisfied in previous periods. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Comparatively, following updates to its estimates, the Company recognized </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_af364ced-4694-4dc3-a886-7ba0fe94c5db" contextRef="C_a6920112-4bc3-47b8-98ae-e3cc04f256e7" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> from the previously deferred revenue of the China performance obligation during the year ended December 31, 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: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;">122</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></ix:exclude><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_f29d9dd5-b75c-45d6-a726-8fd46b152f45" contextRef="C_5402fc82-dece-4075-8abf-01b346722f6c" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 includes a roll-forward of the related deferred revenue that is considered as a contract liability (in thousands):</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:35.734%;"/>
          <td style="width:1%;"/>
          <td style="width:1%;"/>
          <td style="width:9.945%;"/>
          <td style="width:1%;"/>
          <td style="width:1.12%;"/>
          <td style="width:1%;"/>
          <td style="width:10.425%;"/>
          <td style="width:1%;"/>
          <td style="width:1.441%;"/>
          <td style="width:1%;"/>
          <td style="width:7.704%;"/>
          <td style="width:1%;"/>
          <td style="width:1.12%;"/>
          <td style="width:1%;"/>
          <td style="width:9.965%;"/>
          <td style="width:1%;"/>
          <td style="width:1.12%;"/>
          <td style="width:1%;"/>
          <td style="width:10.425%;"/>
          <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;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 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;">Balance at<br/>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>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Additions</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Recognized as Revenue</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Currency<br/>Translation<br/>and Other</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Balance at<br/>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: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;">Product revenue - AstraZeneca China <br/>&#160;&#160;&#160;performance obligation - deferred revenue</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_e3c686ff-8354-4a95-9b40-e50c28c9b4d5" contextRef="C_73216bff-85f3-4d56-9c06-bf1a34b575f6" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">175,646</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_0810c731-2325-4aba-9b25-fca416006735" contextRef="C_5402fc82-dece-4075-8abf-01b346722f6c" name="fgen:ContractWithCustomerLiabilityAdditions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">94,099</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;"><ix:nonFraction id="F_9cf18ac5-c776-4572-9258-2310e955ecf4" contextRef="C_5402fc82-dece-4075-8abf-01b346722f6c" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">89,055</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_69b553b3-9439-428c-a9f9-fb268e435b40" contextRef="C_5402fc82-dece-4075-8abf-01b346722f6c" name="fgen:ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">839</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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c3414082-f191-4ffa-8025-4b8d97462e60" contextRef="C_bf75c14d-7187-4d64-a37d-59031a3cdcee" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">179,851</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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 revenue includes amounts allocated to the China performance obligation under the AstraZeneca arrangement as revenue recognition associated with this unit of accounting is tied to the commercial launch of the products within China and to when the control of the manufactured commercial products is transferred to AstraZeneca. 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;">, 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_173cc3fa-cc7f-48a2-90b9-b8ffd979b477" contextRef="C_5748279b-966a-4c2a-93d8-b37a74cb9e56" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">32.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 above deferred revenue related to the China unit of accounting was included in short-term deferred revenue, which represents the amount of deferred revenue associated with the China unit of accounting that is expected to be recognized within the next 12 months, associated with the commercial sales in China.</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 Company&#8217;s legal right to offset, at each balance sheet date, the rebates and discounts, mainly related to profit sharing, are presented as reductions to gross accounts receivable from Falikang, 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_c39a4104-5937-4783-969c-63d836b86466" contextRef="C_d18ea9ec-9b52-464e-a850-9fd7826c0e76" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" 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 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_2cd03319-48a0-40ef-b626-39f0f6f917a0" contextRef="C_195eefd4-6da3-43c0-81b0-6ea119e86f6e" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.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 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.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_6f866aca-c93b-47dc-a1a4-f83c0f656317" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:DrugProductRevenuePolicyTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Drug Product Revenue, Net</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_7650e304-5e9d-437d-b48f-b71e9676cd9a" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ScheduleOfDrugProductRevenueTableTextBlock" escape="true"><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;">Drug product revenue from commercial-grade </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">API or bulk drug product sales to Astellas and AstraZeneca was as follows for the years ended December 31, 2023, 2022 and 2021 (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="font-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:38.5%;"/>
          <td style="width:1.96%;"/>
          <td style="width:1%;"/>
          <td style="width:17.74%;"/>
          <td style="width:1%;"/>
          <td style="width:1.96%;"/>
          <td style="width:1%;"/>
          <td style="width:15.940000000000001%;"/>
          <td style="width:1%;"/>
          <td style="width:1.96%;"/>
          <td style="width:1%;"/>
          <td style="width:15.940000000000001%;"/>
          <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;">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;">
          <td style="white-space:pre-wrap;vertical-align: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;">Astellas Japan Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee4ec10e-1ce1-48af-84b2-c68820ba18b8" contextRef="C_eeef1c68-85f7-4cd0-b518-c15b6ad90eb1" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,656</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e6da4852-c95d-4413-894e-b1e724727b7c" contextRef="C_28f2917a-4934-44af-a2cb-297cc1ada203" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,480</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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_8ee623aa-d1ec-4cf5-89f3-3f3acfd53124" contextRef="C_f0f9788e-e79d-4f19-b529-ca9df9cc78a0" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,056</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Astellas Europe Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2fb4c992-82e9-48e7-b40b-080a47a885b4" contextRef="C_6deda77e-2584-48d4-8b8c-8547fc48de28" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,097</ix:nonFraction></span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2f974144-45fe-4c75-b062-d7f1aba2618c" contextRef="C_e5c67bae-0713-42f4-8a05-7bb5d22af872" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,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_eb6f11c9-d947-43af-a88b-9b6820c6d70e" contextRef="C_9428ff60-8d3e-4b0b-9dd9-61c512ead67a" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,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>
         </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;">AstraZeneca U.S./RoW Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_30ee7c93-cb82-47e6-8e54-cfa979690851" contextRef="C_c59b7f13-65ce-40e5-881d-f7cb503d09c2" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_72f9d22c-17e8-4779-a149-c0b9ec03e72c" contextRef="C_e2a59c00-56d2-4312-8cd8-032f48bf6650" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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>
          <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_58df6f92-7a82-429a-87eb-8c2e86cca448" contextRef="C_0808f146-6aa0-4a7b-941b-41dae8caa89b" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,224</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:15pt;white-space:pre-wrap;vertical-align:bottom;"><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;">Drug product revenue, net</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_072af80b-76b5-4ffa-82ef-f7b7052ee151" contextRef="C_14b1d456-b401-44af-bc59-f83599a5779c" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">18,753</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_ec7a282c-cb6e-4de1-a537-3284cdd507ad" contextRef="C_1db5212a-dd5f-4f54-8697-a8f3e8aca7b0" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,086</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_bd329bf8-337e-454b-a984-f2af9c339537" contextRef="C_d4190d83-2c42-4569-8a71-c8f44b1bcb92" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">962</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: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;font-style:italic;min-width:fit-content;">Astellas Japan 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;">During the year ended December 31, 2021, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Astellas Japan Amendment, and accordingly recorded adjustments to the drug product revenue 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_c3147e13-b3e7-4934-9c1f-a80ce3a1b8a1" contextRef="C_1e0a6e67-86a9-4fd2-a2c0-fd64e9dd6066" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect the changes in the estimated bulk product strength mix intended to be manufactured by </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Astellas, estimated cost to convert the API to bulk product tablets, and estimated yield from the manufacture of bulk product tablets, among others.</span><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;">During the first quarter of 2022, the Company fulfilled a shipment obligation under the terms of Astellas Japan Amendment, and recognized related drug product revenue 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_66710a77-02d9-4c87-b5bc-9fe89b0c1f79" contextRef="C_5fd2f689-43e5-415a-a8f0-f5d4113acb9e" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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 in the same period. During the fourth quarter of 2022, the Company fulfilled a shipment obligation under the terms of Astellas Japan Amendment, and recognized related drug product revenue 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_7122f1c4-7409-4fc1-a46d-34c735dfda10" contextRef="C_944cc16b-628e-41a3-9da5-57c2fd1d3af4" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">8.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 same period. In addition, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Japan Amendment with Astellas, and recorded a reduction to the drug product revenue 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_50ed28ae-09ae-4e2d-80d4-4cf01f83cd37" contextRef="C_3a551d59-4413-4dad-9089-62d8982fd068" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">8.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 during the year ended December 31, 2022. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect foreign currency translation impact, the changes in the estimated bulk product strength mix intended to be manufactured by Astellas, estimated cost to convert the API to bulk product tablets, and estimated yield from the manufacture of bulk product tablets, among others.</span><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;">During the second quarter of</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 2023, the Company fulfilled two shipment obligations under the terms of Astellas Japan Amendment, and recognized related drug product revenue 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_fc335f9b-7ac7-40b9-9c53-a81df16978b7" contextRef="C_350305bb-67f1-4838-8fda-595fba86d7f6" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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 in the same period. In addition, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Astellas Japan Amendment and accordingly recorded an adjustment to the drug product revenue 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_011e1138-0566-4ded-9b4c-df859472f9e9" contextRef="C_8dfca732-7b50-47d8-943b-06fd63bcd98e" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.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 for the year ended December 31, 2023. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect the changes in the estimated bulk product strength mix intended to be manufactured by Astellas, foreign exchange impacts and estimated yield from the manufacture of bulk product tablets, among others. </span><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 balances related to the API price true-up under the Astellas Japan Agreement 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_5ef8f303-c1a6-4708-8b5b-51ec1c0c3095" contextRef="C_e5865776-8614-4851-88a2-404a4fcb76fc" name="us-gaap:AccruedLiabilitiesCurrentAndNoncurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.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 accrued liabilities 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_5c8c8a2f-ac08-4f64-a437-5c57fa840da9" contextRef="C_e5865776-8614-4851-88a2-404a4fcb76fc" name="us-gaap:OtherLiabilitiesNoncurrent" 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 in other long-term liabilities, representing the Company&#8217;s best estimate of the timing for these amounts to be paid. As of December 31, 2022, the related balance in accrued liabilities 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_c889e306-6412-4c0d-92ae-7a860ab4ca10" contextRef="C_cbea3c93-cb87-4fd0-92f1-68dd8d6a141f" name="us-gaap:AccruedLiabilitiesCurrentAndNoncurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">6.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;">.</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: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;">123</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></ix:exclude><p style="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;font-style:italic;min-width:fit-content;">Astellas Europe 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;">During the first quarter of 2021, the Company transferred bulk drug product from process validation supplies for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement. The Company recorded the consideration 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_61b47e0f-5f52-473e-907e-e78abbbf6a6f" contextRef="C_60fc1003-c564-49ad-9ecb-143a72f055bf" name="us-gaap:ContractWithCustomerLiabilityCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">11.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 from this inventory transfer as deferred revenue as of December 31, 2021, due to a high degree of uncertainty associated with the final consideration. During the fourth quarter of 2021, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing 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_40746760-88a4-47a4-9632-96620744189c" contextRef="C_038dc011-9f80-4116-b2db-d0567bfd9eca" name="us-gaap:ManufacturingCosts" 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 as drug product revenue, and 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_d90370c0-03b3-4dd6-97b5-51b7860d4e9b" contextRef="C_4281c003-8942-42b2-a9c5-fed334a66d68" name="us-gaap:ContractWithCustomerLiabilityCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">8.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 as deferred revenue as of December 31, 2021, due to a high degree of uncertainty associated with the final consideration. In addition, during the fourth quarter of 2021, the Company updated its estimate of variable consideration related to the bulk drug product inventory transfers fulfilled under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recorded an unbilled contract asset 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_ef1c8a4e-13f7-44cc-98cb-b70c238d0faa" contextRef="C_60fc1003-c564-49ad-9ecb-143a72f055bf" name="us-gaap:Supplies" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">49.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, which was offset by related deferred revenue under the Astellas Europe Agreement and Astellas EU Supply Agreement. Specifically, the change in estimated variable consideration was based on the bulk drug product held by Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, among others.</span><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;">During the second quarter of 2022, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing 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_e8949883-3d1b-46d7-aeea-480823be50ff" contextRef="C_279b072f-52a6-407e-a314-08cdb607df5d" name="us-gaap:ManufacturingCosts" 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 as drug product revenue, and 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_8a51d905-105f-43f0-b1d6-8f82e69c6579" contextRef="C_caa04941-0a8b-4a4d-8b28-6962cc72f452" name="us-gaap:ContractWithCustomerLiabilityCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">23.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 as deferred revenue due to a high degree of uncertainty associated with the variable consideration for revenue recognition purposes. During the first quarter of 2022, the Company billed and received $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dff1d247-9df9-44fb-a466-d55a588ee591" contextRef="C_caa04941-0a8b-4a4d-8b28-6962cc72f452" name="us-gaap:BilledContractReceivables" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">49.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 from Astellas related to the annual transfer price true up for bulk drug product transferred for commercial purposes. This amount was recorded in deferred revenue and netted against an unbilled contract asset as of December 31, 2021. In addition, the Company updated its estimate of variable consideration related to the bulk drug product transferred in prior years. Specifically, the change in estimated variable consideration was based on the bulk drug product held by </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, forecast information, shelf-life estimates and other items. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As a result, during the year ended December 31, 2022, the Company reclassified a total 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_7170b61c-b4a1-419d-8a8e-52d4dcb9cf0e" contextRef="C_0eeb9ede-f956-4236-8777-2393b5f0c2a1" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">57.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 from the related deferred revenue to accrued liabilities</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, which was paid to Astellas 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing 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_21392a72-201b-4cd8-ab26-ebf358804f7e" contextRef="C_67c1856b-9aa2-42d6-bcf2-035ffc5afe02" name="us-gaap:ManufacturingCosts" 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 as drug product revenue, and 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_dcf2b832-c1dc-41e8-99b5-205277ff6590" contextRef="C_d77593e4-0d4f-419c-85a1-68133a695783" name="us-gaap:ContractWithCustomerLiabilityCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">17.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 as deferred revenue due to a high degree of uncertainty associated with the variable consideration for revenue recognition purposes. In addition, the Company updated its estimate of variable consideration related to the bulk drug product transferred in prior years. Specifically, the change in estimated variable consideration was based on the bulk drug product held by Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, forecast information, shelf-life estimates and other items. As a result, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for the year ended December 31, 2023, the Company reclassified $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3aa24fab-5c87-4ce3-ab31-904803c6716d" contextRef="C_9eafba01-7637-4c8c-9722-18817fd59cd3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">38.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 from the related deferred revenue to accrued liabilities. </span><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 related balance in accrued liabilities 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_3180603c-7a3e-4fc8-94cf-93ae373a897b" contextRef="C_0be7089b-5e8b-4f60-9296-67d70a1665d1" name="us-gaap:AccruedLiabilitiesCurrentAndNoncurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">38.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, representing the Company&#8217;s best estimate that this amount will be paid within the next 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:12pt;font-family:Times New Roman;margin-bottom: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 Company recognized royalty revenue 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_f4dca846-83f5-453f-8a7a-941605b5dc6f" contextRef="C_5f168ff8-6e2d-4722-88ad-0675b23ad132" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" 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 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_fe0fbf2e-ca9b-4d8e-b7d9-4caf15d31c60" contextRef="C_1d12f457-88cd-4946-b657-3aca06a7cfc0" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" 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 as drug product revenue from the deferred revenue under the Astellas Europe Agreement 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 and 2022, respectively. The remainder of the deferred revenue will be recognized as and when uncertainty is resolved, based on the performance of roxadustat product sales in the Astellas territory.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_5a469d64-e309-47b7-9552-69ea562cb064" contextRef="C_f9dd4cad-13bb-420f-b339-f11ab7f9f5b0" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 includes a roll-forward of the above-mentioned deferred revenues that are considered as contract liabilities related to drug product (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:10pt;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.5%;"/>
          <td style="width:1.56%;"/>
          <td style="width:1%;"/>
          <td style="width:7.9399999999999995%;"/>
          <td style="width:1%;"/>
          <td style="width:1.56%;"/>
          <td style="width:1%;"/>
          <td style="width:7.9399999999999995%;"/>
          <td style="width:1%;"/>
          <td style="width:1.56%;"/>
          <td style="width:1%;"/>
          <td style="width:7.9399999999999995%;"/>
          <td style="width:1%;"/>
          <td style="width:1.56%;"/>
          <td style="width:1%;"/>
          <td style="width:7.9399999999999995%;"/>
          <td style="width:1%;"/>
          <td style="width:1.56%;"/>
          <td style="width:1%;"/>
          <td style="width:7.9399999999999995%;"/>
          <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;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 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;">Balance at<br/>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>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Additions</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Recognized as Revenue</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Reclassified to Accrued Liability / Accounts Payable</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Balance at<br/>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:10pt;background-color:#cff0fc;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;min-width:fit-content;">Drug product revenue - deferred revenue:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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 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>
         <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;">Astellas Europe Agreement</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_b9f4d6b7-82c4-4fe6-a30e-884dd6082afe" contextRef="C_5434968c-8b40-4fc1-a1a8-450008108bed" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">40,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="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_5e0a5a8b-2de1-48b0-8fbd-f2318740a218" contextRef="C_97c91ca9-34fb-45af-b56f-7027b96b661d" name="fgen:ContractWithCustomerLiabilityAdditions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,674</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;"><ix:nonFraction id="F_1226d843-1a7d-4f9b-b2d8-ea727fe1e579" contextRef="C_97c91ca9-34fb-45af-b56f-7027b96b661d" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,306</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_a490b738-540b-4a7b-8636-8f1d0d7e056b" contextRef="C_97c91ca9-34fb-45af-b56f-7027b96b661d" name="fgen:ContractWithCustomerLiabilityReclassifiedToAccruedLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">38,746</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: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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_765e5bf4-f7d8-412f-9805-6e1d49b0cb61" contextRef="C_b9a48968-fbdd-410e-bb99-5866f6959b94" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,925</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="font-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: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;">124</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></ix:exclude></ix:nonNumeric></div><p style="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;font-style:italic;min-width:fit-content;">AstraZeneca U.S./RoW 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;">During the years ended December 31, 2021 and 2020, the Company shipped bulk drug product to AstraZeneca as commercial supply under the terms of the Master Supply Agreement. Based on the complete response letter issued by the U.S. Food and Drug Administration in August 2021, the Company evaluated the impact of these developments in revising its estimates of variable consideration associated with drug product revenue. As a result, the Company updated the estimated transaction price for these shipments, and 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_44123a90-04d5-4d63-b1c4-0ac5d799fc97" contextRef="C_eedcb0f0-0617-42c0-a213-1cfcbaac1e4e" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">11.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 as deferred revenue as of December 31, 2021. The related drug product revenue 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_756a0748-2f46-4141-be68-2930e9a12b51" contextRef="C_45b0924b-4cf9-4634-aa34-2d9e5b58e9b2" name="us-gaap:AccruedLiabilitiesCurrentAndNoncurrent" 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 for the year ended December 31, 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;">During the first quarter of 2022, the Company evaluated the current developments in the U.S. market, and updated its estimates of variable consideration associated with bulk drug product shipments to AstraZeneca in prior years as commercial supply. As a result, during the year ended December 31, 2022, the Company reclassified $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_257f48b8-b678-42f5-8caa-2da51dc598af" contextRef="C_62cc5d28-3094-491c-abaf-debcf049cd9b" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">11.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 from the related deferred revenue to accrued liabilities, which remained unchanged 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;">, representing its best estimate that this amount will be paid within the next 12 months.</span></p></ix:nonNumeric></div><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Eluminex Agreements</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 2021, FibroGen exclusively licensed to Eluminex Biosciences (Suzhou) Limited (&#8220;Eluminex&#8221;) global rights to its investigational biosynthetic cornea derived from recombinant human collagen Type III.</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 terms of the agreement with Eluminex</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, as amended and restated in January 2022, Eluminex made an $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_752d1c5c-1c9e-4b8e-981d-565c24ac8cc8" contextRef="C_31338077-02b7-4c18-989c-288b2b2d9129" name="fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">8.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 upfront payment to FibroGen during the first quarter of 2022. In addition, FibroGen may receive up to a total 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_6efd5b7d-2435-46d8-98af-f529c02c66e6" contextRef="C_430d9eae-1a54-416a-978f-bd8321e45644" name="fgen:FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">64.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 future manufacturing, clinical, regulatory, and commercial milestone payments for the biosynthetic cornea program, as well 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_f4f75853-cadc-4019-a62e-aaa72fe0be2a" contextRef="C_430d9eae-1a54-416a-978f-bd8321e45644" name="fgen:CommercialMilestone" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">36.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 commercial milestones for the first recombinant collagen III product that is not the biosynthetic cornea. FibroGen will also be eligible to receive mid single-digit to low double-digit royalties based upon worldwide net sales of cornea products, and low single-digit to mid single-digit royalties based upon worldwide n</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">et sales of other recombinant human collagen type III products that are not cornea 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;min-width:fit-content;">The Company accounted for this agreement 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;">Revenue from Contracts with Customers</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, and identified </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d70b701e-8c58-487b-8af8-c6796293fcc0" contextRef="C_6f1ce090-d670-4f43-ac8a-9596b7e8371f" name="fgen:NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement" unitRef="U_PerformanceObligation" decimals="0" 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;"> performance obligation at inception of the agreement related to the granting of the license rights to the investigational biosynthetic cornea derived from recombinant human collagen Type III. The Company based its assessment on the determination that Eluminex can benefit from the granted license on its own by developing and commercializing the underlying product using its own resources. All components of the transaction price in the agreement were allocated to the single performance obligation. The remaining future variable consideration related to future manufacturing, clinical, regulatory milestone payments as described above were fully constrained because the Company cannot conclude that it is probable that a significant reversal of the amount of cumulative revenue recognized will not occur, given the inherent uncertainties of success with these future milestones. For commercial milestones and royalties, the Company determined that the license is the predominant item to which the royalties or sales-based milestones relate and revenue will be recognized when the corresponding milestones and royalties are earned.</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: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;">125</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></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 April 2023, FibroGen and Eluminex entered into an Amended and Restated Exclusive License Agreement (&#8220;A&amp;R Eluminex Agreement&#8221;) in order to add to the license rights to recombinant human collagen Type I (in addition to the rights to collagen Type III that were already licensed). The A&amp;R Eluminex Agreement included additional total upfront payments 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_d3a37d84-acf5-41d0-8012-a08d74f63112" contextRef="C_d6f21aa5-889c-4dfa-9ce2-92fcb4d2b9ea" name="fgen:CollaborativeArrangementAdditionalUpfrontPayments" 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.</span><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 year ended December 31, 2023, the Company 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_24e40db1-1b93-45bb-9bba-658bc336e6bd" contextRef="C_67bbdbe1-8f4e-4610-9ba5-d4238cbd9b72" name="fgen:MilestonePayments" 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 milestone payment based on Eluminex implanting a biosynthetic cornea in the first patient of its clinical trial in China, 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_95cba34e-6f37-4c86-87a0-ff17bd61bf7d" contextRef="C_67bbdbe1-8f4e-4610-9ba5-d4238cbd9b72" name="fgen:ManufacturingRelatedMilestonePayments" 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 manufacturing related milestone payment 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_89a935f8-e7f6-4eec-9866-868e07f3fdef" contextRef="C_4467ce7e-b010-490e-a6db-a3392c21a6be" name="fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" 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 upfront payment, as license revenue for the performance obligation satisfied </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and included in license revenue in the consolidated statement of operations. In addition, the Company </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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_41563018-213d-4b23-8df2-fc25ff09597d" contextRef="C_690e25a2-ec5a-4009-bdbb-c779cf8ed79f" name="fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.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 upfront payment related to patent transfer under the A&amp;R Eluminex Agreement as other revenue a</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">nd included in development and other revenue in the consolidated statement 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;">During the year ended December 31, 2021, the Company recognized </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">an $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8e8e7fd0-42b3-41db-9e60-1ed6af13e24a" contextRef="C_9bb9c8cc-d8e2-4d0a-8c34-8cd9bc2465d5" name="fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">8.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 upfront payment to FibroGen </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">as license revenue for the performance obligation satisfied and included in license revenue in the consolidated statement 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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the first quarter of 2022, FibroGen and Eluminex entered into a separate contract manufacturing agreement, under which the Company was responsible for supplying the cornea product at cost plus </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f42ed665-3a38-4e70-8704-8517ef8caa8a" contextRef="C_1478897f-b5f7-4307-85d3-8cd748c125a8" name="fgen:PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred" 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 its product manufacturing costs until its manufacturing technology is fully transferred to Eluminex, which occurred by the end of 2023. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Supply of the cornea product will be managed by a separate agreement and is considered a separate performance obligation. The related contract manufacturing revenue was recorded as other revenue and included in development and other revenue in the consolidated statement 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="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b72c4be4-f454-439a-a3f4-f08565c9b931" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:DeferredRevenueByArrangementDisclosureTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amounts recognized as revenue under the agreements with Eluminex were as follows 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 (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: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:12.665%;"/>
        <td style="width:1.701%;"/>
        <td style="width:33.593%;"/>
        <td style="width:1.701%;"/>
        <td style="width:1%;"/>
        <td style="width:13.645000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.701%;"/>
        <td style="width:1%;"/>
        <td style="width:13.645000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.701%;"/>
        <td style="width:1%;"/>
        <td style="width:13.645000000000001%;"/>
        <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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">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;">Agreement</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;"><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;">Performance Obligation</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: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;">Eluminex</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;">License 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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c1a50e94-10af-46e7-86ad-edcc2ecc111b" contextRef="C_93ffb450-1880-454f-a54a-cc29f02c3ef5" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,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_068bc781-40ea-475b-a26c-def37627815c" contextRef="C_08f88332-7bd7-4b3e-a5b2-dccb6c95e96e" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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_c5b371c6-ec49-4c02-a0d4-cef37f1684ae" contextRef="C_a5b0c087-4f4c-40c8-b327-d49d0cd24f70" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,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>
       </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="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="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;">Other revenue - patent transfer</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3de60726-4dd8-46a9-a310-addaea927839" contextRef="C_7718419f-135a-4b31-a47b-8736a1cdf919" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">500</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_08407433-67b6-4957-89c0-9bead821874f" contextRef="C_3778ef7d-b3a4-43a0-9dd0-7b8f411e5e1b" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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_fb733dce-46d9-45c5-b879-55e6f3f5be76" contextRef="C_4b8deb87-19cc-4154-ab8b-67e803401639" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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;">Other revenue - contract manufacturing</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_973465db-f793-4dd1-ae46-0d08da92c05d" contextRef="C_450cc1af-f17c-47be-95eb-1fc474c3abe9" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aa192788-37a9-4d96-b08e-608cb768f107" contextRef="C_f457bb67-f098-4369-aa8d-abe429fcd9aa" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,761</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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_05e674a2-8545-4a2a-a27d-8736afa9ef53" contextRef="C_506b093a-27a1-4916-ab54-8d4bebdcb0a3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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>
      </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:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_3aab13cc-546f-4c28-b898-1a195ffa8785" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:BusinessCombinationDisclosureTextBlock" escape="true"><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:8pt;font-family:Times New Roman;margin-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;">4.	Exclusive License and Option to Acquire Fortis Therapeutics</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;">On May 5, 2023 (the &#8220;Option Acquisition Date&#8221;), the Company entered into an exclusive option agreement to acquire Fortis Therapeutics (&#8220;Fortis&#8221;) with its novel Phase 1 antibody-drug conjugate, FOR46 (now referred to as &#8220;FG-3246&#8221;), that targets a novel epitope on CD46 preferentially expressed on certain cancer cells. FG-3246 is in development for the treatment of metastatic castration-resistant prostate cancer with potential applicability in other solid tumors and hematologic malignancies.</span><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 an evaluation agreement entered into with Fortis concurrent with the option agreement (together the &#8220;Fortis Agreements&#8221;), FibroGen has exclusively licensed FG-3246 and will control and fund future research, development, including a Phase 2 clinical study sponsored by FibroGen, and manufacturing of FG-3246 during the up-to four-year option period. As part of the clinical development strategy, FibroGen will continue the work to develop a PET-based biomarker utilizing a radiolabeled version of the targeting antibody for patient selection.</span><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 guidance under ASC 810, the Company determined that Fortis is a VIE and that the Company is the primary beneficiary of Fortis, as through the Fortis Agreements the Company has the power to direct activities that most significantly impact the economic performance of Fortis. Therefore, the Company consolidated Fortis starting from the Option Acquisition Date, and continues to consolidate as of December 31, 2023. The transaction was accounted for as an asset acquisition 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;">Business Combinations</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, as substantially all of the fair value of the gross assets acquired is concentrated in a single identifiable IPR&amp;D asset.</span><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 of the consideration transferred 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_f860e8e9-f680-4c56-afd7-ab3f8394c39d" contextRef="C_a0e42a78-4719-467d-8c18-7cc053055418" name="us-gaap:BusinessCombinationConsiderationTransferred1" unitRef="U_USD" scale="3" decimals="-3" format="ixt-sec:numwordsen">zero</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. If FibroGen exercises the option to acquire Fortis, it will pay Fortis an </span><span style="color:#212529;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">option exercise payment </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_5123ba86-73ce-4534-9308-b506b637438c" contextRef="C_a0e42a78-4719-467d-8c18-7cc053055418" name="fgen:PaymentToOptionsExercised" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">80.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 thereafter, legacy Fortis shareholders would be eligible to receive from FibroGen 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_51c061b1-4725-4b2f-9897-ffb1b3b6f796" contextRef="C_a0e42a78-4719-467d-8c18-7cc053055418" name="us-gaap:PaymentForContingentConsiderationLiabilityInvestingActivities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">200.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 contingent payments associated with the achievement of various regulatory approvals. If FibroGen acquires Fortis, it would also be responsible to pay UCSF, an upstream licensor to Fortis, development milestone fees and a single digit royalty on net sales of therapeutic or diagnostic products arising from the </span><span style="color:#212529;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">licensing arrangement between Fortis and UCSF</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. If FibroGen chooses not to acquire Fortis, its exclusive license to FG-3246 would expire.</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: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;">126</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></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 Company is obligated to make four quarterly payments 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_f3e08f5e-f74b-4bb0-acaf-3cde0a66a1aa" contextRef="C_a0e42a78-4719-467d-8c18-7cc053055418" name="fgen:ProductDevelopmentCosts" 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 to Fortis in support of its continued development obligations. The Company determined that these payments should not be included in the purchase consideration, as those payments are payable to Fortis rather than to its shareholders.</span><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;">Fortis has authorized and issued common shares and Series A preferred shares. As of the Option Acquisition Date and December 31, 2023, the Company owned 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_f70d9d6a-beb1-4716-883e-f8b084a6223d" contextRef="C_820f5f16-8e7a-4f93-9e1e-f71123569725" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal"><ix:nonFraction id="F_e8dea086-a4c2-4eb4-8765-50488c5dfefd" contextRef="C_d7483c7b-f5cb-4e41-9fe5-b9cd6457e3b0" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">2</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;">% of Fortis&#8217; Series A preferred shares, which was acquired previously and carried at zero cost. The NCI attributable to the common shares is classified as nonredeemable NCI, as it 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_278ee93f-3442-4c3c-97d9-a9a30e61c743" contextRef="C_d466837a-1b7a-43b4-a3be-2605701edfdb" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" unitRef="U_pure" scale="-2" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_f42629cf-dd0e-42f6-a21f-4754c8a1dbeb" contextRef="C_79c00df0-8cd9-4b34-bb56-18329568f281" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" unitRef="U_pure" scale="-2" decimals="INF" format="ixt:num-dot-decimal">100</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;">% owned by third party shareholders. The NCI attributable to the 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_c0244b51-7d91-4a37-8718-8797262ffc12" contextRef="C_697e6687-689f-4ae6-b087-e8ac61423b43" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal"><ix:nonFraction id="F_86291590-9d6b-49e9-93d7-f6fdb2935381" contextRef="C_1521386c-8756-4786-95dd-fc2446b96cf2" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">98</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;">% of Series A preferred shares owned by other investors are classified as redeemable NCI in temporary equity, as the preferred shares are redeemable by the non-controlling shares holders upon occurrence of certain events out of the Company&#8217;s control.</span><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;">Subsequent to the Option Acquisition Date, Fortis&#8217; net income is allocated to its common shares and preferred shares based on their respective stated rights. Fortis&#8217; net loss is allocated to its common shares only as the holders of preferred shares do not have a contractual obligation to absorb such 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 style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_2454df6d-02cb-42f5-a639-c744ef3a5037" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 allocation of purchase consideration based on estimated fair values of the acquired assets (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: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:74.905%;"/>
        <td style="width:2.16%;"/>
        <td style="width:1%;"/>
        <td style="width:20.936%;"/>
        <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;"><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;">Estimated Fair Value as of the Option Acquisition Date</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: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;">Purchase 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;">&#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="background-color:#ffffff;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="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>
       <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;">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;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-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;">
        <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;">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_da41aa21-7bb1-4926-b146-b4bef02a46fc" contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">656</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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_22739564-9fbe-4548-90ec-df0de8381a5a" contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" 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>
       </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;">IPR&amp;D 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:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_803f4822-0f05-434c-9dff-7b99d9f7bd2a" contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419" name="fgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,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>
       </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;font-weight:bold;min-width:fit-content;">Total 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_e0268d18-9d1f-47ea-a16f-eb17a7c5e6e4" contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,138</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;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>
       </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;">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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       <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 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_e2c57625-02ac-490b-a5fd-29cabb7c428a" contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,671</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Accrued and other current 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;"><ix:nonFraction id="F_18f10e05-791b-4609-91c4-d0026b2029cc" contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419" name="fgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">703</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;font-weight:bold;min-width:fit-content;">Total 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;"><ix:nonFraction id="F_30cd8b3f-92f3-4b8b-86ad-87bd17f40b63" contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,374</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;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:#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="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>
       <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;">Redeemable non-controlling interests</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dc745de8-f747-4bf4-8b49-e94656bdc456" contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419" name="fgen:RedeemableNonControllingInterests" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,480</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Nonredeemable non-controlling interests</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ad3fb24d-d4dc-4a12-afeb-130b9ded0a8d" contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419" name="us-gaap:NonredeemableNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">520</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="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;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 #ffffff03;"><p style="font-size:10pt;margin-top:0;font-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:#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;font-weight:bold;min-width:fit-content;">Net identifiable assets, liabilities and non-controlling interests</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_00c9d375-b563-4f5f-92cc-933bb86e3965" contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">236</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <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;font-weight:bold;min-width:fit-content;">Loss on asset acquisition</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_407aba60-08a5-4287-a8b2-a21aab95f547" contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419" name="fgen:LossOnAssetAcquisition" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">236</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:2pt;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:2pt;font-family:Times New Roman;margin-bottom: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 a third party valuation specialist to determine the fair value of the IPR&amp;D assets using a risk-adjusted net present value discounted cash flow model (the &#8220;rNPV&#8221;) with the following key assumptions: (i) estimated cash flow forecasts of peak sales, sales penetration, remaining IPR&amp;D related product development costs, and other related general and administrative costs; (ii) probabilities of technical success of future underlying Phase II and Phase III clinical trials and ensuing probability of regulatory approval related to the IPR&amp;D assets; and (iii) estimate of a risk-adjusted 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_985250f1-fbe0-4e31-8211-1a86a8e44b09" contextRef="C_12b09a60-f1ba-489d-80a0-5d51865c7616" name="us-gaap:AlternativeInvestmentMeasurementInput" unitRef="U_pure" scale="0" decimals="1" format="ixt:num-dot-decimal">16.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%. The acquired IPR&amp;D assets were determined to have no alternative future use. Accordingly, the Company expensed fair value of the acquired IPR&amp;D assets 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_7a7b72d6-bc75-4989-a457-d3c0d85e54a6" contextRef="C_986055b0-2f1f-4054-9df7-989f9b942219" name="fgen:FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">24.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 as research and development expense in the consolidated statements of operations for the year ended 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;">The fair value of Fortis (enterprise value) and the fair value of nonredeemable NCI and redeemable NCI were determined based on the above-mentioned </span><span style="color:#212529;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">option exercise payment </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_8c8aad1e-f6dc-4b98-a203-b7014e9e491b" contextRef="C_a0e42a78-4719-467d-8c18-7cc053055418" name="fgen:PaymentToOptionsExercised" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">80.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 payments 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_69b44864-dc94-4c88-9ef4-b07b8d782dfc" contextRef="C_a0e42a78-4719-467d-8c18-7cc053055418" name="us-gaap:PaymentForContingentConsiderationLiabilityInvestingActivities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">200.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, weighted with probability and expected timing of the underlying events consistent with the assumptions under the rNPV, and discounted by the Company&#8217;s estimated market level cost of debt.</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, total assets and liabilities of Fortis were immaterial. For the period from the Option Acquisition Date to December 31, 2023, Fortis&#8217; net income (losses) was immaterial.</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: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;">127</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>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7976607f-dd87-4b40-8d81-564f36dce801" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:VariableInterestEntityDisclosureTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5.	Equity method investment - Variable Interest Entity</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;">Falikang is a distribution entity jointly owned by AstraZeneca and FibroGen Beijing. FibroGen Beijing owns </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a627df2b-cb90-49b4-ae66-f14d7d578b15" contextRef="C_0e9698e7-fcf9-4952-8342-d9f58d82f63c" name="us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired" unitRef="U_pure" scale="-2" decimals="3">51.1</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 shares of Falikang.</span><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 guidance under ASC 810, the Company concluded that Falikang qualifies as a VIE. As Falikang is a distribution entity and AstraZeneca is the final decision maker for all the roxadustat commercialization activities, the Company lacks the power criterion, while AstraZeneca meets both the power and economic criteria under the ASC 810 to direct the activities of Falikang that most significantly impact its performance. Therefore, the Company is not the primary beneficiary of this VIE for accounting purposes. As a result, the Company accounts for its investment in Falikang under the equity method, and Falikang is not consolidated into the Company&#8217;s consolidated financial statements. The Company records its total investments in Falikang as an equity method investment in an unconsolidated VIE in the consolidated balance sheet. In addition, the Company recognizes its proportionate share of the reported profits or losses of Falikang as investment gain or loss in unconsolidated VIE in the consolidated statement of operations and as an adjustment to its investment in Falikang in the consolidated balance sheet. The Company may provide shareholder loans to Falikang to meet necessary financial obligations as part of its operations. To date, there has been no such loans. During the year ended December 31, 2023, the Company received $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a9d5248-ac86-4b10-a3ca-592e162e3347" contextRef="C_061a0b90-7f05-4b23-b2ae-a660d9e924e5" name="us-gaap:InvestmentIncomeDividend" 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 of dividend distribution from Falikang.</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_b4aa7e2c-2809-4d5d-b0a7-247b7da98866" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:EquityMethodInvestmentsTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 equity method investment in Falikang was as follows 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 (in thousands):</span></p><p style="font-size:10pt;margin-top:12pt;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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:10.864%;"/>
        <td style="width:1.401%;"/>
        <td style="width:1%;"/>
        <td style="width:8.564%;"/>
        <td style="width:1%;"/>
        <td style="width:1.861%;"/>
        <td style="width:1%;"/>
        <td style="width:14.466000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.861%;"/>
        <td style="width:1%;"/>
        <td style="width:9.644%;"/>
        <td style="width:1%;"/>
        <td style="width:1.861%;"/>
        <td style="width:1%;"/>
        <td style="width:9.644%;"/>
        <td style="width:1%;"/>
        <td style="width:1.861%;"/>
        <td style="width:1%;"/>
        <td style="width:9.644%;"/>
        <td style="width:1%;"/>
        <td style="width:1.861%;"/>
        <td style="width:1%;"/>
        <td style="width:14.466000000000001%;"/>
        <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;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;">Entity</span></p></td>
        <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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;">Ownership Percentage</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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;">Balance at<br/>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>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Share of Net Income</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Dividend Received</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Currency<br/>Translation</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Balance at<br/>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: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;">Falikang</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3016d5a5-c550-41b8-a95f-1513c029b1ec" contextRef="C_936d7fe1-23ee-4503-9a14-9385a4290304" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" unitRef="U_pure" scale="-2" decimals="3">51.1</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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_5ccc02dd-e094-4ba5-b259-feac965a7305" contextRef="C_9db542ad-7e55-49ed-aab4-8fbed025472e" name="us-gaap:EquityMethodInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,061</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_e5d55d6a-8969-4be6-8777-716d1d760c83" contextRef="C_a454d238-654d-4e8a-81ff-f9b70bc9f678" name="us-gaap:IncomeLossFromEquityMethodInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,638</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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4abe1041-16e2-44d0-a3ad-a4827ec8794d" contextRef="C_a454d238-654d-4e8a-81ff-f9b70bc9f678" name="us-gaap:InvestmentIncomeDividend" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,255</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_7c31f435-9e84-45d4-b902-95b0cf281b99" contextRef="C_a454d238-654d-4e8a-81ff-f9b70bc9f678" name="fgen:EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation" unitRef="U_USD" scale="3" decimals="-3" sign="-">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_9456de51-42cd-42ed-ae3a-3d946ac3c19d" contextRef="C_936d7fe1-23ee-4503-9a14-9385a4290304" name="us-gaap:EquityMethodInvestments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,290</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:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Falikang is considered as a related party to the Company. See Note 16, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Related Party Transactions</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for related disclosures.</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 an ongoing basis, the Company re-evaluates the VIE assessment based on changes in facts and circumstances, including but not limited to, the shareholder loans received by Falikang and the execution of any future significant agreements between Falikang and its shareholders and/or other third parties. In addition, t</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">he Company assesses the impairment of its equity method investment whenever events or changes in circumstances indicate that a decrease in value of the investment has occurred that is other than temporary. There has been no such event or change in circumstances to date.</span></p></ix:nonNumeric></div>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">6.	</span><span><ix:nonNumeric id="F_22f56a31-6f0e-44e2-bdb1-3bea3d70fbc7" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:FairValueDisclosuresTextBlock" escape="true" continuedAt="F_22f56a31-6f0e-44e2-bdb1-3bea3d70fbc7_1"><span><ix:nonNumeric id="F_9fe5db93-2dba-4a11-8456-37efe2cee54b" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock" escape="true" continuedAt="F_9fe5db93-2dba-4a11-8456-37efe2cee54b_1"><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></ix:nonNumeric></span></ix:nonNumeric></span></p>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_22f56a31-6f0e-44e2-bdb1-3bea3d70fbc7_1"><div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_9fe5db93-2dba-4a11-8456-37efe2cee54b_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-size:10pt;font-family:Times New Roman;min-width:fit-content;">In accordance with the authoritative guidance on fair value measurements and disclosures under U.S. GAAP, the Company presents all financial assets and liabilities and any other assets and liabilities that are recognized or disclosed at fair value on a nonrecurring basis. The guidance defines fair value, establishes a framework for measuring fair value in generally accepted accounting principles and expands disclosures about fair-value measurements. The guidance also requires fair value measurements be classified and disclosed in one of the following three categories:</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Level 1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">: Quoted prices in active markets for identical assets or liabilities.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Level 2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">: Observable inputs other than quoted prices in active markets for identical assets or liabilities.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Level 3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">: Unobservable inputs.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="t0"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company values certain assets and liabilities, focusing on the inputs used to measure fair value, particularly in instances where the measurement uses significant unobservable (Level 3) inputs. The Company&#8217;s financial instruments are valued using quoted prices in active markets (Level 1) or based upon other observable inputs (Level 2). The Company&#8217;s assessment of the significance of a particular input to the fair value measurement in its entirety requires management to make judgments and considers factors specific to the asset or liability. In addition, the categories presented do not suggest how prices may be affected by the size of the purchases or sales, particularly with the largest highly liquid financial issuers who are in markets continuously with non-equity instruments, or how any such financial assets may be impacted by other factors such as U.S. government guarantees. Assets and liabilities measured at fair value are classified in their entirety based on the lowest level of input that is significant to the fair value measurement. The availability of observable data is monitored to assess appropriate classification of financial instruments within the fair value hierarchy. Depending upon the availability of such inputs, specific securities may </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">transfer between levels. In such instances, the transfer is reported at the end of the reporting period.</span></p></ix:continuation></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: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;">128</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></ix:exclude><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_e7fb2cd7-6b08-420e-a856-62f7d7e4ec29" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 values of the Company&#8217;s financial assets that are measured on a recurring basis are as follows (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:10pt;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:36.867%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:12.222000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:12.222000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:12.222000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:12.222000000000001%;"/>
        <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;">Level 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;">Level 2</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;">Level 3</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;">Total</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;">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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9fca51ac-47ff-4a71-81c3-5cf8d7ff5ad2" contextRef="C_8eb581ca-daaf-4614-8f29-d32923f44ed1" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,288</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fc738b29-e458-4757-b708-abf34d4c91cc" contextRef="C_2492c0a5-092b-4db0-ab54-2cb41fb20024" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_544753ca-3a30-4fb0-89a7-d1d447f0883a" contextRef="C_988a3f12-4d3b-4634-b6df-a7201ce3185c" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bc9d8bdb-af3e-40cf-9038-9f7d155b38b0" contextRef="C_70f4531d-ca48-4f5a-869a-abd180a9ca96" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,288</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_963e20e2-9447-4edb-bb99-d26d17901695" contextRef="C_a7d36e78-cbfd-4b7f-a8c5-3cb3bd2490e5" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2527a30c-ae51-4df7-9d9a-859fa401ff3e" contextRef="C_1d84acbb-5f03-4d4b-8e85-b915043554c7" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6388c1c8-c942-40d8-9253-eed1101906e9" contextRef="C_56d0e822-a684-4ff1-839c-68f1dfbb7504" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fdbb57e5-e1c6-4900-b51a-9299c0c40cf5" contextRef="C_fb3fc31f-e16b-44ac-a3e3-31af42d00b5f" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,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>
       </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;">Commercial paper</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_31faee73-9a85-444d-b8db-60e7f657de3b" contextRef="C_9d890592-a822-4a3d-b597-99d33459cbb9" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8028a6ff-5eaa-4807-935b-9f2523de5580" contextRef="C_70c0f8ea-eb0a-42c1-92aa-243d905a2ba6" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">88,289</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ddd34794-15f1-4950-8cfe-910ee189f33b" contextRef="C_b0d269b5-195b-4d57-92a7-c9011f90c4f8" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fe2767ad-28da-42d5-a516-ba545e583853" contextRef="C_690ba101-7bcf-45b4-93ab-f75ecd71059c" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">88,289</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f2a816a3-476b-4b7a-ad86-2ca100c20717" contextRef="C_b10232b4-a607-4beb-b644-228d14e03827" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">42,797</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dfea06d9-7fd6-4668-99f3-96d5cce94402" contextRef="C_4677bbd5-396e-460a-b9ea-1a8ef3003d69" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,994</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d5f39bac-a2c9-4e6a-99d1-5d71a56a4454" contextRef="C_3d3f82e4-4816-4489-814c-866d2684ba8a" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_04cbced6-cfbd-471e-8ed4-fbe60f8538e6" contextRef="C_f879e501-9478-46ef-a0a3-e2a2f87ba539" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">47,791</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c7adee1d-528b-42fc-a4fa-fa2c1ea2ba25" contextRef="C_89cd8d98-4602-4f81-a61b-d4c8ef1c1072" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4e3f203b-2d81-4956-a821-aec65b0a5544" contextRef="C_e0dba2f4-2e6e-4443-a2cc-ab934480fa42" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,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_c9e83cd7-58d3-4e13-9df9-4d2a1572c55f" contextRef="C_7a4df5dc-804a-4240-84b6-1c6503fbfd52" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b206c420-0902-4359-a831-6611cd2bddcf" contextRef="C_ec4572d4-87c0-4490-a5ed-bd108b5fac84" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,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>
       </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</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bb5a34c2-cb1c-48a4-8325-f7f948c69c91" contextRef="C_7f882109-50f6-410b-bd71-d6aee5676342" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">55,085</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c0ea0bf-7bdc-419f-b604-9e5d0bb3f14b" contextRef="C_fb7c0467-3dd7-4a7d-8bdc-fe7a383febc7" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">117,105</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_81737fd7-1ddd-42c8-801a-aaa38bde5616" contextRef="C_c60666af-5915-44bf-9839-b31f58215399" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ce97bec7-93b2-4b80-9c01-4723e5f51712" contextRef="C_1cda9703-aeb4-445a-b6b1-adf222eadc12" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">172,190</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;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>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <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;">Level 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;">Level 2</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;">Level 3</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;">Total</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;">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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3dccea9f-44aa-45a7-8a37-0ba386a107e0" contextRef="C_b31fe196-c209-4ef2-9448-6a212cb030e3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,881</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_44ab3bf2-445b-4894-8145-74fdfe029c68" contextRef="C_112d19ca-27a2-469c-8f59-37ee2038176f" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_297f7d47-c59f-4c91-b531-072a8994598e" contextRef="C_222c8437-de38-43f8-96f8-8c1bcc2afec6" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_95acf7e8-f9ab-4b3d-901c-cbfea2718583" contextRef="C_56a03efb-f6a6-465a-ae75-afed946d1ab2" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,881</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_18a40113-ee92-40aa-9f30-a1f0ac54e551" contextRef="C_e948d7d6-4033-4805-9359-234a74d76217" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_163a6d99-45a7-458b-af51-c88ed4d788e3" contextRef="C_a1bf767b-4c9c-475d-9944-9f21f37f5d35" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,008</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e360f479-f843-441d-af37-fa90baac065b" contextRef="C_88a9527f-c19c-4262-9a0b-0c86673d1614" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7663ccf5-c4eb-4a7d-9fe9-fe60695ccc77" contextRef="C_b0dd58a0-ab0d-4e16-9fee-d4c7c815b5a9" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,008</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Commercial paper</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b0f45ed-d630-49d7-a24c-fcb262f0bc5d" contextRef="C_c61bb21b-1985-402e-81d6-06df73323bb4" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_24f03eb3-7df4-463b-aca2-33660fe861cf" contextRef="C_ded8be4c-3bff-46bc-8353-7ded2d8b525a" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">57,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_8a172f7e-4714-43c7-b068-a8c9256acb50" contextRef="C_daef42d2-df58-4844-9670-0dbd9e4afb13" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c74663f-f19e-483a-9081-3438180b3dce" contextRef="C_e665c10a-3d2b-4ec4-8bde-27f0bccf1d4f" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">57,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>
       </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. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_72a557d0-850d-40c7-bff6-a191697f68d9" contextRef="C_e86a2990-803e-4f7b-a835-1af10a81cf5c" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">98,972</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c95a64d-b6b2-46cb-b4fe-99081a4acb00" contextRef="C_f29fd6eb-9bd2-496a-b4d7-1aa33757bd06" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_61c841f5-f886-4b3c-ae83-649dadf8b15c" contextRef="C_db7b6315-4893-4093-a8e3-4f206f41e360" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_45d3cd31-1336-47c3-b0c2-be3ec44e3a3b" contextRef="C_9c928c5d-22e1-46f8-bb0e-197d157ef959" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">111,345</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6cd3b20a-9d9a-4faf-954e-b3dd4bbe04d8" contextRef="C_7560889c-d789-4d6d-900a-30785ab39b33" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_22cb7f57-78dc-4df9-a0e5-07f0e178ce9d" contextRef="C_51eeb100-a8cf-4f3c-9d36-38c654db3929" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,468</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_13967ed4-785a-4f47-8b23-ddfa375c2a49" contextRef="C_d23bf171-219a-4e80-b1f1-e64e5cd1757e" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_55b4f17e-6606-444c-8e66-68021b6aa7ee" contextRef="C_36ecc7bf-c41d-460b-92f3-3ab64b425d0e" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,468</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Asset-backed 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3f242eba-2671-4137-9004-36b9b0440d70" contextRef="C_a1db9951-e8e6-483c-abeb-2ea1de5b512e" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c5e14a31-aec2-4f5a-b5f7-8bd78d4ad3c4" contextRef="C_c075cc89-6b9f-4627-a708-e7978888b2d5" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,474</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f9f3666b-d146-4b03-8c1f-f27fb1f1ac5d" contextRef="C_51afc4dc-9629-4c33-9580-80d7c32dc761" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_feaf14e7-b7d6-434b-8d13-fb602d5e4ea6" contextRef="C_b912fa2f-c4c4-4113-912b-a71f8ce9fde9" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,474</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Foreign government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_900d589c-db77-4f81-b5ad-13a15e9b7f77" contextRef="C_347617c4-c1a5-4907-b38b-a86639c20bc8" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_57eb835a-f0ec-483e-af06-5904e312d011" contextRef="C_abbae10e-c5f9-4774-bf94-bad4b1bc9b52" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eb3d7b83-2b5a-457d-a20d-7424f49b0149" contextRef="C_81733a62-ea6b-4fb8-ac1a-6361b593f3a9" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_57d221d6-1778-49e7-9f05-82f509bf4c05" contextRef="C_88505922-bad8-4351-92b5-ba7d82e86b0b" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,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;">Convertible promissory note</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_335e5794-1682-4053-8023-09a658c4f481" contextRef="C_449f708b-00d7-40ff-a656-df58936be1ca" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_01e15856-fcbb-4766-956d-3ef8fd382a20" contextRef="C_e89e03ad-6968-4126-8e82-d384cf6625eb" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" 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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_24c46222-6c7a-40bd-b46b-13d50e744ee4" contextRef="C_ebd00914-687d-46b8-9d96-a90abc45db5b" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2d1c07fb-6075-4e0c-99f6-0535d432f26c" contextRef="C_baf4e5d4-5795-4d34-8c60-de3fb2853bcb" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,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="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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_601a4f2f-2720-4dfc-a820-89695161c0d9" contextRef="C_b3f9d51b-4276-43fa-baaf-623b7b0b5c83" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">118,853</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_d9946415-820d-489a-b75e-152576c6d7c5" contextRef="C_d5360206-f3de-41b6-ad8b-c2f52de6903e" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">170,684</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_fd8f57ba-8d04-4f7b-8f68-4a82c65f58ce" contextRef="C_2a9fd702-bb23-464b-9bb3-bd219552aacc" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,000</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_3d6a7fea-b3b4-4706-949c-1b585cd7b8e2" contextRef="C_dd069db0-06fc-4779-860f-d968de38ad92" name="us-gaap:AssetsFairValueDisclosure" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">290,537</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:10pt;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: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 Level 2 investments are valued using third-party pricing sources. The pricing services utilize industry standard valuation models, including both income and market-based approaches, for which all significant inputs are observable, either directly or indirectly, to estimate fair value. These inputs include reported trades of and broker/dealer quotes on the same or similar investments, issuer credit spreads, benchmark investments, prepayment/default projections based on historical data and other observable inputs. During the years ended December 31, 2023 and 2022, the transfers of assets between levels was a total 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_dfbc7d23-6fec-466e-886d-17ed24d441c7" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:FairValueAssetsLevel1ToLevel2TransferAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">20.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 $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9375b615-2a2c-4ade-ac55-fbfae6996929" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:FairValueAssetsLevel1ToLevel2TransferAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">10.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 transfer from Level 1 to Level 2, respectively, as such US treasury notes and bills were changed to off-the-run when they were issued before the most recent issue and were still outstanding at measurement day. There 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_f8ebc414-81b4-4f2c-8528-d4263eb09e99" contextRef="C_51790052-a00c-4d1f-b3b3-7bef5e668b8a" name="fgen:FairValueAssetsLevel1ToLevel2TransferAmount" unitRef="U_USD" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_4e5aec19-61ad-481f-bc06-f3d3c255a7d1" contextRef="C_51790052-a00c-4d1f-b3b3-7bef5e668b8a" name="fgen:FairValueAssetsLevel2ToLevel1TransferAmount" 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;"> </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_7af5f620-a6f5-43d7-8a81-a22096889955;"><span style="-sec-ix-hidden:F_a9c32616-f234-43aa-8b52-b408f0688471;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">transfers</span></span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of assets between levels for the year ended December 31, 2021.</span></p></ix:continuation></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_565ba961-1856-4cf3-a26a-00738d6d0c69" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:LeasesDisclosureTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7.	Leases</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 long-term property lease with Alexandria for its corporate headquarters in San Francisco, California, had an initial term of </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_25043562-0ce2-49be-8902-13e33d6bec88" contextRef="C_53afc120-1223-45ae-a543-af15c842403d" name="us-gaap:LesseeFinanceLeaseTermOfContract1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">15</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, scheduled to expire in </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_876b7e9b-d1bf-459f-821f-794836899cfb" contextRef="C_9db76bb1-b3a5-45e5-aaea-7106d4b50ec2" name="fgen:LesseeFinanceLeaseExpirationPeriod"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 original lease was accounted for as a finance lease. <br/></span><span style="color:#000000;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:2pt;font-family:Times New Roman;margin-bottom: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 1, 2021, the Company entered into an amendment with Alexandria to extend the lease to </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b181f80b-1f5b-44d9-b120-25aab55e7969" contextRef="C_186be332-a1c2-4e53-84ff-55113081329f" name="fgen:LesseeFinanceLeaseAdditionalLeaseExpirationPeriod"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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;"> (&#8220;Lease Amendment&#8221;). </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4d6df748-3589-4888-8ca7-6d1ccd257067" contextRef="C_186be332-a1c2-4e53-84ff-55113081329f" name="us-gaap:LesseeFinanceLeaseOptionToExtend"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the terms of the Lease Amendment, the Company has </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_40d244dd-190a-4f5f-9a3f-d43c0bfccdc4" contextRef="C_186be332-a1c2-4e53-84ff-55113081329f" name="fgen:NumberOfOptionalRightsToExtendLease" unitRef="U_Option" decimals="INF" format="ixt-sec:numwordsen">two</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> optional rights to each </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cd54ddd4-199e-4491-a5c4-b85a02efba83" contextRef="C_186be332-a1c2-4e53-84ff-55113081329f" name="us-gaap:LesseeFinanceLeaseExistenceOfOptionToExtend" format="ixt:fixed-true"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">extend</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 lease for an additional </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_d723db14-8d4d-4813-9706-93f4367eeb27" contextRef="C_186be332-a1c2-4e53-84ff-55113081329f" name="fgen:LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm" 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></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The lease contract provides for a fixed annual rent, with scheduled increases 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_de0833f2-e7e5-4631-bab8-a48fe9795a5b" contextRef="C_186be332-a1c2-4e53-84ff-55113081329f" name="fgen:PercentageIncreasesOnEachAnniversaryOfRentCommencementDate" unitRef="U_pure" scale="-2" decimals="2" format="ixt-sec:numwordsen">two</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> percent that occur on each anniversary of the rent commencement date through </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7dba4b03-2aff-444b-bf0f-eb9ae8cab372" contextRef="C_186be332-a1c2-4e53-84ff-55113081329f" name="fgen:ScheduledRentCommencementYearOptionOne"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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;">, and with scheduled increases 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_f33bc8ef-173d-46f7-aee4-77410ea6bd7a" contextRef="C_186be332-a1c2-4e53-84ff-55113081329f" name="fgen:PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo" unitRef="U_pure" scale="-2" decimals="2" format="ixt-sec:numwordsen">three</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> percent that occur on each anniversary of the rent commencement date through </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_2dd99076-b749-44c6-bffa-f722cb00a38f" contextRef="C_186be332-a1c2-4e53-84ff-55113081329f" name="fgen:ScheduledRentCommencementYearOptionTwo"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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;">. This lease requires the Company to pay all costs of ownership, operation, and maintenance of the premises, including without limitation all operating costs, insurance costs, and taxes.</span><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 Company determined that the Lease Amendment was a lease modification, effective June 1, 2021, and thus reassessed the lease classification, remeasured the related lease liability using an updated discount rate, and adjusted the related right-of-use asset under the lease modification guidance under the ASC 842. Accordingly, on June 1, 2021, the Company determined that the modified lease be accounted for as an operating lease, and therefore derecognized the previous finance lease right-of-use asset 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_7370918c-fd83-4069-8814-f2636705f3e5" contextRef="C_f112fe27-cd15-4629-a0b6-afc4a980ea28" name="us-gaap:FinanceLeaseRightOfUseAsset" unitRef="U_USD" scale="6" decimals="-5">24.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 related finance lease 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_07509935-fb35-4384-bb91-2c716cad1c47" contextRef="C_f112fe27-cd15-4629-a0b6-afc4a980ea28" name="us-gaap:FinanceLeaseLiability" unitRef="U_USD" scale="6" decimals="-5">32.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 recognized an operating lease right-of-use asset 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_b2ac3a26-76f9-4233-a799-a5b2778ab396" contextRef="C_f112fe27-cd15-4629-a0b6-afc4a980ea28" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="6" decimals="-5">93.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 related operating lease 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_6c8ab93f-f06b-4472-b4cb-3badf54b50a0" contextRef="C_f112fe27-cd15-4629-a0b6-afc4a980ea28" name="us-gaap:OperatingLeaseLiability" unitRef="U_USD" scale="6" decimals="-5">101.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. Starting June 1, 2021, the cash payment related to this lease was classified as an operating activity.</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 first quarter of 2021, after FibroGen Beijing&#8217;s previous long-term lease agreement expired, the Company entered into a new lease agreement with the landlord for the same pilot plant located in Beijing Yizhuang Biomedical Park of BDA. The new lease term is </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_388791d8-42bb-45fd-a22f-5a7ac0ede545" contextRef="C_cc135707-aa68-4991-8e25-405841d96721" name="us-gaap:LesseeOperatingLeaseTermOfContract" 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 year</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, scheduled to expire in </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_587c7331-813c-4bbd-b7b0-e210471e79d5" contextRef="C_89069d82-173b-486d-b18a-12e0ed848777" name="fgen:LesseeOperatingLeaseExpirationPeriod"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2026</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, and is treated as an operating lease. Accordingly, 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_8a912e34-a4e2-4577-aa87-d1955f443969" contextRef="C_cc135707-aa68-4991-8e25-405841d96721" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="6" decimals="-5"><ix:nonFraction id="F_fa1ec07c-41a0-4e10-a7cd-87662861383b" contextRef="C_cc135707-aa68-4991-8e25-405841d96721" name="us-gaap:OperatingLeaseLiability" unitRef="U_USD" scale="6" decimals="-5">3.4</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 in the operating right-of-use assets and total operating lease liabilities, respectively. The lease contract provides for fixed quarterly rent payments, and requires the Company to pay operating and maintenance costs.</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: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;">129</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></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 currently has several additional real estate leases for office spaces in Shanghai and Beijing, China, which are treated as operating leases. These leases have lease terms ranging from </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_c2593476-76e4-4f28-a5db-a97a3c46c121;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">one</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_69aae668-754a-417c-870b-0d381a21b3df" contextRef="C_db1c0239-aeb1-4148-8dfe-f3b5578ab393" name="us-gaap:LesseeOperatingLeaseTermOfContract" 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;">, expiring in </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a5c9bb0a-6f3d-4ca5-9f88-ca824ae00206" contextRef="C_4ee03e1e-6501-4b6d-977d-f1e6fc2a7874" name="fgen:LesseeOperatingLeaseExpirationPeriod"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2026</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. These lease contracts provide for fixed quarterly rent payments, and require the Company to pay operating and maintenance costs, and a fixed amount for property management fees.</span><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, the Company has several immaterial lease arrangements in China and U.S. for office equipment and automobile leases, with contracted lease terms ranging from </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_8e85a034-f27b-4aca-9e79-82a8f7ef2519;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">one</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_c97d5223-dfb7-41aa-b634-1ccbaf644d42" contextRef="C_2ce15aee-90af-4927-a5c8-a4a1f974398a" name="us-gaap:LesseeOperatingLeaseTermOfContract" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">six 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;">, treated as finance leases or operating leases.</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_cfd18988-cbcb-4875-ac34-bc8a61b837aa" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock" escape="true"><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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s lease assets and related lease liabilities were as follows (in thousands):</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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:36.28%;"/>
        <td style="width:34.36%;"/>
        <td style="width:1.02%;"/>
        <td style="width:1%;"/>
        <td style="width:11.66%;"/>
        <td style="width:1%;"/>
        <td style="width:1.02%;"/>
        <td style="width:1%;"/>
        <td style="width:11.66%;"/>
        <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;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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: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;"><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;">Balance Sheet Line Item</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: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:10pt;background-color:#cff0fc;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;">Assets</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:#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;">Finance:</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="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;">Right-of-use assets cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aeae8ca7-e25e-4c59-b464-2dcc18941696" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:FinanceLeaseRightOfUseAssetsCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,478</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a33c93e4-6d48-415b-8d47-7072f5de2995" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:FinanceLeaseRightOfUseAssetsCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,367</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Accumulated amortization</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_ec3bc9d8-ee8a-4fe4-83fb-992bf94126f2" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:FinanceLeaseAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,325</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_10457441-4b65-4d4e-bd66-e4688c4b5d63" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:FinanceLeaseAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,932</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;">Finance lease right-of-use assets, net</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><span style="-sec-ix-hidden:F_b44be62d-5204-417d-8837-1e45bd5dd09f;"><span style="-sec-ix-hidden:F_73b7a46f-561b-4f66-8700-e955b456ad1f;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></span></span></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_2984e74d-cbe3-42a7-959e-096329b5209b" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:FinanceLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">153</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_77cd9e1c-25db-4846-8082-0a84a68faeaa" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:FinanceLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">435</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">Operating:</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: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:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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;">Right-of-use assets cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8864d5ab-7e94-4983-b5f9-7c13d0219d77" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:OperatingLeaseRightOfUseAssetsCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">103,010</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97b276a9-9226-46d6-b159-06ca44733acf" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:OperatingLeaseRightOfUseAssetsCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">101,990</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Accumulated amortization</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_b22c8d4c-3c06-441a-b2f1-381f2ea13fa2" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:OperatingLeaseAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34,917</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_66681940-a726-436a-8f75-44318b593736" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:OperatingLeaseAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,097</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;">Operating lease right-of-use assets, net</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;">Operating lease right-of-use assets</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_1df92900-9a20-4d75-bee6-1748d409a88d" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">68,093</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: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_f7befc00-57ce-4b32-a5dd-68d6cb355218" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">79,893</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:25pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:25pt;text-indent:0;font-size:10pt;margin-top: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 lease assets</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: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_d1c31f59-a6c1-435e-ba79-ddd1478cebd9" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:FinanceLeaseAndOperatingLeaseAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">68,246</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: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_56689155-665c-4bf1-abfe-8298ee0e77fc" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:FinanceLeaseAndOperatingLeaseAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">80,328</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:#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="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="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:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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: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;">Liabilities</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;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;">Current:</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:#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;">Finance 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><span style="-sec-ix-hidden:F_79975e56-b464-43de-aee3-7997152e9a97;"><span style="-sec-ix-hidden:F_4843918f-50da-42e9-9edd-e9aec5e36569;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued and other current liabilities</span></span></span></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_34b794e6-3fc7-4bb2-96a6-9c1bed1e29d3" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:FinanceLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" 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="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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f9bbcbd2-80be-4896-90cd-d68b41226a05" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:FinanceLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">36</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 lease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liabilities, 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_283af6b2-e488-416e-907f-ec5aff91c5b4" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,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_4615e22a-b32b-44f9-a531-c4d9ce7e197d" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,292</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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-current:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       </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;">Finance lease 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><span style="-sec-ix-hidden:F_5a2a9269-135e-4529-b640-63b2d92ecbbc;"><span style="-sec-ix-hidden:F_6f1a9fbe-5bf0-4be8-adbe-2502374befd0;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term liabilities</span></span></span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c7ab0053-a990-4294-883f-175034eaa67c" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:FinanceLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">104</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f20ff5ea-5082-41dc-b52c-36e825fe415b" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:FinanceLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">137</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Operating lease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liabilities, non-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;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_874de837-a732-4a1a-bb4c-cdafe14fdb34" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">66,537</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_ddab75f1-f3c2-4bcb-8740-edbe67ac320e" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">79,593</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 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:pre-wrap;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_6cf4c715-93cc-4cd8-a831-c41bec2c136e" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:FinanceLeaseAndOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">80,758</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: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_0ca72abd-e5d0-448d-83b6-be60c6235ba9" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:FinanceLeaseAndOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">90,058</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><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_f6148e44-c2ea-481c-b7a7-f712d4256039" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:LeaseCostTableTextBlock" escape="true"><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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of lease expense were as follows (in thousands):</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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:25.965%;"/>
        <td style="width:34.127%;"/>
        <td style="width:1.6%;"/>
        <td style="width:1%;"/>
        <td style="width:9.862%;"/>
        <td style="width:1%;"/>
        <td style="width:1.36%;"/>
        <td style="width:1%;"/>
        <td style="width:9.862%;"/>
        <td style="width:1%;"/>
        <td style="width:1.36%;"/>
        <td style="width:1%;"/>
        <td style="width:9.862%;"/>
        <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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;">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;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;">Statement of Operations Line Item</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: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:10pt;background-color:#cff0fc;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;min-width:fit-content;">Finance lease cost:</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>
        <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:#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 <br/>&#160;&#160;&#160;right-of-use assets</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;">Cost of goods sold; <br/>Research and development; <br/>Selling, general and administrative expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="color:#000000;min-width:fit-content;">$</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;"><ix:nonFraction id="F_c26e2924-df75-4f2c-86ab-d800c4d0a632" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">412</ix:nonFraction></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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="color:#000000;min-width:fit-content;">$</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;"><ix:nonFraction id="F_6bf99e41-3006-47e1-ab29-e5d6596b152d" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">587</ix:nonFraction></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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="color:#000000;min-width:fit-content;">$</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;"><ix:nonFraction id="F_5462cb2f-51eb-483a-a2e9-01d1a4106280" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,639</ix:nonFraction></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>
       </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;">Interest on lease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c0102817-c39e-4042-96bb-125b4afc0485" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:FinanceLeaseInterestExpense" 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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d72ab55-44d0-4664-aa13-161777f8049f" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:FinanceLeaseInterestExpense" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1cf0115d-294e-443e-af98-fd5fa60dba08" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:FinanceLeaseInterestExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">628</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of goods sold; <br/>Research and development; <br/>Selling, general and administrative expenses</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_a53456b8-9906-49c7-8a7e-0703b183adaf" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:OperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,006</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a961334d-13b8-4391-8b0f-b5e0265cc2e2" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:OperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,125</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a6fbc417-d7fb-45b4-a99f-b8673f017fe0" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:OperatingLeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,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>
       </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;">Sublease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_ec0611c6-ebb5-4042-8e66-da43f0e56334" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:SubleaseIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,024</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_239bade1-e09f-4120-a385-b034b4d482df" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:SubleaseIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,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="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_fca359a7-4d59-43b8-bce7-150f66a73378" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:SubleaseIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,271</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: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 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:pre-wrap;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_f31fd15b-0430-419a-a65b-c0c28ef428df" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:LeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,395</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: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_261cc37e-4dad-44df-bc65-978731dffcaf" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:LeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,339</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: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:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_03e5bb2b-1b62-4a70-8b74-1320da4de828" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:LeaseCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,718</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="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: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;">130</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></ix:exclude></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_55b52f0a-0301-466b-9a6f-a9fd6ec739c7" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock" escape="true"><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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Supplemental cash flow information related to leases were as follows (in thousands):</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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:60.616%;"/>
        <td style="width:1.461%;"/>
        <td style="width:1%;"/>
        <td style="width:9.748%;"/>
        <td style="width:1%;"/>
        <td style="width:1.341%;"/>
        <td style="width:1%;"/>
        <td style="width:9.748%;"/>
        <td style="width:1%;"/>
        <td style="width:1.341%;"/>
        <td style="width:1%;"/>
        <td style="width:9.748%;"/>
        <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;"><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;">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;"><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:10pt;background-color:#cff0fc;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 paid for amounts included in the measurement of lease liabilities:</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>
        <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:#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;">Operating cash flows from 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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_55b252d2-2981-4b1f-9a06-2e8bba2dcd4b" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:OperatingLeasePayments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d217b9cc-5b6e-4c56-b1bb-a5e884890a22" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:OperatingLeasePayments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,497</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d8407772-869a-4c1f-acec-dbcfaf06bec3" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:OperatingLeasePayments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,022</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 cash flows from finance 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_25784864-3a2f-4328-bdf0-fb969c5bb2ab" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ab860473-996f-40b9-ae1c-22a34780c7c4" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" 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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a166837-49d4-4e8f-8a15-c96c3c0abf94" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">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>
       </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;">Financing cash flows from finance leases</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_70fb42b9-8e56-49c3-89ee-9234abe4071c" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:RepaymentsOfFinanceLeaseLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">148</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_77e565a2-bba8-43f3-bdd7-2be011191be7" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:RepaymentsOfFinanceLeaseLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">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: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_aab798fe-f556-4cf9-9c5b-e261760b2a55" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:RepaymentsOfFinanceLeaseLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,489</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">Non-cash: Right-of-use assets obtained in exchange for new lease liabilities:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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;">Finance 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_9955eefd-c90c-4611-9ee1-05d6e2bafb4b" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">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: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_2229ffd6-0dd3-41da-bb42-f220beeb8002" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">261</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8e1134ff-3f75-4c08-9a73-996624c2d91b" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" 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="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_3e4b33b8-56e6-4e35-abf0-1221fe2829da" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,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="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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_347c01b5-d1c8-4f90-b44d-e2ec174d20af" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,704</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d465ffc6-a3c2-4d48-be8c-27bf9385d1d0" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,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;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;">Non-cash: Increase (decrease) resulting from lease modification:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <tr style="height:10pt;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Finance 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_c7580062-2b70-4427-8fc8-6242a8905486" contextRef="C_9c462f04-8f46-44ab-ab72-a2ccd536adb1" name="us-gaap:FinanceLeaseRightOfUseAsset" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0f9ace03-fa1b-4f22-9b69-06363bd42313" contextRef="C_240dc063-7178-44cb-a041-3d7802e9afbe" name="us-gaap:FinanceLeaseRightOfUseAsset" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_4bc6601a-5414-4d49-b7f3-142c9e6b72c0" contextRef="C_e570d502-9900-4211-a721-4abaa783f4e3" name="us-gaap:FinanceLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,654</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">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_2ef29775-805a-4046-b990-c61c927f6435" contextRef="C_9c462f04-8f46-44ab-ab72-a2ccd536adb1" name="us-gaap:OperatingLeaseRightOfUseAsset" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_14fa6dff-783a-4b35-a5b3-1a4a9f6a1864" contextRef="C_240dc063-7178-44cb-a041-3d7802e9afbe" name="us-gaap:OperatingLeaseRightOfUseAsset" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9fb251a7-5677-4900-83aa-11d2e7fb5da3" contextRef="C_e570d502-9900-4211-a721-4abaa783f4e3" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">93,222</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Finance lease liabilities, 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_675d2712-d61a-4cfb-97d3-df41ce7a1ea2" contextRef="C_9c462f04-8f46-44ab-ab72-a2ccd536adb1" name="us-gaap:FinanceLeaseLiabilityCurrent" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c444fa11-e40f-4c6b-a359-bbf40b8dcf66" contextRef="C_240dc063-7178-44cb-a041-3d7802e9afbe" name="us-gaap:FinanceLeaseLiabilityCurrent" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_b50735e4-6546-41be-b6ec-6c0ddce2af90" contextRef="C_e570d502-9900-4211-a721-4abaa783f4e3" name="us-gaap:FinanceLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,587</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Operating lease liabilities, 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3078e20d-aac9-4d57-9528-8c07ae378cf3" contextRef="C_9c462f04-8f46-44ab-ab72-a2ccd536adb1" name="us-gaap:OperatingLeaseLiabilityCurrent" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_869119c3-6f71-423c-87bc-ddfe1d7b7604" contextRef="C_240dc063-7178-44cb-a041-3d7802e9afbe" name="us-gaap:OperatingLeaseLiabilityCurrent" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5f1d4963-c4f2-433d-9ac6-734d1b7eea3d" contextRef="C_e570d502-9900-4211-a721-4abaa783f4e3" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,221</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Finance lease liabilities, non-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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41a68ab6-9b26-4604-a7e2-2fc2b88afa74" contextRef="C_9c462f04-8f46-44ab-ab72-a2ccd536adb1" name="us-gaap:FinanceLeaseLiabilityNoncurrent" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ddaea0ad-4e5c-48e0-ba21-4ec25864e880" contextRef="C_240dc063-7178-44cb-a041-3d7802e9afbe" name="us-gaap:FinanceLeaseLiabilityNoncurrent" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_ba786ce0-71ec-44b4-9120-eae5459c1a5d" contextRef="C_e570d502-9900-4211-a721-4abaa783f4e3" name="us-gaap:FinanceLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,009</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">Operating lease liabilities, non-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_0366d2a4-23ea-42af-9ff7-9802277c7c82" contextRef="C_9c462f04-8f46-44ab-ab72-a2ccd536adb1" name="us-gaap:OperatingLeaseLiabilityNoncurrent" 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: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_cc9b2309-58c0-4c63-a827-5e96ab31192a" contextRef="C_240dc063-7178-44cb-a041-3d7802e9afbe" name="us-gaap:OperatingLeaseLiabilityNoncurrent" 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: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_ceed096c-00ba-4472-a3df-de574b92ba49" contextRef="C_e570d502-9900-4211-a721-4abaa783f4e3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">91,943</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_eff43dd2-ff02-4f07-a2c3-341b6c272fdc" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ScheduleOfLeaseTermAndDiscountRateTableTextBlock" escape="true"><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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Lease term and discount rate were as follows:</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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.52%;"/>
        <td style="width:1.82%;"/>
        <td style="width:1%;"/>
        <td style="width:19.42%;"/>
        <td style="width:1%;"/>
        <td style="width:1.82%;"/>
        <td style="width:1%;"/>
        <td style="width:19.42%;"/>
        <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;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 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;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:#cff0fc;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;min-width:fit-content;">Weighted-average remaining lease term (years):</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:#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;">Finance 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><ix:nonNumeric id="F_cf7bdc18-447c-4e63-a98e-8a275b7751eb" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.9</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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_5617db67-e7ba-4ca1-b72f-8bd768203a86" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.9</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:#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><ix:nonNumeric id="F_367da166-c654-49f4-a273-65c892bd0c89" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.8</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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_7c808e98-72b0-4fff-9848-779d7d549324" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.8</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;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;min-width:fit-content;">Weighted-average discount rate:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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;">Finance leases</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_340c76c7-2b37-4c9a-b0ef-110fe9a7d1a2" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">6.17</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1317e7ee-9c46-4b18-906f-1d7d299e187e" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">6.20</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">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_a2b24663-d639-4d1f-b54e-5c749a5ecb38" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" unitRef="U_pure" scale="-2" decimals="4">4.75</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_3e9bf48d-5658-463e-b3b1-312a519eec35" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" unitRef="U_pure" scale="-2" decimals="4">4.75</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_70f029a9-6491-4e21-9cdb-21b6ec6ca560" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Maturities of 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 (in thousands):</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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.52%;"/>
        <td style="width:2.28%;"/>
        <td style="width:1%;"/>
        <td style="width:18.959999999999997%;"/>
        <td style="width:1%;"/>
        <td style="width:2.28%;"/>
        <td style="width:1%;"/>
        <td style="width:18.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:bottom;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;">Year Ending 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;">Finance Leases</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;">Operating Leases</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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d195e95d-5121-4a40-b615-c711016ad3f8" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" unitRef="U_USD" scale="3" decimals="-3">47</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa4855e6-428f-431e-94b0-6664152f86ee" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,554</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29fb26cb-d3e5-41a5-a3a5-d8737e07692f" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo" unitRef="U_USD" scale="3" decimals="-3">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dca60791-afc5-45e7-bdfc-89bb41c7ebdd" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">18,836</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e3f14ee7-11a4-4a76-b0ec-8e3ccea6013b" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree" unitRef="U_USD" scale="3" decimals="-3" 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a9da340a-de93-4abf-8fa1-a434ea8a44c5" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">18,082</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ef478594-7102-4436-927b-afa9504b1e44" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour" unitRef="U_USD" scale="3" decimals="-3" 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bd1910fe-c5e0-4ed4-8fa1-300eb21ccbd3" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">18,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:#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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f2270fdd-87c6-44ce-a510-bf279e295597" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive" 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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4551393-7dc7-4f58-82d0-f42bc7461c0d" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,401</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 future lease payments</span></p></td>
        <td style="white-space:pre-wrap;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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3a2a2eb9-be9b-474e-97e9-4b8b555705e8" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:FinanceLeaseLiabilityPaymentsDue" unitRef="U_USD" scale="3" decimals="-3">162</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f29fa37-0628-445a-9418-a95ca9356463" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">90,349</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Less: Interest</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_54c36024-86e7-4518-8b1d-8b15ef1ac184" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount" unitRef="U_USD" scale="3" decimals="-3">18</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: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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_4c335c6e-d24b-4f97-824c-934c54651b15" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,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:#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;">Present value of lease liabilities</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b03bbfe7-7993-4bd3-a58f-6b60d5869aa9" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:FinanceLeaseLiability" unitRef="U_USD" scale="3" decimals="-3">144</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: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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9092f808-1a84-4fc2-8370-1e7bd4e5c40a" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:OperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">80,614</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:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_1443a1f1-1637-42e4-ae70-c96e033c2b93" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:SupplementalBalanceSheetDisclosuresTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8.	Balance Sheet Components</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;">Cash and Cash Equivalents</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_36f9025a-371b-4bea-a4fe-01daa1277895" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock" escape="true"><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;">Cash and cash equivalents consisted of the following (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.52%;"/>
        <td style="width:2.28%;"/>
        <td style="width:1%;"/>
        <td style="width:18.959999999999997%;"/>
        <td style="width:1%;"/>
        <td style="width:2.28%;"/>
        <td style="width:1%;"/>
        <td style="width:18.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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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;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:#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</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5a0e998d-eeef-46e2-a4cf-672d6687f04b" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:Cash" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">63,396</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e1ac666f-a0a0-4c87-9f5f-6563e31b09ba" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:Cash" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">135,819</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Commercial paper</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0ec8183e-2946-4668-b9bd-a787d4d7f10c" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:CommercialPaperAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">36,016</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8083da87-3d9b-4439-a53d-8a66a5639c15" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:CommercialPaperAtCarryingValue" 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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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 funds</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_27e0fb00-316f-472d-ab4d-8e8acb7aaa6e" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:MoneyMarketFundsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,288</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f9252622-f845-405c-9a19-1c906bd68310" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:MoneyMarketFundsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,881</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">U.S. government bonds</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_27a7b6da-ca1a-4011-91bd-348fff2be75c" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:USGovernmentSecuritiesAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,988</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_4a3dffbf-5b71-4054-8af7-512929216cc1" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:USGovernmentSecuritiesAtCarryingValue" 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:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top: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: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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f1039524-7197-4c99-92f8-30ab62dbde6a" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">113,688</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_ae5500e6-a680-4a63-a70f-129505449cb9" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">155,700</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:12pt;font-family:Times New Roman;margin-bottom: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 and 2022, a total 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_60172144-d229-4fc6-8960-7f2f36864cf5" contextRef="C_78954666-d61e-45a3-b159-f9ed78d25d35" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" 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</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="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_62b4f304-39c5-4948-95f9-18e5a4b0f5e3" contextRef="C_9c5dfa5d-d4c1-46d3-b755-cf68faa21d1b" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">92.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;">, respectively, of the Company&#8217;s cash and cash equivalents were held outside of the U.S. in its foreign subsidiaries to be used primarily for its China operations.</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: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;">131</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></ix:exclude><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Investments</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ec424f70-9ccc-481d-be68-b3aa173f897f" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" escape="true"><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 investments consist primarily of available-for-sale debt investments. The amortized cost, gross unrealized holding gains or losses, and fair value of the Company&#8217;s investments by major investments type are summarized in the tables below (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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:36.867%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:12.222000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:12.222000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:12.222000000000001%;"/>
        <td style="width:1%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:12.222000000000001%;"/>
        <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;">Amortized 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 Unrealized<br/>Holding 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 Unrealized<br/>Holding 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:#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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d34aeb87-900e-4a85-a711-09434afcf824" contextRef="C_812a6f56-e692-4550-8ae1-9a38563137f6" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,988</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0b87732a-f996-4b05-ac8b-7db3a94511b5" contextRef="C_812a6f56-e692-4550-8ae1-9a38563137f6" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_159b59fe-f2b3-483e-8f31-e3e6187bca65" contextRef="C_812a6f56-e692-4550-8ae1-9a38563137f6" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_05540a15-ee0d-46a4-92ea-6e2fa3b7aa75" contextRef="C_812a6f56-e692-4550-8ae1-9a38563137f6" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,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>
       </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;">Commercial paper</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_57897741-af9e-4274-a4bc-e973b2b34309" contextRef="C_0d2a1068-530a-4790-a599-651e1d85cf2a" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">52,273</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a1ea9c3-1d40-43eb-84f4-b04a606ee67a" contextRef="C_0d2a1068-530a-4790-a599-651e1d85cf2a" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_35f014c3-8c3f-43b7-8ef2-88183abd16d2" contextRef="C_0d2a1068-530a-4790-a599-651e1d85cf2a" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2ce2178c-8872-4c4f-b92e-adae29b50b04" contextRef="C_0d2a1068-530a-4790-a599-651e1d85cf2a" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">52,273</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_73b4be4d-9e2c-4e50-8e7c-fbf867f8639a" contextRef="C_5d37be62-0ace-4193-a87d-c84ddb509bba" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">45,783</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2262e154-cca2-432e-bc06-a5af44dbd5d4" contextRef="C_5d37be62-0ace-4193-a87d-c84ddb509bba" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_394011ca-6b2b-4833-b371-626ddadfddf2" contextRef="C_5d37be62-0ace-4193-a87d-c84ddb509bba" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_96087b92-7c00-4a78-b5e2-29e5ce145e47" contextRef="C_5d37be62-0ace-4193-a87d-c84ddb509bba" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">45,803</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d25e71ea-49e2-4db1-bac6-44b8dfbd237b" contextRef="C_715f1e78-0df3-4b9d-9435-742afc271ff3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,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_704a411f-c3d9-42aa-ac83-366469add7b4" contextRef="C_715f1e78-0df3-4b9d-9435-742afc271ff3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" 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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_633e14ed-8e1b-4e44-96d3-6902021577f9" contextRef="C_715f1e78-0df3-4b9d-9435-742afc271ff3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" 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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_1eb8d30e-d9ce-41c4-a997-86e980150eee" contextRef="C_715f1e78-0df3-4b9d-9435-742afc271ff3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,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>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;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 investments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b9405044-fe81-4468-9473-e8aea948ca77" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">121,874</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2cc76474-d23f-42ff-9cd2-b986a894b530" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_70c1d6e2-a4a5-4d35-bc6b-fccd003468b2" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_834f4fbc-69a2-4620-be5a-914e347ad049" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">121,898</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <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;">Amortized 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 Unrealized<br/>Holding 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 Unrealized<br/>Holding 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:#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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c98f374c-d363-4ca5-acd8-0dd558a9254e" contextRef="C_5a5f9f5b-e4e9-46ab-9c78-53b944ad3e49" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">83,080</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a53f7e7-1e95-48e8-8ace-6fa55acea9f7" contextRef="C_5a5f9f5b-e4e9-46ab-9c78-53b944ad3e49" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_ec2452c5-d9d4-46b5-b5f4-1c26db3f4d6b" contextRef="C_5a5f9f5b-e4e9-46ab-9c78-53b944ad3e49" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,072</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_a5f49a5c-4bcb-43a0-95e8-0ec9a5083cff" contextRef="C_5a5f9f5b-e4e9-46ab-9c78-53b944ad3e49" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,008</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Commercial paper</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d398a566-5f79-42ea-b639-784eb5701784" contextRef="C_1ec5d821-c9b4-4746-b661-4463e8a030f2" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">57,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_a9a5f584-cf8e-4642-828d-e239f49ccf28" contextRef="C_1ec5d821-c9b4-4746-b661-4463e8a030f2" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cf61d9af-fd1f-4523-a5f9-e07f0cc8b892" contextRef="C_1ec5d821-c9b4-4746-b661-4463e8a030f2" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a74f67a-b833-4e30-9825-1b1e0c873e33" contextRef="C_1ec5d821-c9b4-4746-b661-4463e8a030f2" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">57,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>
       </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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eba55f35-7d76-483a-9960-d2f9ba59e6bf" contextRef="C_9760f380-8f65-48ec-9aa0-021fab8935c0" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">112,547</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fb1564ce-a992-4cbc-9e43-fcaa3e318ec5" contextRef="C_9760f380-8f65-48ec-9aa0-021fab8935c0" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_2c7e0b02-48af-4d67-a9ec-b1ef20418ee1" contextRef="C_9760f380-8f65-48ec-9aa0-021fab8935c0" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,207</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_e8a55912-da7c-4a2f-8fe7-cb39b308b293" contextRef="C_9760f380-8f65-48ec-9aa0-021fab8935c0" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">111,345</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f83241ee-9d2d-475a-9914-03d02e061485" contextRef="C_f26887a3-0ec9-464e-8561-473ed3c3a56c" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,690</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7f5289d2-ab3c-4428-80d5-437c8d2c1d2f" contextRef="C_f26887a3-0ec9-464e-8561-473ed3c3a56c" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_ee7b169e-2cb7-458b-af15-32a6f2b38b90" contextRef="C_f26887a3-0ec9-464e-8561-473ed3c3a56c" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">222</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_63e9bae8-d269-42b2-8477-4b11ee830594" contextRef="C_f26887a3-0ec9-464e-8561-473ed3c3a56c" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,468</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Asset-backed securities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d846ea4-7eac-42da-84c7-b3c2fe6f76a0" contextRef="C_98e838d9-2839-491a-8c1f-691bbdb1d1b2" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,484</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_44a1c7ea-14d2-4384-836f-b131028c452d" contextRef="C_98e838d9-2839-491a-8c1f-691bbdb1d1b2" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_e60273bf-6d06-4b88-893a-2fa2d73e9bc9" contextRef="C_98e838d9-2839-491a-8c1f-691bbdb1d1b2" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" 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="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_0b34072f-129b-4e34-8f4e-83e5dd445db2" contextRef="C_98e838d9-2839-491a-8c1f-691bbdb1d1b2" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,474</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Foreign government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_788b3029-93d0-40ad-a0de-be42bce4c682" contextRef="C_53f09f2b-cf2e-493c-aca3-d328fef636de" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,007</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_42e6c717-85b5-47ad-b5cc-690b1ba482a4" contextRef="C_53f09f2b-cf2e-493c-aca3-d328fef636de" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_8b50a97c-d6b4-4be9-8002-03fc43e79330" contextRef="C_53f09f2b-cf2e-493c-aca3-d328fef636de" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_222a2794-b323-4e28-8c3f-7f3062c65af9" contextRef="C_53f09f2b-cf2e-493c-aca3-d328fef636de" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,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:#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;">Convertible promissory note</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c97d4a5c-0fa8-47ac-bca9-cef1701eed9b" contextRef="C_d4d3a4ad-58d7-4cd6-8f7c-476693909649" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3a2f10b7-b932-4cc4-bbfb-9f97738a063f" contextRef="C_d4d3a4ad-58d7-4cd6-8f7c-476693909649" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" 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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4d62a21e-3171-4b65-90e7-c8b597e57e65" contextRef="C_d4d3a4ad-58d7-4cd6-8f7c-476693909649" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" 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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_628d2200-2291-4252-a2df-acac5b9d6d60" contextRef="C_d4d3a4ad-58d7-4cd6-8f7c-476693909649" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,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="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: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 investments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e600214c-7aa6-4b7d-bc81-e44ea729aa01" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">273,189</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_bcf82b72-7d7d-465d-98ca-3d86c4bc530d" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5</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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_50f6f5b4-1d81-4a0e-b244-53c8c362eb99" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,538</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_f07b951a-7faa-44c9-a539-89120d47dc55" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">270,656</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><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_1bdd8805-c9ba-4f2e-9097-970877ece68e" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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, for all available for sale securities in an unrealized loss position, the fair value and gross unrealized loss by length of time the security has been in a continual unrealized loss position (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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:23.44%;"/>
        <td style="width:1.26%;"/>
        <td style="width:1%;"/>
        <td style="width:9.5%;"/>
        <td style="width:1%;"/>
        <td style="width:1.26%;"/>
        <td style="width:1%;"/>
        <td style="width:9.5%;"/>
        <td style="width:1%;"/>
        <td style="width:1.26%;"/>
        <td style="width:1%;"/>
        <td style="width:9.5%;"/>
        <td style="width:1%;"/>
        <td style="width:1.26%;"/>
        <td style="width:1%;"/>
        <td style="width:9.5%;"/>
        <td style="width:1%;"/>
        <td style="width:1.26%;"/>
        <td style="width:1%;"/>
        <td style="width:9.5%;"/>
        <td style="width:1%;"/>
        <td style="width:1.26%;"/>
        <td style="width:1%;"/>
        <td style="width:9.5%;"/>
        <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="22" style="vertical-align:bottom;border-bottom:0.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="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;">Less than 12 Months</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="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;">12 Months or More</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="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;">Total</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;">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>
        <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 Unrealized<br/>Holding 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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Unrealized<br/>Holding 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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Unrealized<br/>Holding 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>
       </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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_33c16e86-cb63-4cbd-bc6d-ba8e6d5c69af" contextRef="C_a16b6273-a322-4c18-962f-9d4ba804e1f0" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_abd0d5c5-065e-497c-82ea-6dec19a3318b" contextRef="C_a16b6273-a322-4c18-962f-9d4ba804e1f0" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" 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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_481bdeb0-15a7-479a-94cf-cdc10d905bc6" contextRef="C_a16b6273-a322-4c18-962f-9d4ba804e1f0" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,495</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_acd3b846-7beb-4524-b5ff-f92fba3bdcb9" contextRef="C_a16b6273-a322-4c18-962f-9d4ba804e1f0" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7198d557-861b-4f00-85ee-8d69dbc05bc3" contextRef="C_a16b6273-a322-4c18-962f-9d4ba804e1f0" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,495</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_d4eea601-ed66-46f7-ad3a-96b7bc0b9cd4" contextRef="C_a16b6273-a322-4c18-962f-9d4ba804e1f0" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_83e0830d-db43-4f3b-b157-58a95a96a8c0" contextRef="C_d8f03719-5f79-4d9f-ae54-099a4a9fb22d" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_59630982-b0fa-4cb7-8c30-dfa1d31ea9cd" contextRef="C_d8f03719-5f79-4d9f-ae54-099a4a9fb22d" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" 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_ab37157b-11f3-4648-93e0-45cc993df281" contextRef="C_d8f03719-5f79-4d9f-ae54-099a4a9fb22d" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_842b57b5-4c38-41ca-a829-a13641e6311d" contextRef="C_d8f03719-5f79-4d9f-ae54-099a4a9fb22d" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" 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_1bab1602-204f-4560-92ad-e45f4f8688c7" contextRef="C_d8f03719-5f79-4d9f-ae54-099a4a9fb22d" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0bfb9a29-77b3-4e92-aa4a-f16d5d0f40d3" contextRef="C_d8f03719-5f79-4d9f-ae54-099a4a9fb22d" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" 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="white-space:pre-wrap;vertical-align: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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ca6bd279-cf76-4eef-830f-83b5d16c40ca" contextRef="C_e021feb9-b9cd-4cfa-9657-a9290179f29a" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,987</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_81bd31bf-e241-4e3a-b5af-5834543b4962" contextRef="C_e021feb9-b9cd-4cfa-9657-a9290179f29a" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" 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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9cac4144-0d5c-4c1e-9ebb-f2694fd26eae" contextRef="C_e021feb9-b9cd-4cfa-9657-a9290179f29a" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b0e0ffc-b4f7-43f8-8e7f-e88d2d98cbea" contextRef="C_e021feb9-b9cd-4cfa-9657-a9290179f29a" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" 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_659f00d9-197b-4656-8746-a44b5c26ae40" contextRef="C_e021feb9-b9cd-4cfa-9657-a9290179f29a" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,987</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_3d09f6dd-be6b-4597-8095-d7926f6e366d" contextRef="C_e021feb9-b9cd-4cfa-9657-a9290179f29a" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" 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:10pt;margin-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</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a0d6014f-9d18-45ae-9917-06de51e05687" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,971</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_eded1cf9-6ccb-42ab-80e0-56559e01814e" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bf38dc14-8704-4d7d-be45-438294a6b26b" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,495</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_06e3df97-3a5f-4443-838a-6c28ac7b8348" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_05058d77-b5ad-4a9e-9f48-d80be4319e8b" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,466</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_99cdc434-63b9-450e-9cd7-04b298dcd592" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <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="22" style="vertical-align:bottom;border-bottom:0.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="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;">Less than 12 Months</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="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;">12 Months or More</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="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;">Total</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;">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>
        <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 Unrealized<br/>Holding 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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Unrealized<br/>Holding 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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Unrealized<br/>Holding 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>
       </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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b42183df-87f2-4a77-89d9-9cd780ffc998" contextRef="C_fc66a24f-cb40-48a9-9e32-c517c08f6020" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,738</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_20c8b1d6-0631-4293-90e3-fbedf0767e5c" contextRef="C_fc66a24f-cb40-48a9-9e32-c517c08f6020" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">147</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8b4da2bf-b853-43aa-8bb0-7e780de1a421" contextRef="C_fc66a24f-cb40-48a9-9e32-c517c08f6020" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">75,270</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_cee34720-1922-4411-bd9f-38ecb11e1015" contextRef="C_fc66a24f-cb40-48a9-9e32-c517c08f6020" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">925</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_82c13149-2e00-474c-addb-17d1d0688ea0" contextRef="C_fc66a24f-cb40-48a9-9e32-c517c08f6020" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">82,008</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_e67c4ac0-3d8f-4959-a7de-05c29f2aec09" contextRef="C_fc66a24f-cb40-48a9-9e32-c517c08f6020" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,072</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_78e9f527-f053-4590-8f28-3d7a8b33fb0f" contextRef="C_a8b1dad5-8076-4dde-9643-5550cbef11b2" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,326</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_8b92b937-347a-4c26-ad38-1b09e625a004" contextRef="C_a8b1dad5-8076-4dde-9643-5550cbef11b2" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">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>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f0a70e41-f7bd-4550-b3e2-c8b6217a1b73" contextRef="C_a8b1dad5-8076-4dde-9643-5550cbef11b2" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">67,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_e1f21b7a-e26f-4c7a-b87f-5e0e2dea9c45" contextRef="C_a8b1dad5-8076-4dde-9643-5550cbef11b2" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,194</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4fceffe5-72cc-4a66-8c63-061947559f4c" contextRef="C_a8b1dad5-8076-4dde-9643-5550cbef11b2" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">90,235</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_5bedfb27-3e79-4ab2-8473-55dc51dd5f13" contextRef="C_a8b1dad5-8076-4dde-9643-5550cbef11b2" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,207</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1e9a0401-6bdf-4f6a-8e21-e1bcdd322e8f" contextRef="C_d43d1399-b0eb-4c13-8d3f-8f914f93c5c6" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fe89cb93-618a-4659-95dd-dae7f0997b0c" contextRef="C_d43d1399-b0eb-4c13-8d3f-8f914f93c5c6" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" 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_a68dd566-a107-4d62-98ac-bec41c3e2b3f" contextRef="C_d43d1399-b0eb-4c13-8d3f-8f914f93c5c6" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,468</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_42c00ad2-7fcb-4bde-bc34-2cf7a2d34fda" contextRef="C_d43d1399-b0eb-4c13-8d3f-8f914f93c5c6" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">222</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4e07d1a2-0510-4d9f-9b13-4b10b01bec15" contextRef="C_d43d1399-b0eb-4c13-8d3f-8f914f93c5c6" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,468</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_909fea23-3a35-43b7-b236-044b7d82a521" contextRef="C_d43d1399-b0eb-4c13-8d3f-8f914f93c5c6" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">222</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Asset-backed securities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_203caeda-6051-4762-9b98-b465abe741c3" contextRef="C_7c1914b9-8033-45d3-93fb-a282fb44696e" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,474</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_cb9513c8-63c7-43b3-9846-a3a8b1bee80e" contextRef="C_7c1914b9-8033-45d3-93fb-a282fb44696e" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" 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="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b1d2dae7-055f-45f5-a76a-5c4741745711" contextRef="C_7c1914b9-8033-45d3-93fb-a282fb44696e" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8b59085b-f3a7-459a-8d2a-5d6f0d1bb4fc" contextRef="C_7c1914b9-8033-45d3-93fb-a282fb44696e" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" 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_ff36b124-f9b3-482a-a438-488e1c99b242" contextRef="C_7c1914b9-8033-45d3-93fb-a282fb44696e" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,474</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_af436026-ff1d-48f7-86e9-d028cd5f8004" contextRef="C_7c1914b9-8033-45d3-93fb-a282fb44696e" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" 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="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: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;">Foreign government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_87fcc528-278e-484f-ac43-62fe07433d13" contextRef="C_d773362c-7cf3-4703-a248-9d377f16166b" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" 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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b15d539f-eebf-4dcc-b809-c7fe51d3aa8e" contextRef="C_d773362c-7cf3-4703-a248-9d377f16166b" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" 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>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_551a8035-c534-40e5-9522-095c15816cc0" contextRef="C_d773362c-7cf3-4703-a248-9d377f16166b" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,980</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_00dbc5bd-0fd4-4c0a-b7ea-896628e54c71" contextRef="C_d773362c-7cf3-4703-a248-9d377f16166b" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27</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_880e6025-f543-4fad-ac0c-141355ea52a7" contextRef="C_d773362c-7cf3-4703-a248-9d377f16166b" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,980</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_4a199dd9-bbae-4eb7-b7fd-5924cbc5f533" contextRef="C_d773362c-7cf3-4703-a248-9d377f16166b" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27</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: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</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cac52b9b-f691-4c40-886a-60ef4f37eedb" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">31,538</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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bcdf3ed7-9c5a-4b9a-8dfd-da4bebdba67f" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">170</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;"><ix:nonFraction id="F_c7353575-855a-42dd-b5aa-ef0b7640d042" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">159,627</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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c0be10f3-4931-4d82-8c78-3b541841039b" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,368</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;"><ix:nonFraction id="F_bc58b23a-3347-4649-ba54-eff663f8e358" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">191,165</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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ba6521d7-a138-4358-8301-aee7f58d8c13" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,538</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="font-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: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;">132</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></ix:exclude></ix:nonNumeric></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 contractual maturities of all available-for-sale investments were with in one year 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;">The Company periodically reviews its available-for-sale investments for other-than-temporary impairment. The Company considers factors such as the duration, severity and the reason for the decline in value, the potential recovery period and its intent to sell. For debt securities, the Company also considers whether (i) it is more likely than not that the Company will be required to sell the debt securities before recovery of their amortized cost basis, and (ii) the amortized cost basis cannot be recovered as a result of credit losses. During the three years ended 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 did </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eaab4ee0-f59d-45b8-8be2-4455a05abaaa" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale" unitRef="U_USD" decimals="INF" 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;">t recognize any other-than-temporary impairment loss.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_aee0e150-4e93-4f92-9067-15ea5ff87c61" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" escape="true"><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;">Inventories consisted of the following (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:56.04%;"/>
        <td style="width:2.16%;"/>
        <td style="width:1%;"/>
        <td style="width:17.82%;"/>
        <td style="width:1%;"/>
        <td style="width:2.16%;"/>
        <td style="width:1%;"/>
        <td style="width:17.82%;"/>
        <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;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 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;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:#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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ef82233e-f5cf-4347-8bfb-442fab726f93" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:InventoryRawMaterials" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,376</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4faf95b0-a2c3-4ddf-bc07-823b576be508" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:InventoryRawMaterials" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,241</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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-progress</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f73ee6a9-4286-41a9-ab51-7950412a0433" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:InventoryWorkInProcess" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34,614</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_70e2cacf-3829-496a-aa84-252b8a9f4e43" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:InventoryWorkInProcess" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">36,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:#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 goods</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cf90137a-25f9-4978-9810-e6e18d929b8c" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:InventoryFinishedGoods" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,575</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_68fbd7de-9bce-4def-b2e6-e9f9c2c84ff4" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:InventoryFinishedGoods" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,192</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</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7ca6d515-ad79-4f07-a4b3-eb95baee275c" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,565</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_cd62d35d-8b14-44ae-b81c-652e70030634" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">40,436</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:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="highlight_result_17"><span id="highlight_result_18"></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The provision to write-down excess and obsolete inventory were immaterial as of December 31, 2023 and December 31, 2022.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid Expenses and Other Current Assets</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_17fdb6a2-4eea-4716-97b0-6eb4ac3d60e5" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" escape="true"><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;">Prepaid expenses and other current assets consisted of the following (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.583%;"/>
        <td style="width:2.081%;"/>
        <td style="width:1%;"/>
        <td style="width:17.127%;"/>
        <td style="width:1%;"/>
        <td style="width:2.081%;"/>
        <td style="width:1%;"/>
        <td style="width:17.127%;"/>
        <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;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 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;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:#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;">Contract assets</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_90f49aa1-5ff4-41e5-b39f-c7efb251704a" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:Supplies" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">26,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1d018ef1-5387-4d2c-bc65-eb5a803b3f5b" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:Supplies" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,488</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 revenues from associated contracts</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_8291926e-28a7-46d2-8ebf-52240af69751" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:DeferredRevenuesFromAssociatedContracts" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">26,481</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_fb3b407f-a5f1-4bf7-bdfb-1d2fb9b56896" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:DeferredRevenuesFromAssociatedContracts" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">17,488</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;">Net contract assets</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a25fbe0-50a5-43da-b98b-17b18f2aeae5" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:SuppliesNet" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6521e683-0b71-48e0-b872-2c8eab64792f" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:SuppliesNet" 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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Insurance proceeds receivable for litigation settlement</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_84f478cd-b74c-4586-896a-48aa5f726fd9" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:LossContingencyReceivableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">28,500</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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>
       <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 assets</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_054b179a-eddd-4cdc-9aae-838a4bcd6e60" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:PrepaidExpenseCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,644</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_37c3ece3-f356-46e6-99f1-64965eac0a7b" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:PrepaidExpenseCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,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:#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 current assets</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_61a7dab3-dfc1-4ebc-b933-8646b36b8120" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:OtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,711</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_ac38b47e-f3ac-4a3a-934a-b70ffbee51b3" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:OtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,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>
       </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: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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_715d40a8-0e39-4a15-8e35-817f2674566a" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,855</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_083b680c-0794-4cb5-bb63-336544535e91" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,083</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:12pt;font-family:Times New Roman;margin-bottom: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 unbilled contract assets 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;"> and 2022 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_7b7fe306-1a9f-47fd-a350-6481f4797c1f" contextRef="C_bf75c14d-7187-4d64-a37d-59031a3cdcee" name="fgen:SuppliesNet" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">22.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_e603d2b0-e781-4e7c-8b86-123773dcd860" contextRef="C_73216bff-85f3-4d56-9c06-bf1a34b575f6" name="fgen:SuppliesNet" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">17.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, related to unbilled co-development revenue under the AstraZeneca China Amendment. In addition, the unbilled contract assets 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;"> included 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_555b1c32-5bed-4b25-849d-bb2461e3f905" contextRef="C_25046d28-65c6-4a35-9399-55aba1d15900" name="fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" unitRef="U_USD" scale="6" decimals="-5">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 unbilled </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">regulatory milestone payment under the AstraZeneca China Agreement. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">AstraZeneca China Agreement </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">section in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</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, the Company recorded 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_7258f531-b8f2-4f85-9e88-627373d4cfaf" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:LossContingencyReceivableCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">28.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 receivable in prepaid expenses and other current assets, corresponding to the accrued litigation settlement of the same amount related to the Company&#8217;s agreement in principle with plaintiffs to settle the class action lawsuit. As the Company maintains insurance that covers exposure related to the class action lawsuit, this amount is fully recoverable under the Company&#8217;s insurance policies. The determination that the recorded receivables are probable of collection is based on the terms of the applicable insurance policies and communications with the insurers. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued and Other Current Liabilities</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below, and the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Legal Proceedings and Other Matters</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section in 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;">Commitments and Contingencies</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</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: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;">133</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></ix:exclude><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property and Equipment</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_65b4caa0-4996-4f7c-ad11-abb51c789510" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:PropertyPlantAndEquipmentTextBlock" escape="true"><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;">Property and equipment consisted of the following (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:56.751%;"/>
        <td style="width:2.12%;"/>
        <td style="width:1%;"/>
        <td style="width:17.503%;"/>
        <td style="width:1%;"/>
        <td style="width:2.12%;"/>
        <td style="width:1%;"/>
        <td style="width:17.503%;"/>
        <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: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: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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d511f769-2359-43e4-884d-7c8da6fd1346" contextRef="C_c7a002c3-7ac9-4881-a9ed-d23fe5787662" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">102,109</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_49515b54-6648-4241-b0c5-0ae93ac40fad" contextRef="C_02e61819-a36d-4328-821d-6652cddf6682" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">102,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;">Laboratory equipment</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bbe7a48f-1bf9-4332-85dd-dcbac255c26d" contextRef="C_6e56a1a2-5ac1-4477-a7a9-e841236053f5" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_350d8e19-585e-4966-8741-d2830ac3e8b5" contextRef="C_dfb977fc-38fe-4c04-a11d-3e6875c02b6e" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,175</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Machinery</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a580f6d5-c7ff-40a9-99ee-205eb66e6cec" contextRef="C_e2cc0a7d-167d-4d1f-a543-70dc63e9891e" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c91a4913-74de-4cb6-bac5-639d74a5ab81" contextRef="C_f242600b-0ca7-4a2b-84d1-63f3ac5f9969" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,642</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 equipment</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b6b59d1d-c2dd-46b3-b23c-a0799ee90ff9" contextRef="C_d0e308e7-c4c3-4a35-b0df-90ddc089beb5" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,490</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_062daf46-2cb9-4ddb-96fb-dd61e94c9d3f" contextRef="C_7ff027e1-84b6-447f-8fe2-c52b9725a2bd" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,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="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 and fixtures</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bbf17d81-cbd4-4e12-aa42-35d83f84fcff" contextRef="C_0971c576-0a77-4b02-927e-a36961e449d4" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,184</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_db797fa6-5c50-46be-b3ed-ed4213cd7e25" contextRef="C_08b07b5f-6f5f-4b95-9e2f-9785bb4dfac5" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,200</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Construction in progress</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>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a902994-e191-4500-90fa-c79d6d59d98f" contextRef="C_3a9b7a13-9844-4e3b-b842-6f7f8f7b06d7" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">62</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_9abc5fd7-f1f9-4e9f-afac-12d905972dad" contextRef="C_c140c098-99ec-418b-87ce-cd5b3b31f1c0" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">204</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 and equipment</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e23b8a20-d958-4a4f-aaa6-3d264602455d" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">150,056</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_421eec6e-5c2d-43fd-aafd-bed426b45076" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">149,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>
       </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: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:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_39e04d2f-7a70-41f7-809e-c98580243fa8" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">136,930</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_b72b6509-582b-4f9d-993b-574aa20d326d" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">128,682</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;">Property and equipment, net</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>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_199b2e35-beaa-4a5e-a755-21c8f413e51b" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,126</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_11c426ca-8d1d-456e-8952-b88612baca50" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,605</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:12pt;font-family:Times New Roman;margin-bottom: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 for the years ended December 31, 2023, 2022 and 2021 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_18bdb5e5-2f44-42e3-906e-65a7a6ddc535" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:Depreciation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">9.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;">, </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_0c23d3bd-68b8-4d1b-a81e-dde9081125c8" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:Depreciation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">10.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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_9cae7ecc-90ad-40df-8c75-dc5c5285f260" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:Depreciation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">10.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued and Other Current Liabilities</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_1205547f-bb27-4148-88d6-530b8489213f" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" escape="true"><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;">Accrued and other current liabilities consisted of the following (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: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:56.751%;"/>
        <td style="width:2.12%;"/>
        <td style="width:1%;"/>
        <td style="width:17.503%;"/>
        <td style="width:1%;"/>
        <td style="width:2.12%;"/>
        <td style="width:1%;"/>
        <td style="width:17.503%;"/>
        <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;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 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;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:#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;">Preclinical and clinical trial accruals</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3e5db765-af82-4249-8b8a-3305fd87b4c9" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:AccruedPreclinicalAndClinicalTrialCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27,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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97c43f06-8d63-42ac-8007-903e0cc8082c" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:AccruedPreclinicalAndClinicalTrialCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">57,780</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">API and bulk drug product price true-up</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0fa23d1-b6a7-4a70-9407-87859e6dc909" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:AccruedApiAndBulkDrugProductPriceTrueUpCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">50,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_08eef9a0-8636-4c24-bec3-3dbcc1d0c018" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:AccruedApiAndBulkDrugProductPriceTrueUpCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">75,055</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Litigation settlement</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_998b530d-340f-451a-915d-267a8b08ec95" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:LitigationSettlementCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">28,500</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5831ecd5-8713-4375-b8fa-99d144075843" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:LitigationSettlementCurrent" 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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payroll and related accruals</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5fbcafa0-87f4-492d-8859-2e0ea9cc0c48" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,267</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_07d3a4c8-9b40-4409-b2b2-700c0350c8f6" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,562</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Accrued co-promotion expenses - current</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fe2233ed-137a-4ccc-81ae-2b58c9effa21" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:AccruedCoPromotionExpensesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,309</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_50d6f7fa-7ef4-4fa8-baf6-39fa8b0094cb" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:AccruedCoPromotionExpensesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">36,677</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Roxadustat profit share to AstraZeneca</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_907a9602-6b70-4e5a-a32c-d2de9b65e39d" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:AccruedProfitShareCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,084</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41e000ea-67b2-447b-b123-29d89e4cc2dc" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:AccruedProfitShareCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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 taxes and other taxes</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_581d278e-a4f6-4443-8109-af287c0ceb5b" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:PropertyTaxesAndOtherCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_56315792-213f-49ca-a45d-4c9d33fb304f" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:PropertyTaxesAndOtherCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,691</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Professional services</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d6070be9-ede8-4514-8e13-a01c595da0d8" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:AccruedProfessionalFeesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,103</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_db8ef8dd-a07c-4fb8-a09c-d26db183cb81" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:AccruedProfessionalFeesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,480</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Current portion of liability related to sale of future revenues</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d92db913-a765-4785-867b-321da3e75652" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:LiabilityRelatedToSaleOfFutureRevenuesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,654</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8286d09b-871f-4a53-8cd2-6ea4607dc6fa" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:LiabilityRelatedToSaleOfFutureRevenuesCurrent" 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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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 restructuring charge</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a53ef30c-9386-4530-9d86-6eab2318ff63" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:AccruedRestructuringChargeCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,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_5697814b-dc9b-4d24-99c0-fa8ab7d785fd" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:AccruedRestructuringChargeCurrent" 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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c541f107-af1a-43bf-931c-0f3584354157" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:OtherAccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1d16e82f-62fb-41f4-ae52-cfadb63304c7" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:OtherAccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,248</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 accrued and other current liabilities</span></p></td>
        <td style="white-space:pre-wrap;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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a6dda0e7-21a3-4e36-bea9-b42e887c9983" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:AccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">172,891</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b429ea92-f17a-4a62-ad86-dae635f6dcc4" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:AccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">219,773</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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: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;">The accrued liabilities 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_7ee7c43a-08b7-459e-8317-3ebed25727e2" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:AccruedApiAndBulkDrugProductPriceTrueUpCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">51.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for API and bulk drug product price true-up as of December 31, 2023 resulted from changes in estimated variable consideration associated with the API shipments fulfilled under the terms of the Astellas Japan Amendment, the bulk drug product transferred under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and the bulk drug product shipments to AstraZeneca under the terms of the AstraZeneca Master Supply Agreement. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">section in Note 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;">Collaboration Agreements, License Agreement and Revenues,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for details.</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;">As of December 31, 2023, the accrued litigation settlement 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_17f7f8b2-fba3-455a-8a53-a388d0348d47" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:AccruedLitigationSettlement" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">28.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 was related to the Company&#8217;s agreement in principle with plaintiffs to settle the class action lawsuit. See the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Prepaid Expenses and Other Current Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section above, and the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Legal Proceedings and Other Matters </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">section in 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;">Commitments and Contingencies</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</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: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;">134</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></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 July 14, 2023, the Company approved a restructuring plan (the &#8220;Plan&#8221;) to lower the Company&#8217;s operating expenses. The Plan included a reduction to the Company&#8217;s U.S. workforce 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_35f1f8d1-eec7-49c4-ac80-7f46255e5f54" contextRef="C_ddff872e-147d-4935-b266-7e38857ce462" name="us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">32</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%. As a result, the Company recorded a total 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_19614ba8-61ef-484f-961d-92f32c7d777d" contextRef="C_cd34fec9-258b-4bd4-af13-19f2e01c25c9" name="us-gaap:RestructuringCharges" 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 non-recurring restructuring charge during the third quarter of 2023, primarily consisting of notice period and severance payments, accrued vacation, and employee benefits contributions. During the year ended December 31, 2023, total cash payments under the Plan 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_ac1ddece-a7f1-417d-a5e5-f9aa0cff74d0" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:PaymentsForRestructuring" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">8.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 remaining accrued restructuring charge 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_0c4b91ef-70a9-4ff2-83c0-ba1d37d8bd23" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:AccruedRestructuringCharges" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.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 as of December 31, 2023 and will be substantially paid out by early 2024. The Plan is in connection with the Company&#8217;s efforts to streamline operations to align with the Company&#8217;s business goals.</span></p></ix:nonNumeric></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_2c7c934e-70b4-49cc-928f-7d4cc97ff1b6" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:DebtDisclosureTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9.	Senior Secured Term Loan Facilities</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;">On April 29, 2023, the Company entered into a financing agreement (&#8220;Financing Agreement&#8221;) with investment funds managed by Morgan Stanley Tactical Value, as lenders (the &#8220;Lenders&#8221;), and Wilmington Trust, National Association, as the administrative agent, providing for senior secured term loan facilities consisting of (i) 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_573e5a20-c387-4f77-b136-260fe079dc8d" contextRef="C_e148661d-15d9-4087-ace0-a627aa82c0be" name="us-gaap:LongTermDebt" 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 initial term loan (the &#8220;Initial Term Loan&#8221;), (ii) 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_46fab72b-1c4a-4685-aa2b-882065e79767" contextRef="C_532066c6-4494-4995-835d-54fa1244b9ea" name="us-gaap:LongTermDebt" 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 delayed draw term loan that will be funded upon the achievement of certain clinical development milestones (&#8220;Delayed Draw Term Loan 1&#8221;) and, (iii) an uncommitted delayed draw term loan 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_4b12608d-0bd2-4f12-bb1f-a42051b29200" contextRef="C_24d75f0b-1f76-4b16-bd10-ab69a60ebd4f" name="us-gaap:LongTermDebt" 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 to be funded at the Lenders sole discretion, (&#8220;Delayed Draw Term Loan 2&#8221; and, together with the Initial Term Loan and Delayed Draw Term Loan 1, the &#8220;Term Loans&#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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 Financing Agreement, the Lenders have funded the Initial Term Loan. The clinical development milestones which could have triggered Delayed Draw Term Loan 1 were not achieved, and the Lenders have not funded Delayed Draw Term Loan 2. As such, these features have expired 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;">The Term Loans shall accrue interest at a fixed 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_8899f4c4-8a8c-4269-8ae5-a38582f75a25" contextRef="C_3614c635-ee35-4324-9cde-bfff3b11121b" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" unitRef="U_pure" scale="-2" decimals="3" 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;">% per annum, payable monthly in arrears. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a17e640b-f767-4232-bf0e-e00b3ff191d5" contextRef="C_9755559b-c556-449c-b20d-092303a2ed72" name="fgen:RepaymentDescription"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Term Loans shall mature on </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_98117164-e850-4566-a651-4c46f91e017b" contextRef="C_3614c635-ee35-4324-9cde-bfff3b11121b" 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;">May 8, 2026</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 Term Loans will not be subject to amortization payments. The Company is permitted to prepay the Term Loans from time to time, in whole or in part, subject to payment of a make-whole amount equal to the unpaid principal amount of the portion of the Term Loans being repaid or prepaid, plus accrued and unpaid interest of the portion of the Term Loans being repaid or prepaid, plus an amount equal to the remaining scheduled interest payments due on such portion of the Term Loans being repaid or prepaid as if such Term Loans were to remain outstanding until the scheduled maturity date. </span></ix:nonNumeric></span><span style="font-size:10pt;font-family:Times New Roman;"></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 May 8, 2023, the Company received $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af1519f2-0578-4e18-bf5a-1e32f364a8b9" contextRef="C_c43f0be6-6491-4a49-a5a0-b04b1ffce8ae" name="us-gaap:DebtInstrumentCarryingAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">74.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, representing the Initial Term Loan 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_c743668f-fc52-47c6-806f-a358640bcd6d" contextRef="C_02100ecc-9274-43bc-9a74-6f24c8be2c31" name="us-gaap:LongTermDebt" 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 net 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_baefddba-5fdd-4fcd-a838-26d191e48fa4" contextRef="C_c43f0be6-6491-4a49-a5a0-b04b1ffce8ae" name="us-gaap:DeferredFinanceCostsNet" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.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 issuance costs. The issuance costs and the related transaction costs, 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_a27cb67f-b32f-418a-ad1f-da872d4820c5" contextRef="C_02100ecc-9274-43bc-9a74-6f24c8be2c31" name="fgen:AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.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 is amortized as interest expense using the effective interest method over the term of the Initial Term Loan and are reported on the balance sheet as a direct deduction from the amount of the Initial Term Loan. The effective annual interest rate of the Initial Term Loan 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_977174af-3aaf-4194-afef-bc996890d0e4" contextRef="C_1954c157-71f8-42c7-8fb9-4f71a96245a0" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">16.13</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% 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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The Company recorded interest 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_39fa2bac-1f15-408d-b479-63a257720f06" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:InterestExpenseDebt" 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 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. 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 related accrued interest 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_8c854a08-d8fe-42d5-9e41-877c95b0d088" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:DebtInstrumentAccruedInterest" 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. The Company was in compliance with all debt covenants associated with the senior secured term loan facilities 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;">, including maintaining a minimum balance 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_d09e6135-841b-44c2-ada1-e6d7a1fb580e" contextRef="C_ee7eb5a5-3eb4-404a-84fd-6b992110dacd" name="fgen:UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts" unitRef="U_USD" scale="6" decimals="-6" 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;"> million of unrestricted cash and cash equivalents held in accounts in the U.S.</span><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 Company has determined that certain other features embedded within the Loan should be bifurcated and accounted for separately as a derivative. At inception and as of December 31, 2023, the fair values of such derivatives were negligible due to the low probability of the underlying events.</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_7964ce9d-d475-45e2-a74b-16c4627fc33b" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ScheduleOfDebtInstrumentsTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 senior secured term loan facilities 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 as follows (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: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:74.905%;"/>
        <td style="width:2.16%;"/>
        <td style="width:1%;"/>
        <td style="width:20.936%;"/>
        <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;"><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;">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: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;">Principal of senior secured term loan facilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_21c97572-c6cf-468e-9a3d-6e82f3b0afcb" contextRef="C_f3cfec5e-c85e-4535-a912-552935865538" name="us-gaap:DebtInstrumentCarryingAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">75,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>
       </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: Unamortized issuance costs and transaction 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_5bf96e7c-6aec-4123-9aeb-ce29b640cc3f" contextRef="C_f3cfec5e-c85e-4535-a912-552935865538" name="fgen:UnamortizedIssuanceCostsAndTransactionCosts" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,066</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;">Senior secured term loan facilities, ending balance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_51178171-db47-4944-859a-3df0de31c879" contextRef="C_f3cfec5e-c85e-4535-a912-552935865538" name="us-gaap:LongTermDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,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>
       </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: Current Portion classified to accrued and other current 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;"><ix:nonFraction id="F_340d1fa5-8df9-462e-9a2f-1e0b1acad574" contextRef="C_f3cfec5e-c85e-4535-a912-552935865538" name="fgen:CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities" 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: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;">Senior secured term loan facilities, non-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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_54011cf8-7f71-4fe5-8735-dda7fc95a436" contextRef="C_f3cfec5e-c85e-4535-a912-552935865538" name="us-gaap:SecuredLongTermDebt" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,934</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: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: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;">135</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></ix:exclude></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:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7e77560e-f2f1-4785-a290-24586485dd6e" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:LiabilityRelatedToSaleOfFutureRevenueTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10.	Liability Related to Sale of Future Revenues</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;">On November 4, 2022, the Company entered into a Revenue Interest Financing Agreement (the &#8220;RIFA&#8221;) with NQ Entity, L.P. (&#8220;NovaQuest&#8221;), pursuant to which the Company granted a percentage interest in the Company&#8217;s future revenues under the Astellas Agreements, for a consideration 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_9e12d5e8-c806-4c3f-8efd-b38c049bac02" contextRef="C_ca1a7f7c-109b-4aca-b1e9-936abc7e9c2a" name="fgen:FutureRevenueGranted" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">50.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 (&#8220;Investment Amount&#8221;) before advisory fees.</span><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;">Effective as of November 2022, the Company sold to NovaQuest </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9c841992-83ad-42e0-a5a1-72ef81234801" contextRef="C_6d6682fc-aec1-4833-96b7-940b1d676766" name="fgen:PercentageOfRevenueSold" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">22.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 its drug product revenue 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_c839ad41-7439-4c89-86a0-5c97d320c864" contextRef="C_f7b3cb4c-64c2-4916-a7b4-16e850ad2f4a" name="fgen:PercentageOfRevenueSold" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">10.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;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d37b9f70-155e-42d9-ac8f-4e45cd749c07" contextRef="C_9c1fa134-424e-4294-b760-3a1f0e0bec6d" name="fgen:PercentageOfRevenueSold" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">20.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 fiscal year 2028 and thereafter) </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of its revenue from milestone payments under the Astellas Agreements. In November 2022, t</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">he Company received $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_53d6aa1d-5493-44a9-93b7-d2c13a72bf84" contextRef="C_d8ba0bd1-0354-45d8-b873-d0f381b58cb8" name="fgen:ReceivedFromSaleOfRevenue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">49.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 from NovaQuest at an initial funding on November 17, 2022, representing the gross proceeds 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_513ed932-dac8-4232-9b82-aeb2beb133f2" contextRef="C_d8ba0bd1-0354-45d8-b873-d0f381b58cb8" name="fgen:GrossProceedsReceivedFromSaleOfRevenue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">50.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 &#8220;Initial Investment Amount&#8221;)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> net of initial issuance costs, and accounted for it as long-term debt based on the terms of the RIFA because the risks and rewards to NovaQuest are limited by the terms of the transaction. The related debt discount and transaction costs are amortized as interest expense based on the projected balance of the liability as of the beginning of each period. As payments are made to NovaQuest, the balance of the liability related to sale of future revenues is being effectively repaid over the life of the RIFA. The payments to NovaQuest are accounted for as a reduction of debt.</span><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 Company may prepay its obligations to NovaQuest in full at any time during the term of RIFA. The prepayment amount varies from $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ff062166-39b5-4265-b901-a3bb6e1ebb65" contextRef="C_68624f91-a5f7-4b90-be41-5f8fabc51019" name="fgen:PrepaymentAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">80.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 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_49435c1e-2933-4baa-af84-78e68464fcf0" contextRef="C_782b2c2c-8255-4e71-a234-c4eb4d25ecc5" name="fgen:PrepaymentAmount" 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 less any revenue interest payments made up to such prepayment date. Under the RIFA the Company shall pay to NovaQuest up to a specified maximum amount (&#8220;Payment Cap&#8221;) of (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_3893ba5c-270d-42ae-89d1-3b76d4ccd5bb" contextRef="C_e04a45d7-0c58-4eb0-b40d-cef65ea46977" name="fgen:MaximumPaymentCapAmount" unitRef="U_USD" scale="6" decimals="INF" 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, if </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the payment</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> is made on or before December 31, 2028; (b) $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_240b2cad-4b7c-4ec7-be22-58c782f7f98b" contextRef="C_65c9c777-78c1-4cc1-bc12-d2c223fe6c98" name="fgen:MaximumPaymentCapAmount" unitRef="U_USD" scale="6" decimals="INF" format="ixt:num-dot-decimal">112.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, if </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the payment is made </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">on or after January 1, 2029, but on or before December 31, 2029; or (c) $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0ea934ae-b2dd-47aa-8388-65845b2cff0f" contextRef="C_3b2d0816-da4e-4855-b033-81decbc0c8cc" name="fgen:MaximumPaymentCapAmount" unitRef="U_USD" scale="6" decimals="INF" 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, if </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the payment is made after January 1, 2030.</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;">After January 1, 2028, if the product (as defined) is not commercialized for a consecutive twelve-month period, then, the payments owed under the RIFA by the Company to NovaQuest for each fiscal year shall be the greater of: (i) the amount which would otherwise be due pursuant to revenue interest payments terms; or (ii) $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e83be1f7-3b3a-413e-9ac9-2623bdd70ff2" contextRef="C_304bb7d9-3e21-42db-83a9-b5689f3fe6cd" name="fgen:RevenueInterestPayment" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">10.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></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;">Before December 31, 2028, if the sum of all payments under the RIFA paid to NovaQuest, does not equal or exceed $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9fc2068a-024a-4fa6-9e44-41958b053245" contextRef="C_32fe60f9-4e53-4cfc-8f86-f9a79fce2894" name="fgen:RevenueInterestPayment" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">62.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, then the Company shall pay NovaQuest the difference of these two amounts by no later than March 1, 2029. If, by no later than December 31, 2030, the sum of all payments under the RIFA paid to NovaQuest does not equal or exceed $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a7c2975d-5c6c-4803-8ae1-97931a42c547" contextRef="C_3a4cc021-046c-4893-a352-3308e3c73063" name="fgen:RevenueInterestPayment" 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, then the Company shall pay NovaQuest the difference of these two amounts by no later than March 1, 2031.</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;">NovaQuest will retain this entitlement until it has reached the Payment Cap, at which point </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0ffead65-399a-4c2e-96d6-0004d0fe3634" contextRef="C_ca1a7f7c-109b-4aca-b1e9-936abc7e9c2a" name="fgen:PercentageOfRevenueInterestOnGlobalNetSales" 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 such revenue interest on future global net sales of Astellas will revert to the Company.</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;">Over the course of the RIFA, the effective interest rate is affected by the amount and timing of drug product revenue and revenue from milestone payments recognized, the changes in the timing of forecasted drug product revenue and revenue from milestone payments, and the timing of the Company&#8217;s payments to NovaQuest. On a quarterly basis, the Company reassesses the expected total revenue and the timing of such revenue, recalculates the amortization of debt discount and transactions costs and effective interest rate, and adjusts the accounting prospectively as needed.</span><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 total debt discount and transaction 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_e48b2930-bb78-403d-877d-92af15e27c8c" contextRef="C_91b986fc-d91b-46d1-bbbb-edb6c4975266" name="fgen:PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.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, is amortized as interest expense based on the projected balance of the liability as of the beginning of each period. The Company estimated an effective annual interest rate 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_9d11a7d5-a25a-486f-99b8-fb69e00cdcc4" contextRef="C_44ce08de-7b02-4982-8578-54a8d37f38db" name="fgen:EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">16.03</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_e6c59cae-b0ae-4373-8063-4aca91d4e411" contextRef="C_8aa3bc4c-9f6c-4fb2-b6d1-a5f58c06f239" name="fgen:EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues" unitRef="U_pure" scale="-2" decimals="4" format="ixt:num-dot-decimal">19.67</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the years ended December 31, 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:12pt;font-family:Times New Roman;margin-bottom: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 payments are made to NovaQuest, the balance of the liability related to sale of future revenues is being effectively repaid over the life of the RIFA. <br/></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_02326cf7-d89a-4a53-acc1-20cb5feda0d9" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 shows the activity of the liability related to sale of future revenues 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:</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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:74.905%;"/>
        <td style="width:2.16%;"/>
        <td style="width:1%;"/>
        <td style="width:20.936%;"/>
        <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;"><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;">Year Ended <br/>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: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;">Liability related to sale of future revenues - beginning balance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2ce53723-b1f3-4122-8360-b690f3bc13ea" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:LiabilityRelatedToSaleOfFutureRevenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">49,333</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Interest expense recognized</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_45f56d08-27d2-41fe-822d-4c26ef9a3e08" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:NonCashInterestExpenseRelatedToSaleOfFutureRevenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,734</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;">Liability related to sale of future revenues - ending balance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_11e4ca05-5c4d-4d7e-8aed-741fd8f77583" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:LiabilityRelatedToSaleOfFutureRevenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">57,067</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: Current portion classified to accrued and other current 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_44de6e31-1ec8-4f43-81eb-624dbe963912" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:LiabilityRelatedToSaleOfRevenueCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,654</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: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;">Liability related to sale of future revenues, non-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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_882092c6-ab91-47ba-88d9-2f245a0c3339" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:LiabilityRelatedToSaleOfRevenuesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">51,413</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: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: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;">136</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></ix:exclude></ix:nonNumeric></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 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;">, the Company recognized, under Astellas Agreements, drug product revenue 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_1cd18061-d6ac-4df7-99d0-06bfa5eeca5b" contextRef="C_3118286d-5662-45d7-85a3-423ffb8d4445" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">18.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_05a63b8a-087e-4cc8-bb53-32ebf7d9b0fd" contextRef="C_d0d7bc76-8a99-4ef7-b51e-334ec0350450" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">11.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, respectively. In addition, during the year ended December 31, 2022, the Company recognized, under Astellas Agreements, license revenue 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_90700e78-2e70-4c62-8a50-748b1f9c12c6" contextRef="C_8d86ddc5-f189-461c-a0de-1deac7641775" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">22.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 development revenue 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_8c72aef3-7721-46b0-9cea-7efaccdd422f" contextRef="C_9bbd7689-d07f-499b-99f0-7e8f381129fd" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.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 related to 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_f6cd7567-a088-433f-b9e7-4deae9c30d4f" contextRef="C_858d8afe-0b0f-4b51-be2b-9f08a5503083" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" 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 regulatory milestone. See Note 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;">Collaboration Agreements, License Agreement and Revenue</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</span><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;">During 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;">, the Company recognized the related non-cash interest 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_c09d2cd0-8216-4a20-8de2-5f5347cd3962" contextRef="C_3118286d-5662-45d7-85a3-423ffb8d4445" name="fgen:NonCashInterestExpenseRelatedToDrugProductRevenue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">7.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_3ab410dc-b497-4146-acb7-495315f11cb2" contextRef="C_d0d7bc76-8a99-4ef7-b51e-334ec0350450" name="fgen:NonCashInterestExpenseRelatedToDrugProductRevenue" 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, respectively.</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;">Based on the current estimates of drug product revenue and revenue from milestone payments under the Astellas Agreements,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and taking into the consideration of the terms discussed above, the Company anticipates to reach a Payment Cap 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_452c644b-7400-439c-be32-cb3a7c39569a" contextRef="C_22bf96dc-3a88-4f2d-8b81-83b17ef5db33" name="fgen:RevenuePaymentCapAmount" unitRef="U_USD" scale="6" decimals="INF" 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 by 2031.</span></p></ix:nonNumeric></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_bce7aa54-e888-45cf-ac3d-041590d9ff30" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ProductDevelopmentObligationsDisclosureTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11.	Product Development Obligations</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 Technology Development Center of the Republic of Finland (&#8220;TEKES&#8221;) product development obligations consist 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_b1ed9562-e1c8-418c-a678-cbbf6e76254a" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:NumberOfProductDevelopmentObligations" unitRef="U_DevelopmentObligation" decimals="INF">11</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> separate advances (each in the form of a note agreement) received by FibroGen Europe between 1996 and 2008 from TEKES. These advances are granted on a project-by-project basis to fund various product development efforts undertaken by FibroGen Europe only. Each separate note is denominated in EUR and bears interest (not compounded) calculated 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_be223111-7ed2-466b-9265-1c88200b92fa" contextRef="C_60707ab0-0133-4672-b0f4-ef21552b6370" name="us-gaap:LoansReceivableBasisSpreadOnVariableRate" unitRef="U_pure" scale="-2" decimals="2" 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;"> percentage point less than the Bank of Finland rate in effect at the time of the note, but no less 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_99a0915d-f6e8-4d46-8556-a161437d8969" contextRef="C_8656ccf6-7b9a-4d86-93ef-e201e089a439" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" unitRef="U_pure" scale="-2" decimals="INF">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></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 the research work funded by TEKES does not result in an economically profitable business or does not meet its technological objectives, TEKES may, on application from FibroGen Europe, forgive each of these loans, including accrued interest, either in full or in part. 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;">, the Company had U.S. Dollar equivalent 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_79a57876-27be-4a33-a7a9-f732773d509f" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:AccruedProductDevelopmentCostsExcludingInterest" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">10.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 $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_757c717a-7973-406f-a455-646992f8dd9f" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:AccruedProductDevelopmentCostsExcludingInterest" unitRef="U_USD" scale="6" decimals="-5">10.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 principal outstanding, respectively, 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_1f868a0c-72f1-4f00-b535-12c16beeb2cd" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:InterestPayableCurrentAndNoncurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">7.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_6c66ad03-d7a6-475e-a32a-8327e2547bf9" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:InterestPayableCurrentAndNoncurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">6.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 interest accrued, respectively, which were presented in the product development obligations line on the consolidated balance sheets.</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 Company is not a guarantor of these loans, and these loans are not repayable by FibroGen Europe until it has distributable funds.</span></p></ix:nonNumeric></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_07008ea9-95f4-43e4-9d82-52f7e908ae42" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12.	Commitments and Contingencies</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;">Contract Obligations</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_f1d837e3-7679-4769-97c2-240b0cdb3a67" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:RecordedUnconditionalPurchaseObligationsTextBlock" escape="true"><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 </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 had the following outstanding non-cancelable purchase obligations (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="font-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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:47.26%;"/>
        <td style="width:2%;"/>
        <td style="width:1%;"/>
        <td style="width:13.58%;"/>
        <td style="width:1%;"/>
        <td style="width:2%;"/>
        <td style="width:1%;"/>
        <td style="width:13.58%;"/>
        <td style="width:1%;"/>
        <td style="width:2%;"/>
        <td style="width:1%;"/>
        <td style="width:13.58%;"/>
        <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;">Purchase Obligations <br/>Due In The Year Ending 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;">2024</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;">2025</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;">Total</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: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;">Manufacture and supply of pamrevlumab</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_02b61bc4-3c45-4b67-91ba-e1c4dc5af3a8" contextRef="C_d44c9749-451c-4526-b833-5cf90b8de898" name="us-gaap:RecordedUnconditionalPurchaseObligationDueWithinOneYear" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,995</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_31a0bfc4-e3e7-447d-be15-d13729207d31" contextRef="C_d44c9749-451c-4526-b833-5cf90b8de898" name="us-gaap:RecordedUnconditionalPurchaseObligationDueInSecondYear" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,827</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b67651ab-fab2-4ce0-bcab-10322753c0b0" contextRef="C_d44c9749-451c-4526-b833-5cf90b8de898" name="us-gaap:RecordedUnconditionalPurchaseObligation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22,822</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Manufacture and supply of roxadustat</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_73390ad2-ef08-4a3f-a2e6-9167bd75f930" contextRef="C_9df69083-c305-4073-82ef-4bb5e3fd801e" name="us-gaap:RecordedUnconditionalPurchaseObligationDueWithinOneYear" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">573</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_26e902eb-d43a-4734-937b-199d6f9968cb" contextRef="C_9df69083-c305-4073-82ef-4bb5e3fd801e" name="us-gaap:RecordedUnconditionalPurchaseObligationDueInSecondYear" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c25b12a1-1056-436e-b511-70a2b6a5afca" contextRef="C_9df69083-c305-4073-82ef-4bb5e3fd801e" name="us-gaap:RecordedUnconditionalPurchaseObligation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,719</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Other purchases and programs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0940c204-985e-40eb-8266-1a0e93d20e18" contextRef="C_a38fa15d-11c9-4186-a4fb-733e5d096f07" name="us-gaap:RecordedUnconditionalPurchaseObligationDueWithinOneYear" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,750</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_0503ac5a-d4e5-42d7-bac4-5f83b9d47713" contextRef="C_a38fa15d-11c9-4186-a4fb-733e5d096f07" name="us-gaap:RecordedUnconditionalPurchaseObligationDueInSecondYear" 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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5cdc1936-f6a3-4c2c-ac78-a0e54b799cf1" contextRef="C_a38fa15d-11c9-4186-a4fb-733e5d096f07" name="us-gaap:RecordedUnconditionalPurchaseObligation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,750</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: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</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_40bd002d-0927-471e-8e3b-1cce8ebd8757" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:RecordedUnconditionalPurchaseObligationDueWithinOneYear" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30,318</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_e6f2377e-7d29-4db2-be11-e2c388c37e42" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:RecordedUnconditionalPurchaseObligationDueInSecondYear" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4e5240b3-04ae-4705-8544-89241dc2318d" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:RecordedUnconditionalPurchaseObligation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">36,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>
      </table></ix:nonNumeric></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 expects to fulfill its commitments under these agreements in the normal course of business, and as such, no liability has been recorded.</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;">See Note 7, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Leases</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details of the Company's operating and finance lease payment obligations. See Note 9, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Senior Secured Term Loan Facilities,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Note 10, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Liability Related to Sale of Future Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and Note 11, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Development Obligations</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for details of the respective obligations.</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;">Some of the Company&#8217;s license agreements provide for periodic maintenance fees over specified time periods, as well as payments by the Company upon the achievement of development, regulatory and commercial milestones. 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;">, future milestone payments for research and preclinical stage development programs consisted of up to 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_b685ebfe-6809-4835-9763-0f389e7ee0d0" contextRef="C_3f6c5da6-149d-4e23-bb36-bb5a0aaf655b" name="fgen:MaximumFutureMilestonePayments" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">697.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 in total potential future milestone payments under the Company&#8217;s license agreements with HiFiBiO (for Gal-9 and CCR8), Medarex, Inc. and others. These milestone payments generally become due and payable only upon the achievement of certain developmental, clinical, regulatory and/or commercial milestones. The event triggering such payment or obligation has not yet occurred.</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: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;">137</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></ix:exclude><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Legal Proceedings and Other 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;">From time to time, the Company is a party to various legal actions, both inside and outside the U.S., arising in the ordinary course of its business or otherwise. The Company accrues amounts, to the extent they can be reasonably estimated, that the Company believes will result in a probable loss (including, among other things, probable settlement value) to adequately address any liabilities related to legal proceedings and other loss contingencies. A loss or a range of loss is disclosed when it is reasonably possible that a material loss will incur and can be estimated, or when it is reasonably possible that the amount of a loss, when material, will exceed the recorded provision. The Company did not have any material accruals for any active legal action, except for the class action settlement mentioned below, in its consolidated balance sheet as of December 31, 2023, as the Company could not predict the ultimate outcome of these matters, or reasonably estimate the potential exposure.</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;">Between April 2021 and May 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_43002f06-c1e0-4b09-845f-b3a44fc9d647" contextRef="C_587c875c-85c7-40f7-90ff-380658696ae9" name="us-gaap:LossContingencyNewClaimsFiledNumber" unitRef="U_PutativeClassAction" decimals="INF" format="ixt-sec:numwordsen">five</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> putative securities class action complaints were filed against FibroGen and certain of its current and former executive officers (collectively, the &#8220;Defendants&#8221;) in the U.S. District Court for the Northern District of California. The lawsuits allege that Defendants violated the Securities Exchange Act of 1934 by making materially false and misleading statements regarding FibroGen&#8217;s Phase 3 clinical studies data and prospects for U.S. Food and Drug Administration approval. On August 30, 2021, the Court consolidated the actions and appointed a group of lead plaintiffs. On October 17, 2023, the parties reached an agreement in principle to settle the class action at $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4f6bd77e-913f-4fe6-86ea-0a30004e9145" contextRef="C_b61346fe-47e6-41d4-bbe4-25b4aef1da42" name="us-gaap:LossContingencyAccrualAtCarryingValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">28.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. Accordingly, as of December 31, 2023, the Company recor</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ded 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_b4452e62-2c19-4386-88fd-6cfac3994516" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:LossContingencyAccrualAtCarryingValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">28.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 accrued and other current liabilities in the consolidated balance sheet. The Company maintains insurance that covers exposure related to the class action lawsuit. As the amount is fully recoverable under the Company&#8217;s insurance policies, the Company recorded a corresponding receivable in prepaid expenses and other current assets in the consolidated balance sheet. The determination that the recorded receivables are probable of collection is based on the terms of the applicable insurance policies and communications with the insurers. Another case, filed on May 25, 2023, against the same defendants, asserting similar claims as the class action and additional common-law and California state fraud claims</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was voluntarily dismissed on December 20, 2023.</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;">Between July 30, 2021 and December 5, 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_4b8f01a4-aad9-4347-a96f-3cf5da98766c" contextRef="C_c76f6e0e-7be1-4639-b16d-7816b6ab09d9" name="us-gaap:LossContingencyNewClaimsFiledNumber" unitRef="U_ShareholderDerivative" decimals="INF" format="ixt-sec:numwordsen">six</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shareholder derivative complaints were filed, naming as defendants certain of our current and former officers and certain current and former members of our board, as well as FibroGen as nominal defendants (the &#8220;Derivative Lawsuits&#8221;).  Of these Derivative Lawsuits, three were filed in the Delaware Court of Chancery, two were filed in the U.S. District Court for the District of Delaware (the &#8220;Delaware Federal Derivative Actions&#8221;), and one was filed in the U.S. District Court for the Northern District of California (the &#8220;California Federal Derivative Action&#8221;).  The plaintiffs assert state and federal claims based on some of the same alleged misstatements as the securities class action complaint. The complaints seek unspecified damages, attorneys&#8217; fees, and other costs.  The status of the six Derivative Lawsuits is currently 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><div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Two of the Delaware Chancery Derivative actions, filed on April 14, 2022, and June 1, 2023, have been consolidated (the &#8220;Delaware Chancery Consolidated Derivative&#8221;).  On February 1, 2024, Defendants moved to dismiss the Delaware Chancery Consolidated Derivative action.  In another derivative action, filed in the Delaware Court of Chancery on December 3, 2023, Defendants have not been served; </span></div></div><div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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 Delaware Federal Derivative actions remain stayed. One is stayed pending the resolution of the putative securities class action, and the other is stayed pending resolution of the motion to dismiss the Delaware Chancery Consolidated Derivative action; and</span></div></div><div style="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.537%;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 California Federal Derivative action was voluntarily dismissed on January 22, 2024.</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 believes that the claims asserted in the Derivative Lawsuits are without merit and it intends to vigorously defend against them. However, any litigation is inherently uncertain, and any judgment or injunctive relief entered against FibroGen or any adverse settlement could materially and adversely impact its business, results of operations, financial condition, and prospects.</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 fourth quarter of 2021, the Company received a subpoena from the SEC requesting documents related to roxadustat&#8217;s pooled cardiovascular safety data. The Company is fully cooperating with the SEC. The Company cannot predict with any degree of certainty the outcome of the SEC&#8217;s investigation or determine the extent of any potential liabilities. The Company also cannot predict whether there will be any loss as a result of the investigation nor can it provide an estimate of the possible loss or range of loss. Any adverse outcome in this matter or any related proceeding could expose the Company to substantial damages, penalties, or reputational harm that may have a material adverse impact on the Company&#8217;s business, results of operations, financial condition, growth prospects, and price of its common stock.</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: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;">138</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></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Between 2022 and 2023, the Company&#8217;s Board of Directors received five litigation demands from purported shareholders of the Company, asking the Board of Directors to investigate and take action against certain current and former officers and directors of the Company for alleged wrongdoing based on the same allegations in the pending derivative and securities class action lawsuits. The Company may in the future receive such additional demands.</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;">Starting in October 2021, certain challenges have been filed with the China National Intellectual Property Administration against patents which claim a crystalline form of roxadustat. Final resolution of such proceedings will take time and the Company could not predict the ultimate outcome, or reasonably estimate the potential exposure.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indemnification Agreements</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 enters into standard indemnification arrangements in the ordinary course of business, including for example, service, manufacturing and collaboration agreements. Pursuant to these arrangements, the Company indemnifies, holds harmless, and agrees to reimburse the indemnified parties for losses suffered or incurred by the indemnified party, including in connection with intellectual property infringement claims by any third party with respect to its technology. The term of these indemnification agreements is generally perpetual any time after the execution of the agreement. The Company has entered into indemnification agreements with its directors and officers that may require the Company to indemnify its directors and officers against liabilities that may arise by reason of their status or service as directors or officers to the extent permissible under applicable law. The maximum potential amount of future payments the Company could be required to make under these arrangements is not determinable. The Company believes the estimated fair value of these arrangements is minimal.</span></p></ix:nonNumeric></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_07fa6fb6-2a64-4da7-bdbf-7c82b26efdd4" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">13.	Equity and 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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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;">Each share of Common Stock is entitled to </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_385e5858-86ec-476b-98ba-c5d861aee3ae" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:CommonStockVotingRights"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">one vote</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 holders of Common Stock are also entitled to receive dividends whenever funds are legally available and when declared by the board of directors, subject to the prior rights of holders of all classes of stock outstanding.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4fd6b1f2-94a2-4a50-91d7-9b3d912a2d4e" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Shares of Common Stock outstanding, shares of stock plans outstanding and shares reserved for future issuance related to stock options and RSU grants and the Company&#8217;s Employee Stock Purchase Plan (&#8220;ESPP&#8221;) purchases are as follows (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.007%;"/>
        <td style="width:1.601%;"/>
        <td style="width:1%;"/>
        <td style="width:12.885%;"/>
        <td style="width:1%;"/>
        <td style="width:1.621%;"/>
        <td style="width:1%;"/>
        <td style="width:12.885%;"/>
        <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: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;">Common stock outstanding</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ad379d2d-eb8b-4e36-85ca-9e6587645b01" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:CommonStockSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">98,770</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_571ce7ee-d355-4527-aae7-cf524c4e8722" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:CommonStockSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">94,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:#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;">Stock options outstanding</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b9e5266-b9a8-4b8a-8d0e-ef6fb7fea4c3" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,104</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6d47872f-2268-4c5a-a640-285d0ba06ac2" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,088</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">RSUs outstanding</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ccea5c71-d3c3-4fae-9817-5f3e0a940d19" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,404</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4432b1c9-d9cf-4266-a770-93e9d33863be" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,669</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Shares reserved for future stock options and RSUs grant</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_69e5fb40-9318-487c-a937-72c4d25096e9" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,769</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b469a105-d048-45d5-ba1a-d52dd6a98b1f" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,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:#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;">Shares reserved for future ESPP offering</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_128e72a0-07da-45ee-8275-bed0d2d5a016" contextRef="C_c867876f-e980-4297-9c42-81c5643cd3fd" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,952</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_cc16557d-bd03-40b0-9440-1ab67372cc94" contextRef="C_28284bee-e4c4-42f3-88d8-aa1be328eb8e" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,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:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top: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 shares of common stock reserved</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:2.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_818a2d7f-5eed-4136-b7c3-b1bf3d78a4a7" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:CommonStockSharesReserved" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">130,999</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_dfeda89f-fbc7-43b2-9dd9-4cc370c2c976" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:CommonStockSharesReserved" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">123,820</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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:8pt;font-family:Times New Roman;margin-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;">At-the-Market Program</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;">On February 27, 2023, the Company entered into an Amended and Restated Equity Distribution Agreement (the &#8220;at-the-market agreement&#8221;) with Goldman Sachs &amp; Co., LLC and BofA Securities, Inc. (each a &#8220;Sales Agent&#8221;), which amended and restated its Equity Distribution Agreement with Goldman Sachs &amp; Co., LLC, dated August 8, 2022, to add BofA Securities, Inc. as an additional Sales Agent under that agreement. Under the at-the-market agreement, the Company may issue and sell, from time to time and through the Sales Agents, shares of its common stock having an aggregate offering price 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_e921f327-d063-4150-9571-3c92673cb614" contextRef="C_b20a7854-a42e-44ba-9c35-0a281cc96828" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" unitRef="U_USD" scale="3" decimals="-2" format="ixt:num-dot-decimal">200.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 &#8220;ATM Program&#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-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the year ended 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 sold </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9f0b97bd-800b-476a-bddb-ebbb0b1ce72a" contextRef="C_3bb807ba-04ad-4d46-becb-e63d43a94e08" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" unitRef="U_shares" scale="3" decimals="INF" format="ixt:num-dot-decimal">2,472,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 under the ATM Program, for proceeds 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_fb9a9d52-9215-4914-90e9-d3558e06b2f1" contextRef="C_3bb807ba-04ad-4d46-becb-e63d43a94e08" name="us-gaap:ProceedsFromIssuanceOfCommonStock" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">48.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 commissions to Sales Agents, at a weighted-average offering prices per share 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_18acae3f-b79d-4582-bf55-8ecb717da73a" contextRef="C_3bb807ba-04ad-4d46-becb-e63d43a94e08" name="fgen:WeightedAverageOfferingPricesPerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">19.63</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;"> </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: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;">139</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></ix:exclude><p style="font-size:10pt;margin-top:8pt;font-family:Times New Roman;margin-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 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;font-style:italic;min-width:fit-content;">Stock Option and RSU 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;">Under the Company&#8217;s Amended and Restated 2005 Stock Plan (&#8220;2005 Stock Plan&#8221;), the Company may issue shares of Common Stock and options to purchase Common Stock and other forms of equity incentives to employees, directors and consultants. Options granted under the 2005 Stock Plan may be incentive stock options or nonqualified stock options. Incentive stock options may be granted only to employees and officers of the Company. Nonqualified stock options and stock purchase rights may be granted to employees, directors and consultants. The board of directors has the authority to determine to whom options will be granted, the number of options, the term and the exercise price. Options are to be granted at an exercise price not less than fair market value for an incentive stock option or a nonqualified stock option. Options generally vest over </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a0b56729-e043-47f7-83aa-68d94ff214ae" contextRef="C_d3b0e95a-6238-461b-991b-812b32ec223f" 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;">four 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;">. Options expire no more than </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a5f22ee9-e121-4c45-8a9d-ba86eb67a5ff" contextRef="C_80e9ec01-68cc-4d71-8bd0-61807175b193" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10</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 after the date of grant. Upon the effective date of the registration statement related to the Company&#8217;s initial public offering, the 2005 Plan was amended to cease the grant of any additional awards thereunder, although the Company will continue to issue common stock upon the exercise of previously granted stock options under the 2005 Plan.</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 2014, the Company adopted a 2014 Equity Incentive Plan (the &#8220;2014 Plan&#8221;) which became effective on November 13, 2014. The 2014 Plan is the successor equity compensation plan to the 2005 Plan. The 2014 Plan will terminate on </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_85ab7fbb-f027-4a73-af01-a67500c17097" contextRef="C_b490ff96-2542-4344-899b-17c8286897f4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate" 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;">November 12, 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 2014 Plan provides for the grant of incentive stock options, nonqualified stock options, restricted stock awards, stock appreciation rights, performance stock awards, performance cash awards, restricted stock units and other stock awards to employees, directors and consultants. Stock options granted must be at prices not less 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_6c034e4c-bac9-4876-8b0f-0d7a6d9ef15a" contextRef="C_53bc918c-4181-4772-9d28-479d0f2e1e08" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" unitRef="U_pure" scale="-2" decimals="INF">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 fair market value at date of grant. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_f18e6a62-9b06-42d3-b59e-24efc2659713" contextRef="C_b490ff96-2542-4344-899b-17c8286897f4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Option vesting schedules are determined by the Company at the time of issuance and generally have a four year vesting schedule (</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ef46aed8-e2b0-44ff-ab3a-e832fa6f57bc" contextRef="C_b02eeac9-405e-4cbb-8fa1-5618869e0285" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" unitRef="U_pure" scale="-2" decimals="2">25</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% vesting on the first anniversary of the vesting base date and quarterly thereafter over the next 3 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;"> Options generally expire </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7f1ea902-9643-4cd9-9b54-296fddb1b07d" contextRef="C_b490ff96-2542-4344-899b-17c8286897f4" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ten 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;"> from the date of grant unless the optionee is a 10% stockholder, in which case the term will be </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_65924d5a-35e2-4c29-acf9-1157c1a15c23" contextRef="C_b490ff96-2542-4344-899b-17c8286897f4" 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;"> from the date of grant. Unvested options exercised are subject to the Company&#8217;s repurchase right. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_f90697f9-404b-42b9-b46e-ce7552c85124" contextRef="C_b490ff96-2542-4344-899b-17c8286897f4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Shares reserved for issuance increases on January 1 of each year commencing on January 1, 2016 and ending on January 1, 2024 by the lesser of (i) the amount 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_60995ea8-49b4-4b00-a898-2822eabee67e" contextRef="C_fa364b09-74f7-4cb9-9b08-b298ee139f14" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" unitRef="U_pure" scale="-2" decimals="INF">4</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 number of shares issued and outstanding on December 31 immediately prior to the date of increase or (ii) such lower number of shares as may be determined by the board of directors. 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;">, the Company has reserved </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_32e72923-ab51-493f-aeb6-2971e4b5dce6" contextRef="C_951e0203-c48a-4d08-955f-b254e9a55270" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">10,768,935</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 that remains unissued for issuance under the 2014 Plan.</span></ix:nonNumeric></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;">Issuance of shares upon share option exercise or share unit conversion is made through issuance of new shares authorized under the plan.</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;">Certain Common Stock option holders have the right to exercise unvested options, subject to a right held by the Company to repurchase the stock, at the original exercise price, in the event of voluntary or involuntary termination of employment of the stockholder. The shares are generally released from repurchase provisions ratably over four years. The Company accounts for the cash received in consideration for the early exercised options as a liability. At 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><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_81d195ba-cf72-4723-bc36-c5033d658feb" contextRef="C_1328efd7-31fc-4729-9933-b94c0dad16c8" name="us-gaap:StockRepurchasedDuringPeriodShares" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_27704668-fd03-4fdf-ad1a-47a43f8803f8" contextRef="C_b490ff96-2542-4344-899b-17c8286897f4" name="us-gaap:StockRepurchasedDuringPeriodShares" unitRef="U_shares" 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;"> shares of Common Stock were subject to repurchase by the Company.</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 Fe</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">bruary 2023, the Company granted </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1c60ace6-7843-44cd-badd-625f8fbc8850" contextRef="C_b458ae5e-4dd0-40db-a156-3511b30b31df" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">159,150</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> total shares of PRSUs to certain executives for the performance period beginning January 1, 2023 and ending December 31, 2026. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In Fe</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">bruary 2022, the Company granted </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_50948b84-fee4-4b56-88e2-a4cca3e00787" contextRef="C_3b37eeed-a9e7-4dab-92c2-9e49eacbd228" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">280,450</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> total shares of PRSUs to certain executives for the performance period beginning January 1, 2022 and ending December 31, 2025. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The ultimate number of shares eligible to vest for PRSUs range from </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_997b9e87-8c87-4c6f-94e9-bf10c236e6e9" contextRef="C_49146cde-48bb-43d6-9da6-b54f2856ecc8" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" unitRef="U_pure" scale="-2" decimals="INF" 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;">% 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_6789a696-0007-4649-8960-cc9f6918484d" contextRef="C_009e6fff-97b4-4b93-aa48-ba8b29bbf832" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" unitRef="U_pure" scale="-2" decimals="INF" format="ixt:num-dot-decimal">200</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 target number of shares depending on achievement relative to the predefined clinical performance metrics and continued employment with the Company. During 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</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_ee2e0179-3a3c-4954-baeb-bd1d43f93126" contextRef="C_3af042cd-501f-4d16-ab33-f5cc1769db27" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">68,541</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 PRSUs have vested and been released.</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 Fe</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">bruary 2023, the Company granted </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_004f1768-f1fd-4a94-a554-9c651660a005" contextRef="C_230eef7e-0721-4d7a-9dba-1e0bcfce9bbd" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">159,150</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> total shares of TSR awards to certain executives for the performance period beginning January 1, 2023 and ending December 31, 2026. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In Fe</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">bruary 2022, the Company granted </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6ee06dec-417c-4723-8ea6-6134e6f82ea4" contextRef="C_2c0f98cd-577c-4626-bc31-c1d608665324" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" unitRef="U_shares" decimals="0" format="ixt:num-dot-decimal">280,450</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> total shares of TSR awards to certain executives for the performance period beginning January 1, 2022 and ending December 31, 2025. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The ultimate number of shares eligible to vest for the TSR awards range from </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_12c9f3b0-5260-4166-bc08-b1cce730a6bb" contextRef="C_43212964-e3d4-447a-be42-9ee2d89d9290" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" unitRef="U_pure" scale="-2" decimals="INF" 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;">% 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_8f1ad75c-6874-4180-b3f4-9325612b9e58" contextRef="C_e82769fa-c6cc-4d5b-a6e6-4a445f9fbf48" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" unitRef="U_pure" scale="-2" decimals="INF" format="ixt:num-dot-decimal">200</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 target number of shares depending on the TSR of FibroGen&#8217;s common stock as compared to companies in the NBI index, and continued employment with the Company. During 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</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_3572b86c-6842-4703-85e5-cec750334ade" contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">110,370</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 TSR awards have vested and been released.</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: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;">140</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></ix:exclude><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_12f76ca4-323a-47fa-be47-e6f65487e3a4" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock option transactions, including forfeited options granted under the 2014 Plan as well as prior plans, are summarized below:</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="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:44.009%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:11.062%;"/>
        <td style="width:1%;"/>
        <td style="width:1.38%;"/>
        <td style="width:1%;"/>
        <td style="width:10.502%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:11.062%;"/>
        <td style="width:1%;"/>
        <td style="width:1.38%;"/>
        <td style="width:1%;"/>
        <td style="width:10.602%;"/>
        <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 <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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 per <br/>Share</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 Contractual <br/>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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 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: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;">Outstanding 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_52295601-9300-4791-93e0-17890ef1bb7a" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,088</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eaa631c7-c24d-43d6-a2c4-4a7863ead4ed" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">29.19</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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;">Granted</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0942e5d5-4f62-43e5-ae0e-3ea5e00355bf" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,738</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d62333e-97ed-4289-9dde-04fd837c8d06" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">7.27</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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>
        <td style="white-space:pre-wrap;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 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: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;">Exercised</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_38e02d6b-2ecd-488c-b07e-a479eb80dac3" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear" unitRef="U_shares" scale="3" decimals="-3">122</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5f3e92ac-4dc9-43c7-abdb-ff10f795aa49" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">12.42</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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>
        <td style="white-space:pre-wrap;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 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: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;">Forfeited</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_b8eb1251-1e98-4914-821b-c28c3d0cf2cf" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,725</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f2ca7160-7500-4085-89ae-0bba5c328fb3" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">22.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: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 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: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 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: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;">Expired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_e3863e51-d2f9-4c4f-a690-b1d5430d963e" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,875</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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d7450f1-9fd8-4785-b1c1-7a91050c94f4" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">34.38</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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>
        <td style="white-space:pre-wrap;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 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: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;">Outstanding 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="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_f781fe40-498f-42bc-8ebf-c7b9bd56ca30" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,104</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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_46b34018-15d1-4cc0-8754-22f1846ef05e" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">18.21</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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_e7c33510-f558-459f-92d2-533d79154289" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7.26</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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_09bdc99b-8731-48b1-9cea-c213cee8ad55" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" 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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Vested and expected to vest, 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c60edd85-60cb-49f1-961d-7e3b35b6dfb8" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_491de45f-bf6f-4833-8631-636d8aaf307b" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">19.21</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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_c6ea3264-7237-41b6-afc0-1eb39e22d682" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7.11</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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_693cd642-4c1d-4758-9d89-b33e9b2b3054" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">68</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Exercisable 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_56dc0a34-0d81-433d-a9dd-c6b866aac279" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,688</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c5df0762-aab8-4600-80dc-3a184d118d59" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">30.66</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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_f6412345-7118-4abb-8e38-f87136f2bf0c" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.04</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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa05c13b-eb06-4718-bed4-09aadc8dadc5" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" 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>
      </table></ix:nonNumeric></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 estimated weighted-average fair value of the stock options granted during 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_01e77281-c8d2-4eec-95ce-ae82d21abec7" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">7.27</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_fd1ba52c-1920-4c15-8dd0-f6f34ddae30d" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">14.72</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_7d0c7f43-9b8e-4209-90e0-401ccdaa62f6" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">35.58</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 intrinsic value of options exercised 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</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_9b8654fb-44ab-4b77-87c1-d642d49ade02" contextRef="C_951e0203-c48a-4d08-955f-b254e9a55270" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.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, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bdeade57-18e7-4a58-a29b-04f33b6e498c" contextRef="C_68ca4370-c0da-4899-81b5-ecfd60e71dc6" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" 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 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_bacf3622-8966-499b-a444-75b6457315d7" contextRef="C_b33c70ef-163d-44f3-a4d5-4beab3fab652" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" unitRef="U_USD" scale="6" decimals="-5">13.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, respectively.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_bcbf2233-aef8-4f84-a5be-dfdc0762c688" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 activities of RSUs, PRSUs and TSR awards:</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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:58.928%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:15.017%;"/>
        <td style="width:1%;"/>
        <td style="width:1.26%;"/>
        <td style="width:1%;"/>
        <td style="width:19.796000000000003%;"/>
        <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 <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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Fair Value at Grant</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;">Unvested at December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6bf81c08-b4a8-438a-bb55-9579a73f90ac" contextRef="C_00ff4cc6-603c-4028-b586-66f9708a9dab" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,669</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dc2bf3f1-b73f-4d1d-9424-9addc9cbcbe1" contextRef="C_00ff4cc6-603c-4028-b586-66f9708a9dab" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">18.80</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Granted</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4f84a1a9-85db-44f9-9120-86fe7613353e" contextRef="C_b35f67ea-70ba-4200-a0f3-3b3fff354071" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,612</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b76567a7-7f91-4f3e-b2bd-9bf7a730bf1a" contextRef="C_b35f67ea-70ba-4200-a0f3-3b3fff354071" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">11.61</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Vested</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_3f2da28c-ee5e-43c0-9e21-8bc0e57d2a80" contextRef="C_b35f67ea-70ba-4200-a0f3-3b3fff354071" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,002</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_6be1a53a-a894-4c51-94a1-3da80287fe09" contextRef="C_b35f67ea-70ba-4200-a0f3-3b3fff354071" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">14.70</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Forfeited</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_91a302b4-c42f-421b-bfd7-cf69ea46d750" contextRef="C_b35f67ea-70ba-4200-a0f3-3b3fff354071" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,875</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fb61b500-df3b-4838-9d8e-0f1b395295c5" contextRef="C_b35f67ea-70ba-4200-a0f3-3b3fff354071" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">20.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>
       </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: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="white-space:nowrap;vertical-align:bottom;border-bottom:2.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_c1e21afb-1714-4146-a54e-1332d40af6f3" contextRef="C_5c3d02e2-fe4d-43ac-8f9d-1eb5284d29a6" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,404</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_161fde81-9776-4562-a9f6-28edec19ec0e" contextRef="C_5c3d02e2-fe4d-43ac-8f9d-1eb5284d29a6" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2">12.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="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><p style="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:10pt;font-family:Times New Roman;min-width:fit-content;">The numbers of PRSUs and TSR awards granted included in the table above reflect the shares that could be eligible to vest at </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_711a3435-d351-403e-b531-f7e82ea94225" contextRef="C_b8f4b6e4-aee2-4158-8eb3-5a763ab922f0" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" 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 target number of shares.</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;">Among the vested RSUs during the year ended 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:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8bd64e4-38da-439a-820c-2eae6ac8058b" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,648,201</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 released and issued, while the remaining was withheld for the related payroll taxes. The estimated weighted-average fair value of the 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</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_2c39b98e-dae8-4a04-b03f-fa222e9f0f95" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">11.61</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_1ee781c6-dc0b-4d98-ae16-92705801b754" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">14.68</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_23bc49a9-5dfa-460d-9663-6711bee35c5b" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">30.19</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively.</span></p><p style="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;font-style:italic;min-width:fit-content;">ESPP</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 2014, the Company adopted a 2014 ESPP that became effective on November 13, 2014. The 2014 ESPP is designed to enable eligible employees to periodically purchase shares of the Company&#8217;s common stock at a discount through payroll deductions 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_7a60ee0e-ee15-46c5-926b-84116c87484c" contextRef="C_8161ddbe-54e2-4bb7-99f5-03366cbf8d26" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate" unitRef="U_pure" scale="-2" decimals="2">15</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of their eligible compensation, subject to any plan or IRS limitations. At the end of each offering period, employees are able to purchase shares at </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ac3a750f-0d7a-4405-b6f0-f2aee3102b66" contextRef="C_8161ddbe-54e2-4bb7-99f5-03366cbf8d26" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">85</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 lower of the fair market value of the Company&#8217;s common stock on the first trading day of the offering period or on the last day of the offering period. Purchases are accomplished through participation in discrete offering periods. The 2014 ESPP is intended to qualify as an ESPP under Section 423 of the Internal Revenue Code. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_691f166b-564f-4b79-afcb-9cc970ddfd4e" contextRef="C_86aeaf95-72b1-4870-a0db-88d72f44070b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company has reserved </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1d7602c5-2744-47cf-b3b8-65ad4f7eed7a" contextRef="C_c7330853-b638-42fb-97ae-193aada07397" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,600,000</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 for issuance under the 2014 ESPP and shares reserved for issuance increases January 1 of each year, which commenced on January 1, 2016, by the lesser of (i) a number of shares 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_a74d5e97-7e17-439c-82d5-4dcdbae073d6" contextRef="C_8161ddbe-54e2-4bb7-99f5-03366cbf8d26" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" unitRef="U_pure" scale="-2" decimals="INF">1</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 total number of outstanding shares of common stock on December 31 immediately prior to the date of increase; (ii) </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_40e0973f-58c4-45b4-8e6b-18e30d0524ff" contextRef="C_8161ddbe-54e2-4bb7-99f5-03366cbf8d26" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,200,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares or (iii) such number of shares as may be determined by the board of directors.</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> There 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_9a4d3c0a-4953-46b5-8f55-53ef8ef80098" contextRef="C_86aeaf95-72b1-4870-a0db-88d72f44070b" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">361,911</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_a94f566a-323e-45b1-8e83-a2302137f18d" contextRef="C_5ffb95b0-9909-4502-8d55-3a41b5c36bdf" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">327,298</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;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bc83b2da-ae1f-40d0-a93d-ae4ff39cf924" contextRef="C_ea3f32a9-135e-4a96-aee7-ba59212b1b46" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">213,505</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares purchased by employees under the 2014 Purchased 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, respectively.</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: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;">141</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></ix:exclude><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock-Based Compensation</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7efa741b-d924-46b0-a92e-a1aabb1d839a" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" escape="true"><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;">Stock-based compensation expense was recorded directly to research and development and selling, general and administrative expense 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 (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: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:43.78%;"/>
        <td style="width:1.84%;"/>
        <td style="width:1%;"/>
        <td style="width:14.9%;"/>
        <td style="width:1%;"/>
        <td style="width:1.84%;"/>
        <td style="width:1%;"/>
        <td style="width:14.9%;"/>
        <td style="width:1%;"/>
        <td style="width:1.84%;"/>
        <td style="width:1%;"/>
        <td style="width:14.9%;"/>
        <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;">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;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_94ac943f-d16e-4991-a9ce-679f1661f235" contextRef="C_53103ab2-3a7a-4d7d-93af-4497295b7078" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,462</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b261377-169b-4718-906d-3514090953fa" contextRef="C_bfb54ede-9fe4-45a3-8ed9-592de03fab65" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34,861</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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_33ddba8e-0326-449e-b24e-db09f09e45f3" contextRef="C_632750a9-441c-4788-9b20-27041510e572" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">40,547</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Selling, general and administrative</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1ec18a52-34ba-47cd-aa7e-65386902e210" contextRef="C_95f6cf41-e8d8-45e2-b37a-63281db2cba5" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25,305</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_44692cbe-95f3-45ec-b432-0f345bc6db55" contextRef="C_86497fcc-651c-446b-9de9-6bd0791a23de" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30,740</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: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:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5528954f-c4ab-463d-94a4-d24c375d03e1" contextRef="C_8c26fd17-5407-4883-a9b1-f63dc695e38a" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30,614</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 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a83d2c49-8e7a-49d0-a81b-2e691982d404" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">50,767</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_46a238c5-3380-4d8f-acf8-ea7afa6f5902" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">65,601</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: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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1aba5434-5798-4ff4-8f0c-7fb3acb241a7" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,161</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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:continuation id="F_8ef075d3-b134-45fa-8755-99c1eebb7e0c_1"><p style="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:10pt;font-family:Times New Roman;min-width:fit-content;">The Company estimates the fair value of stock options using the Black-Scholes option valuation model. The fair value of employee stock options and RSUs is being amortized on a straight-line basis over the requisite service period of the awards. Compensation cost for PRSUs is expensed over the respective vesting periods when the achievement of performance criteria is probable. The Company estimates the fair value of the TSR awards using the Monte Carlo valuation model to simulate the probabilities of achievement. Compensation cost for the TSR awards is recognized over the requisite service period, regardless of when, if ever, the market condition is satisfied. The fair market value of common stock is based on the closing price of the Company&#8217;s common stock as reported on the Nasdaq Global Select Market on the date of the grant.</span><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 of employee stock-based compensation is estimated using the following assumptions:</span></p><div style="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.537%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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;"> Expressed as a weighted-average, the expected life of the options is based on the average period the stock options are expected to be outstanding and was based on the Company&#8217;s historical information of the option exercise patterns and post-vesting termination behavior as well as contractual terms of the instruments. The expected term of 2014 ESPP shares is the average of the remaining purchase periods under each offering period. The expected term of TSR awards is determined based on the grant date to the end of the performance period.</span></div></div><div style="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.537%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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;"> The Company considers its historical volatility data for volatility considerations for all of its stock-based compensation types except for its TSR awards, which is based on a blend of the Company&#8217;s and comparable public entities&#8217; historical volatility.</span></div></div><div style="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.537%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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;"> Expressed as a weighted-average, the risk-free interest rate assumption is based on the U.S. Treasury instruments whose term was consistent with the expected term of the Company&#8217;s respective stock-based compensation types.</span></div></div><div style="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.537%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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;"> The Company has never declared or paid any cash dividends and does not plan to pay cash dividends in the foreseeable future.</span></div></div></ix:continuation></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_1faee0c0-4542-4f32-a22a-06a3492d794e" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 assumptions used to estimate the fair value of stock options granted and ESPPs using the Black-Scholes option valuation model were 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: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:41.248%;"/>
        <td style="width:1.74%;"/>
        <td style="width:1%;"/>
        <td style="width:13.923%;"/>
        <td style="width:1%;"/>
        <td style="width:2.32%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:13.923%;"/>
        <td style="width:1%;"/>
        <td style="width:2.32%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:13.923%;"/>
        <td style="width:1%;"/>
        <td style="width:2.601%;"/>
       </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;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="12" 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;">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;"><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>
       </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;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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;"><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;">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 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>
        <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>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;">Stock Options</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Expected term (in years)</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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_f4288703-dd98-4950-9d03-caa90b3659da" contextRef="C_5557388d-a83e-4fbc-91f0-a6e63de32eb6" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.1</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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_5fc82c0d-10d8-4b0d-81f4-1d835edf9a7b" contextRef="C_08984c92-4fb6-4b96-87fe-b04e6fbdf4ca" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.7</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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_fffc8bf9-4bef-445a-96ec-5a11211a2a01" contextRef="C_1cd63588-2c9d-4afb-9ad3-1e4fc4fe5d43" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.7</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;"><p style="font-size:10pt;margin-top:0;font-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:#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;">Expected volatility</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e6d84679-61df-4e9c-a9ea-3626629a771b" contextRef="C_5557388d-a83e-4fbc-91f0-a6e63de32eb6" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">92.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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_14cbdd4f-f94c-4c7a-96cf-d4809ef2b690" contextRef="C_08984c92-4fb6-4b96-87fe-b04e6fbdf4ca" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">66.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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_59e46366-19b9-4827-ad85-64af3b7aba46" contextRef="C_1cd63588-2c9d-4afb-9ad3-1e4fc4fe5d43" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">61.9</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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>
       </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;">Risk-free interest rate</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0435f304-a020-4a32-a975-ef2383797c4f" contextRef="C_5557388d-a83e-4fbc-91f0-a6e63de32eb6" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">3.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_89788c05-2026-4110-bc78-290f22ca532e" contextRef="C_08984c92-4fb6-4b96-87fe-b04e6fbdf4ca" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" 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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ef48b85-8893-42d6-b388-c8948bdbe7e9" contextRef="C_1cd63588-2c9d-4afb-9ad3-1e4fc4fe5d43" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" 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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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>
       </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;">Expected dividend yield</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e6302181-18ef-47d4-a0f5-b456fe06f549" contextRef="C_5557388d-a83e-4fbc-91f0-a6e63de32eb6" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" unitRef="U_pure" scale="-2" decimals="2" 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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1259779a-49d2-4af2-8c27-b32d4a690a6d" contextRef="C_08984c92-4fb6-4b96-87fe-b04e6fbdf4ca" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" unitRef="U_pure" scale="-2" decimals="2" 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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c627cdd8-8f3a-45c6-b018-066b1591bea7" contextRef="C_1cd63588-2c9d-4afb-9ad3-1e4fc4fe5d43" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" unitRef="U_pure" scale="-2" decimals="2" 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>
       </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;">Weighted average estimated fair value</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a6994e2f-102f-4e9a-8d97-d080c5ac18a9" contextRef="C_5557388d-a83e-4fbc-91f0-a6e63de32eb6" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">4.67</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_848d11ae-7bff-40ad-91a9-da813e1d3a5f" contextRef="C_08984c92-4fb6-4b96-87fe-b04e6fbdf4ca" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">7.88</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f81318fc-7d1d-4c23-a64b-5d8040575c90" contextRef="C_1cd63588-2c9d-4afb-9ad3-1e4fc4fe5d43" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">20.21</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-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="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: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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;">ESPPs</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       </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;min-width:fit-content;">Expected term (in years)</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 colspan="2" style="vertical-align: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_85fe0f05-a46d-49ea-9369-5be0f296cc3c" contextRef="C_547397e7-eb1b-49a0-a571-16036d2846dc" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span><ix:nonNumeric id="F_2a63a1bb-3f7b-4c4c-9640-7c878bfddc63" contextRef="C_b1abd3f6-9e5f-4849-a22f-19625fdae480" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.0</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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 colspan="2" style="vertical-align: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_64ae28bf-121b-40ce-b242-e38e18bdd192" contextRef="C_c4776c5f-9047-4c34-b331-fbe33f89b649" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5 </span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">- </span><span><ix:nonNumeric id="F_0d2fec6a-f909-4bee-8709-1c489f62d139" contextRef="C_10344a47-fa45-4d9c-9af7-8a5f5494c8a3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.0</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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 colspan="2" style="vertical-align: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_6ec1a2a1-ff6c-4d9c-a410-fd834e88a519" contextRef="C_92195a5b-b6f3-4971-89a8-3a0b2aff7918" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5 </span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">- </span><span><ix:nonNumeric id="F_ae01a260-b6ec-456c-8329-5cf91210e4e1" contextRef="C_d9313f8c-5a9b-4f62-a1eb-a404a4d5e997" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.0</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;"><p style="font-size:10pt;margin-top:0;font-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:#cff0fc;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;min-width:fit-content;">Expected volatility</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d0054d8-24b2-4197-89b7-67074e1ee302" contextRef="C_965f9dfd-db09-4014-9ff2-4b3ce1fbeca1" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">56.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ce0c0a8e-7b34-469c-9c68-ce56ed048cdd" contextRef="C_965f9dfd-db09-4014-9ff2-4b3ce1fbeca1" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">271.2</ix:nonFraction></span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d47bc071-83a6-46a7-8c89-a9252bb2de9b" contextRef="C_1c8e2c62-53fb-4b38-b9a7-a49e48f6693a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">58.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2b6d5037-01ac-4a47-8fb6-76c69a4957b1" contextRef="C_1c8e2c62-53fb-4b38-b9a7-a49e48f6693a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">97.6</ix:nonFraction></span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4e1803a7-32cd-4e25-8308-0affff5e1b8f" contextRef="C_a8e9acae-1212-4097-9c37-f844af033f0a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">47.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5885d5cb-f0b3-4dd6-9991-e97b09e8c75e" contextRef="C_a8e9acae-1212-4097-9c37-f844af033f0a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">104.4</ix:nonFraction></span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="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: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;">Risk-free interest rate</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_989d97b7-a18d-4888-a86c-54baa8cdbeea" contextRef="C_965f9dfd-db09-4014-9ff2-4b3ce1fbeca1" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3ed995bf-3e40-4e98-97d8-beb319fbab5a" contextRef="C_965f9dfd-db09-4014-9ff2-4b3ce1fbeca1" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">5.2</ix:nonFraction></span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_863c2323-30c3-4d98-a98c-da42e22a110a" contextRef="C_1c8e2c62-53fb-4b38-b9a7-a49e48f6693a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_db24c8cd-8769-47ad-9b95-edbfbeb218ce" contextRef="C_1c8e2c62-53fb-4b38-b9a7-a49e48f6693a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">4.5</ix:nonFraction></span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5af6a6a8-6a61-43f1-b370-f3ca68f12459" contextRef="C_a8e9acae-1212-4097-9c37-f844af033f0a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_672698a4-f26f-4396-8369-0237d1acdcbb" contextRef="C_a8e9acae-1212-4097-9c37-f844af033f0a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.2</ix:nonFraction></span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Expected dividend yield</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b1905b2-6081-4985-b689-e28c39eb8668" contextRef="C_965f9dfd-db09-4014-9ff2-4b3ce1fbeca1" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" unitRef="U_pure" scale="-2" decimals="2" 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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4ba3ac17-d755-4fc2-b40a-b7ab81da8607" contextRef="C_1c8e2c62-53fb-4b38-b9a7-a49e48f6693a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" unitRef="U_pure" scale="-2" decimals="2" 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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06acaf48-17b9-4d73-9a60-242508f9dada" contextRef="C_a8e9acae-1212-4097-9c37-f844af033f0a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" unitRef="U_pure" scale="-2" decimals="2" 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>
       </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;">Weighted average estimated fair value</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c779862-b302-4bbb-9c73-a7db62ac180e" contextRef="C_965f9dfd-db09-4014-9ff2-4b3ce1fbeca1" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">5.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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fac69bf1-3e6c-4210-adb9-dfb80772c86f" contextRef="C_1c8e2c62-53fb-4b38-b9a7-a49e48f6693a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">8.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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_34cef8bc-a049-4817-be86-9b6eab182f2c" contextRef="C_a8e9acae-1212-4097-9c37-f844af033f0a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">12.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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-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: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;">142</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></ix:exclude></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cf0e98c4-f890-40e6-a2c1-876ffb8a6efa" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 assumptions used to estimate the fair value of the TSR awards using the Monte Carlo valuation model were 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: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:44.96%;"/>
        <td style="width:1.9%;"/>
        <td style="width:1%;"/>
        <td style="width:21.34%;"/>
        <td style="width:1%;"/>
        <td style="width:2.62%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:21.34%;"/>
        <td style="width:1%;"/>
        <td style="width:2.84%;"/>
       </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;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="7" 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;">Year 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;"><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>
       </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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;">TSR awards</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Expected term (in years)</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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_698aa578-2ac1-4ca5-99ac-29c6706faf0a" contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.9</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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_2ba8b422-1f4c-4c9c-96cd-e556167e1790" contextRef="C_61185a7e-4cc2-4fa4-9a59-c6e7007d895e" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.9</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;"><p style="font-size:10pt;margin-top:0;font-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:#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;">Expected volatility</span></p></td>
        <td style="white-space:pre-wrap;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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e91b39e5-9878-4665-be90-531ec7fe9b90" contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">69.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fb25ef5a-1899-4551-beb3-518ca6932e0f" contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">73.3</ix:nonFraction></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top: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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41eba658-e153-4856-a968-e78c5538606c" contextRef="C_61185a7e-4cc2-4fa4-9a59-c6e7007d895e" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">69.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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>
       </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;">Risk-free interest rate</span></p></td>
        <td style="white-space:pre-wrap;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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d0867727-f8c8-440c-8286-c9dabcac3cd2" contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e20e6a0d-b64b-4dbd-9082-34666d90dcd9" contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">4.2</ix:nonFraction></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top: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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5f0ede77-13d6-48dd-98cd-4fa112cd5c72" contextRef="C_61185a7e-4cc2-4fa4-9a59-c6e7007d895e" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">1.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="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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Expected dividend yield</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a290bac6-9a43-4f1b-8810-c632acfa0ffd" contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" unitRef="U_pure" scale="-2" decimals="2" 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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41e786c9-28e6-4f6f-b94f-eeb016fbbc30" contextRef="C_61185a7e-4cc2-4fa4-9a59-c6e7007d895e" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" unitRef="U_pure" scale="-2" decimals="2" 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>
       </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;">Weighted average estimated fair value</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_efb97abb-f399-46c2-ac5a-9debbada40a8" contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">28.90</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_761a485d-22f8-411f-8b2e-29c9da0a9e36" contextRef="C_61185a7e-4cc2-4fa4-9a59-c6e7007d895e" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_UnitedStatesOfAmericaDollarsShare" scale="0" decimals="2" format="ixt:num-dot-decimal">24.01</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-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:12pt;font-family:Times New Roman;margin-bottom: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;">, 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_708fb342-4028-4beb-9093-385d06aaa686" contextRef="C_80abdbfe-1ea4-4f78-9a32-0e16549e5993" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" 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 of total unrecognized compensation costs, net of estimated forfeitures, related to non-vested stock option awards granted that will be recognized on a straight-line basis over the weighted-average period of </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_0300d9ee-5999-4645-ab3d-1d749bb2257e" contextRef="C_26f2e989-5f07-458e-a4d2-388ca07124d6" 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.81</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. 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;">, 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_909ac5d9-60c7-472b-8b44-713091c8e873" contextRef="C_6fb9042d-0170-48a2-9c58-e516bcaec174" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">35.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 total unrecognized compensation costs, net of estimated forfeitures, related to non-vested RSUs, PRSUs and TSR awards granted that will be recognized on a straight-line basis over the weighted-average period of </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_3dfd26d4-2bf6-4eae-8e8c-d7661b1c1e50" contextRef="C_b8f4b6e4-aee2-4158-8eb3-5a763ab922f0" 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.09</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.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Subsidiary Stock and Non-Controlling Interests</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;">FibroGen Europe</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 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively, FibroGen Europe had a total 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_1463ea16-d12f-4433-a813-558dce303b5e" contextRef="C_8fb04946-4ae6-4072-8ec9-ffc9f2a84ad1" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_b5bee3fc-9f69-4695-a9a2-0e1de9598686" contextRef="C_ddc9ba9c-5861-4aa2-b92e-63b73c62e1d2" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">42,619,022</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;"> shares of Preferred Stock outstanding, of which there 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_ef681a17-1c38-4c94-ba5b-24cf17b46e07" contextRef="C_bb0b20be-5ebd-46ff-962e-5b39583edd9d" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_bda278cc-8ccc-4fcf-a7ce-fc51acb2e016" contextRef="C_8fdde903-c818-40c6-862b-d0e48161bace" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,700,845</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;"> shares of Series A Preferred Stock, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fe4f769c-8194-4278-beb6-07a99ba676c1" contextRef="C_59b97078-5956-4d16-9e00-c3b9d75ab86e" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_b88e613c-c2e4-494a-8a3c-188b0ea7a42e" contextRef="C_a4a29692-8d36-4f1f-b49c-9ec01e60bbd7" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,875,000</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;"> shares of Series B Preferred Stock, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a721601c-7ce6-4c4b-a27c-8091ba447a7a" contextRef="C_4b18c675-f7ca-483d-b296-3fbb22c4ebcb" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_a5c3db13-e6b5-45d1-9744-da5eba1e99c4" contextRef="C_e64035f6-74f7-43ad-8c0c-b5cc97e8e131" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,599,503</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;"> shares of Series C Preferred Stock, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e0ae0180-2c9f-4f55-8fc0-f9532026dced" contextRef="C_7bed8eff-b846-4d98-aa8d-91b72fc5710a" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_0a9eca4c-162e-44e9-acf0-a91ebc3181da" contextRef="C_b2310234-45bf-40f1-a1c6-b8d494cac233" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">1,520,141</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;"> shares of Series D Preferred Stock, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1d84be24-2808-47b2-bb62-330736f99c19" contextRef="C_7e8436c1-49a6-41fa-a4fb-ea5535c12b40" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_8db7a742-5d8e-4f5c-90ab-d4036ce47890" contextRef="C_09f0cc6d-149d-40c0-bb99-259b3d1af0eb" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">459,565</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;"> shares of Series E Preferred Stock, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b8d35037-5794-464d-abaa-7bf8b450f04c" contextRef="C_7497727e-27a1-44f0-a67c-9561eae1dc3a" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_11cfd55b-f292-44ee-8fd0-6e956659dfa7" contextRef="C_8d9e40ae-957f-4260-b5e8-454c8d0adade" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">5,714,332</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;"> shares of Series F Preferred Stock, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_178c2c53-38d6-4299-a47f-69f712c9fe03" contextRef="C_d94871d9-155f-45b6-85d5-3341ee165465" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_6fa7e6b8-baad-40f6-ac2b-d73e035c18d6" contextRef="C_79a389cf-3893-413e-92c7-f9510408990c" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">9,927,500</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;"> shares of Series G Preferred Stock 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_08561c7f-1b79-4e4e-b237-34aee34ce9d1" contextRef="C_98f064b8-c8d1-446b-9181-9c5edbdb8a71" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_ba77974b-3fc9-4525-8b53-02fbe226285b" contextRef="C_26dced14-d578-4a08-9c2b-d659676a67ce" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">19,822,136</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;"> shares of Series H Preferred Stock, all of which shares no longer have any right to be exchanged for FibroGen, Inc. Common Stock. The holders of FibroGen Europe&#8217;s shares of Preferred Stock (&#8220;Preferred Shares&#8221;) have the following rights, preferences and privileges:</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Dividend Rights </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; When the assets of FibroGen Europe are distributed (except for distribution in a liquidation), Preferred Shares shall have the same rights to dividend or other forms of distribution as shares of Common Stock of FibroGen Europe. In the event of a merger, holders of Preferred Shares do not have the right to demand FibroGen Europe to redeem all or part of their Preferred Shares. FibroGen Europe may repurchase shares of Common Stock or Preferred Shares for consideration.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Pre-emptive Right </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; Preferred Shares shall have pre-emptive subscription right in accordance with the Finnish Limited Liability Companies Act if additional shares are issued, option rights are given, or convertible loan is taken, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">provided</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;font-style:italic;min-width:fit-content;">however</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, that the foregoing pre-emptive right does not apply to a directed share issue, for which two thirds (2/3) of the voting shares represented at a general meeting of shareholders approve for an important legitimate cause.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_c4580b44-c26e-4f58-af0d-e01cfde3c154" contextRef="C_7047ebdf-c9fc-481e-b8cf-3f6a15695bc2" name="us-gaap:PreferredStockRedemptionTerms"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Redemption Right </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; If a Preferred Share can be redeemed by a majority shareholder owning more than ninety percent (</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_11bb55db-161d-4506-a652-fa1d2a6e630b" contextRef="C_7047ebdf-c9fc-481e-b8cf-3f6a15695bc2" name="fgen:RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares" unitRef="U_pure" scale="-2" decimals="INF">90</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 shares of FibroGen Europe in accordance with the provisions of the Finnish Limited Liability Companies Act, the minority holders of Preferred Shares have the right to request redemption of their shares.</span></ix:nonNumeric></span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Voting Right </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; Each share has </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_1992f0f7-9188-4d7b-adab-96def01e4212" contextRef="C_7047ebdf-c9fc-481e-b8cf-3f6a15695bc2" name="us-gaap:PreferredStockVotingRights"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">one vote</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Preferred Shares have voting rights only in situations that are specifically provided in the Articles of Association, which include a merger transaction and directed share issue. In addition, Preferred Shares have right to vote in a general shareholder meeting for amending the Articles of Association if the amendment will affect the rights of Preferred Shares.</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: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;">143</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></ix:exclude><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Conversion Right</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> (1-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_6dea86a6-ee51-45c6-ade6-8cb93baccc35" contextRef="C_ddc9ba9c-5861-4aa2-b92e-63b73c62e1d2" name="us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion" unitRef="U_shares" decimals="INF">1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> basis into Common Stock of FibroGen Europe):</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;">Voluntary conversion right: Preferred Shares can be converted into common shares upon the written request of a shareholder provided that the conversion is feasible within the maximum and minimum amounts of shares of classes of FibroGen Europe as set forth in its Articles of Association. Such request can be withdrawn before the notification of conversion is filed with the Finnish Trade Register.</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;">Compulsory conversion right: Preferred Shares will be converted into common shares if (i) FibroGen Europe&#8217;s shares are listed in a stock exchange or other trading system in the European Economic Area, or (ii) FibroGen Europe&#8217;s recombinant collagen and gelatin production technology is being put into commercial use in the area of Europe and certain other European states. Commercial use means there is income generated from the first commercial sale of the products incorporating the above-mentioned technology and does not include license fees, development financing, milestone payments or income from test products or equipment used in research. The board of directors of FibroGen Europe shall notify the shareholders of the compulsory conversion in writing, and the shareholders shall request to convert their shares within the timeframe provided in the notification. Should the shareholders fail to make the conversion request within the time limit, FibroGen Europe may redeem the shares of such shareholders.</span></div></div><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Liquidation Right </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; In the event of a dissolution of FibroGen Europe, holders of Preferred Shares are entitled to be paid in an amount equal to the subscription price of the shares before any distribution is made to holders of common shares. Among holders of Preferred Shares, holders of shares of Series F Preferred Stock are entitled to be paid in an amount equal to the subscription price of Series F Preferred Stock before any distribution is made to holders of other Preferred Shares.</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;">Upon the initial public offering and as described above, all eligible FibroGen Europe preferred shares were exchanged 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_835eedbc-d601-45d7-863d-a046b921a2ab" contextRef="C_6c42c9e1-23ed-4be2-a897-0b4a07cbcfae" name="us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">958,996</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 FibroGen Common Stock. No other FibroGen Europe shares have the right to be exchanged for FibroGen, Inc. Common Stock.</span></p><p style="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;font-style:italic;min-width:fit-content;">FibroGen Cayman</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;">FibroGen Cayman had </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_56502287-fd52-4628-a062-72c90996716b" contextRef="C_c5c4b2d6-09ca-4252-accc-c6b9b5a7a55e" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_0b39e7c8-c333-48a0-b30b-de5ce99d122a" contextRef="C_0c685793-fd28-4163-b729-a03a05362e9f" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">6,758,000</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;"> Series A Preference Shares outstanding 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, respectively. The holders of the FibroGen Cayman Series A Preference Shares have the following rights, preferences and privileges:</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Liquidation </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; In the event of liquidation, dissolution, or winding up of the Company, either voluntary or involuntary, including by means of a merger, the holders of FibroGen Cayman Series A Preference Shares are entitled to be paid an amount equal to the product of the number of shares held by a holder of shares of FibroGen Cayman Series A Preference Shares and the original issue 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_914ba287-3f50-49a8-8cc0-1560b129fd9f" contextRef="C_c5c4b2d6-09ca-4252-accc-c6b9b5a7a55e" name="fgen:PreferredSharesIssuedPricePerShare" unitRef="U_UnitedStatesOfAmericaDollarsShare" decimals="INF">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;"> (subject to equitable adjustment for any stock dividend, combination, split, reclassification, recapitalization) plus all declared and unpaid dividends thereon.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Conversion </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; Each share of FibroGen Cayman Series A Preference Shares is convertible into the number of fully paid and non-assessable shares of Common Stock of FibroGen Cayman that results from dividing the original issue price by the conversion price in effect at the time of the conversion, subject to adjustments for stock splits, stock dividends, reclassifications and like events. The FibroGen Cayman Series A Preference Shares have a conversion price that is equal to the original issuance price such that the conversion ratio to FibroGen Cayman Common Stock is 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_d8527117-2b09-416d-b5c6-1586081394bd" contextRef="C_93c49346-c6c0-4035-9024-53edc792dbdc" name="us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion" unitRef="U_shares" decimals="INF">1</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 all periods presented.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Voting </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; The holders of FibroGen Cayman Series A Preference Shares are entitled to vote together with the FibroGen Cayman Common Stockholders on all matters submitted for a vote of the stockholders. The holder of each share of FibroGen Cayman Series A Preference Shares has the number of votes equal to the number of shares of FibroGen Cayman Common Stock into which it is convertible.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Dividends </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; The holders of FibroGen Cayman Series A Preference Shares are entitled to receive cash dividends when and if declared, 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_e3d9bb79-2789-4cb2-a975-744558a1138a" contextRef="C_9c5e7487-267e-4264-bd03-b5f0cc05bd71" name="us-gaap:PreferredStockDividendRatePercentage" unitRef="U_pure" scale="-2" decimals="INF">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></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 January 2013, FibroGen Cayman entered into 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_667b3f84-7cbd-4606-913f-6a34b9d992fa" contextRef="C_999e73e6-ee7b-4b73-bf56-360fbfb0c5a5" name="us-gaap:ConvertibleDebt" unitRef="U_USD" scale="6" decimals="-5">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 convertible promissory note. The note bears simple interest at a rate of two percent (</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dcec1f93-119f-426c-8a9d-e54b7f8ed393" contextRef="C_93c49346-c6c0-4035-9024-53edc792dbdc" name="us-gaap:DerivativeFixedInterestRate" unitRef="U_pure" scale="-2" decimals="INF">2.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 annum, accrued on an annual basis in arrears. The outstanding principal balance and unpaid accrued interest on the note is due and payable upon the earlier of (a) the effectiveness of the initial public offering of FibroGen Cayman or (b) the eight year anniversary of the date of the note. During the year ended December 31, 2021, at the option of the lender, 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_08aa9b1d-4a63-4773-963e-0229d12097c1" contextRef="C_cc914418-c5b0-4dde-97b9-ffde29490b6e" name="us-gaap:ConvertibleDebt" unitRef="U_USD" scale="6" decimals="-5">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 total outstanding principal balance and unpaid accrued interest on the note were converted into Series A Preferred Stock of FibroGen Cayman, and was recorded as an addition to the non-controlling interest of 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><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: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;">144</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></ix:exclude><p style="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;font-style:italic;min-width:fit-content;">Non-Controlling Interests</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-controlling interest positions related to the issuance of subsidiary stock as described above are reported as a separate component of consolidated equity from the equity attributable to the Company&#8217;s stockholders at 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;">. In addition, the Company does </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_8260618e-7cd2-4e43-8e51-091a7824a311;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">not</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> allocate losses to the non-controlling interests as the outstanding shares representing the non-controlling interest do not represent a residual equity interest in the subsidiary.</span><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 nonredeemable NCI and redeemable NCI resulting from the acquisition of Fortis during the year ended December 31, 2023, see Note 4, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Exclusive License and Option to Acquire Fortis Therapeutics</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</span></p></ix:nonNumeric></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7bf7ac62-e7a5-43cf-a4cb-8a09601377fa" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:EarningsPerShareTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">14.	Net Loss 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;">Potential common shares that would have the effect of increasing diluted earnings per share are considered to be anti-dilutive and as such, these shares are not included in the calculation of diluted earnings per share. The Company reported a net loss for each of the years ended December 31, 2023, 2022 and 2021. Therefore, dilutive common shares are not assumed to have been issued since their effect is anti-dilutive for these periods.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_42ba4119-e1a5-4f60-9147-042409a7028c" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Diluted weighted average shares excluded the following potential common shares related to stock options, RSUs, PRSUs, TSR awards and shares to be purchased under the 2014 Employee Stock Purchase Plan (&#8220;ESPP&#8221;) for the periods presented as they were anti-dilutive (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: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:49.17%;"/>
        <td style="width:1.2%;"/>
        <td style="width:1%;"/>
        <td style="width:13.743%;"/>
        <td style="width:1%;"/>
        <td style="width:1.2%;"/>
        <td style="width:1%;"/>
        <td style="width:13.743%;"/>
        <td style="width:1%;"/>
        <td style="width:1.2%;"/>
        <td style="width:1%;"/>
        <td style="width:13.743%;"/>
        <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;">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;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top: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 stock options</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;"><ix:nonFraction id="F_4fa787fe-16d3-4741-99ad-e8d46986111b" contextRef="C_025aeb48-93cb-46ce-b1ce-7c92cd66990f" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,596</ix:nonFraction></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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;"><ix:nonFraction id="F_032e9d7b-aa20-4c9c-a8af-a047e6cc9ad1" contextRef="C_2c22d0e6-9a4a-464d-8b52-2dd428e0c12e" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,520</ix:nonFraction></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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;"><ix:nonFraction id="F_a18154a4-dad4-4ef9-aa40-7d4400e37fe7" contextRef="C_f7bae724-7806-4068-8a59-a49fed19890a" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,461</ix:nonFraction></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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">RSUs, PRSUs and TSR awards</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;"><ix:nonFraction id="F_92118aa6-ef7b-449c-9745-9471c371e12a" contextRef="C_fc1c4857-2dc4-4e74-ada3-9dafeeab80be" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,793</ix:nonFraction></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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;"><ix:nonFraction id="F_d4a26989-fcab-497b-974b-726726a9adaa" contextRef="C_0ec6afe4-7af2-41fa-a274-f2ffb1d3cc9a" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,137</ix:nonFraction></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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;"><ix:nonFraction id="F_14b730bf-21d4-482b-9077-4385d44a4eaa" contextRef="C_a5131c42-9d4d-465f-879d-86d0b5d0591e" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,538</ix:nonFraction></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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">ESPP</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;"><ix:nonFraction id="F_4ae4b04f-389e-42ea-a2b8-30dde30906d8" contextRef="C_52f697e0-dad1-41cf-b6cc-29aa9845f30c" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">594</ix:nonFraction></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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;"><ix:nonFraction id="F_f7c22c0d-5b08-481c-b562-e3141570fef0" contextRef="C_8575fc66-808b-4431-8e13-1c20ae80d04b" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">305</ix:nonFraction></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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;"><ix:nonFraction id="F_6e4beaec-4e3b-4380-b850-066abc32c35f" contextRef="C_7930c720-a15a-49d5-a673-4ac5dfcd7bfe" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">417</ix:nonFraction></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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;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="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;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_72d13238-9432-4a6f-8929-e24071e7341c" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,983</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;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 style="border-top:0.5pt solid #000000;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="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;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_45dace6f-15d8-48c5-869f-189596d6ec15" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,962</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;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: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="border-top:0.5pt solid #000000;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="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;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_38f1fcd1-ff4f-4f1a-8be6-a334dcffe4fd" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,416</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;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>
       </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:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_303f3d30-03e8-4da8-8509-36812ea532cc" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncomeTaxDisclosureTextBlock" escape="true"><p style="font-size:10pt;margin-top:8pt;font-family:Times New Roman;margin-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;">15.	Income Taxes</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_e57aa06c-cb96-46cb-ac6f-8f877c7e6066" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock" escape="true"><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 components of loss before income taxes are as follows (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: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.543%;"/>
        <td style="width:1.261%;"/>
        <td style="width:1%;"/>
        <td style="width:10.864999999999998%;"/>
        <td style="width:1%;"/>
        <td style="width:1.261%;"/>
        <td style="width:1%;"/>
        <td style="width:10.864999999999998%;"/>
        <td style="width:1%;"/>
        <td style="width:1.261%;"/>
        <td style="width:1%;"/>
        <td style="width:10.944999999999999%;"/>
        <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;">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;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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_eb794012-6a4f-4591-88dc-d133edbdfcab" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">328,475</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_f96a5b44-6125-4e2f-862e-98274e2a14d3" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">307,056</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_8129cad6-7552-42a1-ad7f-0d9b4b386bd8" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">268,499</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">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_3efccceb-358c-4759-afbc-57364991145e" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">41,608</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_75aa4efb-bd88-4efd-b3d1-e2034791e102" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,187</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_1224f8fd-e5c5-4dad-aff1-ebfcc186f6dc" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">22,184</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;">Loss before provision for 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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9aabc272-8b90-471d-b0bb-bc08ed4ed853" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">286,867</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_dd778265-4153-460c-8d81-745041292e7c" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">294,869</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: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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_a6ffc1d9-50e5-4ad6-8258-29d0978ee49d" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">290,683</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><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_6f141cd5-5860-45ef-b353-7a3cb012d928" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 provision for income taxes consists of the following (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: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.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;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;">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;">Current:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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_795540bf-2091-4bb8-90ae-efccfdf7d979" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:CurrentFederalTaxExpenseBenefit" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_83f74be0-c2f3-4dbf-8f81-2657cf744d03" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:CurrentFederalTaxExpenseBenefit" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_90ed7a46-69c2-4651-bda2-3d0938a196c7" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:CurrentFederalTaxExpenseBenefit" 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:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top: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_7ebc646c-ce46-4859-8bcf-344a976a2f84" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_625bd651-d4f5-453e-a986-24969ed1f01a" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3029fbda-307e-4a47-8501-c95355c14275" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" 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: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;">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_016f681c-dc1d-4789-9626-7b0241915855" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:CurrentForeignTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cee8727b-b10c-4992-9130-8884ec792f4f" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:CurrentForeignTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3">358</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_5518b7de-631e-4863-8a74-a0f6654cac67" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:CurrentForeignTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3">347</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:bottom;"><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 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e253dae-4ab1-457b-8c3f-1b80ab4509c7" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:CurrentIncomeTaxExpenseBenefit" 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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cf75b93d-a460-4d97-be87-aca45a1e2d47" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:CurrentIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3">358</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5b04e987-fd6a-4b2e-909f-1cfc5528191a" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:CurrentIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3">347</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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: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;">Deferred:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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 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>
       <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;">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_080edf54-3008-4d75-9bcd-bd6aed8aba4f" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8f747cfa-e543-4319-9da9-29e86bf28ca1" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f99fbb8f-d43c-48be-921e-6d3a757e156f" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" 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;">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_1692d6be-2b91-4fc4-996c-4f6ae9bd78e8" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a2573da1-b30e-4d4d-a744-629f40f706ee" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" 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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ac07e004-e351-41e8-b20d-b67d8b35e3eb" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" 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: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;">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_1b7e614b-f51f-4064-8206-e402bc616942" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" 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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4e45d86c-73e1-4cf0-b8b2-fa03ccd333b3" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" 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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8cd4be63-8c8d-404b-b734-53c425b186a9" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" 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:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"><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 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_650272ed-bf13-4a2a-8cde-7757d647bc1f" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:DeferredIncomeTaxExpenseBenefit" 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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e177a3b1-0d1a-4079-bbab-cfadfd1d9e24" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:DeferredIncomeTaxExpenseBenefit" 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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_31d449d9-2cf7-4491-9671-e6ff8236d2d3" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:DeferredIncomeTaxExpenseBenefit" 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;">Total provision for 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_99cd456e-578b-41e7-b301-fdfd3709ea6c" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:IncomeTaxExpenseBenefit" 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:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d98e0363-1b99-4415-9234-f2ff41d5fc77" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3">358</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: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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e90ce64-0250-4eed-96b2-463e323acf29" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3">347</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: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: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;">145</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></ix:exclude></ix:nonNumeric></div><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_3610549d-5b80-4750-b962-d95564955edc" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 the reconciliation between the statutory federal income tax rate and the Company&#8217;s effective tax rate:</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.852%;"/>
        <td style="width:1%;"/>
        <td style="width:11.362%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:11.362%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:11.422%;"/>
        <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 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;">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 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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Tax at statutory federal rate</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d598239-f029-436d-9523-917f7a1fd96a" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" unitRef="U_pure" scale="-2" decimals="3">21.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">&#160;%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_de273bd6-cb98-4909-8c27-753369c85626" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" unitRef="U_pure" scale="-2" decimals="3">21.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">&#160;%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_09cf871f-ba26-4cab-9835-916811eb5833" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" unitRef="U_pure" scale="-2" decimals="3">21.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;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;">State tax</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_25650e1f-029c-4ed5-b506-0018713a91df" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" unitRef="U_pure" decimals="0" 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="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_d02b474e-3ac0-4ad9-95d0-bd9cc4bbd178" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" unitRef="U_pure" decimals="0" 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="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_de93ac37-54ae-4120-8541-78aede0289a1" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" unitRef="U_pure" decimals="0" 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="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: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;">Stock-based compensation expense</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_4c0c3090-8b68-4f0d-a78c-c26cffe76911" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost" unitRef="U_pure" scale="-2" decimals="3" sign="-">1.1</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_77d6a0a0-21ea-4ba4-b318-da4491f59e0e" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost" unitRef="U_pure" scale="-2" decimals="3" sign="-">2.5</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_ef98e166-2297-4963-86fa-ee75848ad46a" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost" unitRef="U_pure" scale="-2" decimals="3" sign="-">1.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="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: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;">Net operating losses not benefitted</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_aa2a9668-7b1e-4587-92b1-b019003c0181" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">17.9</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_c5960f98-a66c-4317-b8ce-72c76900871d" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="fgen:EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">16.3</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_e853aac7-c08b-40b4-bee9-1bf8c6bc8b39" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="fgen:EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">16.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="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: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;">Foreign net operating losses not benefitted</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5106cd71-6b29-41b3-a357-cbafb2a90fa9" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">3.0</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">&#160;%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_646146f3-36c9-4f11-8a76-73914abecc2e" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.9</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">&#160;%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_68272b47-5a0e-4e9e-906c-46def9759697" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">1.6</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Deduction limitation on executive compensation</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_2ac5c765-b26b-4665-8e82-578e439331dc" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:EffectiveIncomeTaxRateReconciliationDeductions" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">0.5</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_61833ea0-654c-48e6-970f-0ae0ba534461" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:EffectiveIncomeTaxRateReconciliationDeductions" 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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_b6be65c2-0691-4153-ad0c-8af015a2b61b" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:EffectiveIncomeTaxRateReconciliationDeductions" 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:10pt;margin-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: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;">Global intangible low-taxed income</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_1472f09a-ba90-4545-8d16-0e323ead3d55" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">4.3</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_db7640be-c609-47bc-a881-841ae56fd004" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.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="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_23a6e9b3-fb91-4b35-a20d-c99cc450fd1d" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">0.4</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Other</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_42b50b4d-c3a1-40a5-b8cd-8902c1579369" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" 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;border-bottom:0.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_3dd35212-da8f-4d41-ab72-01ed283b8b2b" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" 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;border-bottom:0.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_0b39ae3d-5ea5-4fdd-8aaf-92122c11cd39" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" 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;border-bottom:0.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: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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_6c8b15a1-8f02-4daf-901c-72969c35a462" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" unitRef="U_pure" scale="-2" decimals="2" 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="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="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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ceea5eb7-acc5-4c94-8749-3440728fe32e" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" unitRef="U_pure" scale="-2" decimals="3" sign="-">0.1</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="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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0e16b4d0-2451-4fa1-9f39-c443ca12b0ec" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" unitRef="U_pure" scale="-2" decimals="3" sign="-">0.1</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><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4c2d10a9-1094-492f-afa7-af32a5c78b48" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 components of the Company&#8217;s deferred tax assets are as follows (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: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:80.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: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;">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;"><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;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 #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;">Federal and state 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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_addbb372-934e-48ad-99fd-210e9730c005" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">175,257</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b768dd5-4dae-4dc9-bf60-c4914f7411d9" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">166,708</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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_405af76c-018f-4cc9-a441-db14a7853f1b" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwards" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">123,156</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0d5afb64-3921-441a-be3a-81c75df3e0c7" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwards" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">106,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>
       </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;">Foreign 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_d2d888a5-8153-46c0-9218-46af67f1cf90" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">48,396</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2b0819fb-1da4-4cec-aa86-5aa166a692c1" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">49,990</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Capitalized research and development expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_68977d73-f946-4192-8394-083134533341" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">81,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_c071a1b2-07f3-4a59-a22d-767a77e70360" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">45,125</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Stock-based 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ab720f7d-577a-430c-8b7d-7be519db92d1" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,155</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e8ceef65-8821-4e41-a632-873c9330d8e7" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,616</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Lease obligations</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bf34d338-8a0b-4fbd-bbff-703b283212b6" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,189</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e9f30e1e-c264-4e9f-9f8b-2fa5b0fdaa60" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">18,442</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Reserves and accruals</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_367cf623-104a-4369-8ce9-fa64bb91d486" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,475</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_179842cd-c548-4d88-8be4-780bdfd37c0f" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,929</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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_492b588d-6a9d-4fe0-8437-36f7ff722df2" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DeferredTaxAssetsDeferredIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">24,792</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b524ea2-beef-4b96-8805-a02df33cd7b5" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DeferredTaxAssetsDeferredIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,624</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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_f625e86b-0118-4eb9-b1c5-12286c55feb9" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:DeferredTaxAssetsIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">63,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_07923b12-cb05-4b12-bae9-be130b42db3e" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:DeferredTaxAssetsIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">69,159</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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_b5a3c506-6f7e-4f8d-903b-abf9aceaffb8" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DeferredTaxAssetsOther" 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;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_75cf94b3-4e7b-4d3e-bf69-43cf4b943c60" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DeferredTaxAssetsOther" 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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Subtotal</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b1fb750-0550-4f23-9c20-70c1d63831ae" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DeferredTaxAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">548,961</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8a78fcaa-ce7b-4764-89fa-0604f3504651" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DeferredTaxAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">492,001</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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_33b416d3-fbf7-4aab-a8af-b70c229e8fd6" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DeferredTaxAssetsValuationAllowance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">534,967</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_f03a1edc-8b4e-4c40-bfba-6ce8dd1a9fe9" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DeferredTaxAssetsValuationAllowance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">477,969</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: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;">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_cd871ac3-9aaa-4a92-bf6d-31296c26d644" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DeferredTaxAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,994</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b943b8ae-a763-4019-b6f0-5a7b7f286db3" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DeferredTaxAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,032</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;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>
       </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;">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_ed7e1151-650d-4dc3-bff6-b6d528ace78d" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:DeferredTaxLiabilitiesFixedAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,511</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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_84664d1a-5e30-4dd5-8d0a-b8071d7224d4" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:DeferredTaxLiabilitiesFixedAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,101</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">Non-deductible accrued expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_274015c7-2df7-4978-8b49-34a1b58079f1" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="fgen:DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">3,483</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_9f5a7c6b-54a5-47f7-9e5b-b86de9723d93" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="fgen:DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">931</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: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;">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:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_4c11e97b-06fe-496e-9af9-8f34dc835179" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DeferredTaxLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,994</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_5f129542-df4e-45c6-b69d-4787cdefb611" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DeferredTaxLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,032</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:15pt;white-space:pre-wrap;vertical-align:bottom;"><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 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_76a46f9c-e096-46cd-9e1d-35eb6ef94755" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" 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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aa117c81-5c59-4481-a4e8-e7e48dba4cb1" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" 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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 valuation allowance has been provided to reduce the deferred tax assets to an amount management believes is more likely than not to be realized. Expected realization of the deferred tax assets for which a valuation allowance has not been recognized is based on upon the reversal of existing temporary differences and future taxable 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">The valuation allowance increased by </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_40036449-940d-46d5-ba95-a7e4247c03da" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">57.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="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><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7cd498bc-b56d-47cd-a4bc-84868eda1ec6" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">68.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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_d89e7491-eb6a-448f-995c-79ee7cc545a4" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">72.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="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, respectively. Due to uncertainty surrounding the realization of the favorable tax attributes in the future tax returns, the Company has established a valuation allowance against its otherwise recognizable net deferred tax assets.</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 Company intends to continue maintaining a full valuation allowance on its deferred tax assets until there is sufficient evidence to support the reversal of all or some portion of this allowance.</span><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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company had net operating loss carryforwards available to offset future taxable income 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_ef210b18-519a-47b3-aca1-f4088125d825" contextRef="C_a7f201a4-4fc8-46c3-9232-d6e0061d36a2" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">796.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_8feac1c3-427f-4379-bdcd-654a731e241f" contextRef="C_2da3ba07-57c7-4b3a-81c9-5f0d614a4241" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">147.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 for federal and state tax purposes, respectively. $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2a212e41-7d0d-40d4-b2af-689eaba93686" contextRef="C_86aecf7f-d4ad-48d6-81ed-7fd0f6d75915" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">292.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 federal net operating loss carryforwards will begin to expire in </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_9ab4c33d-a1ec-4d70-8d25-af6d05952a89" contextRef="C_b9b518e4-8fd7-4a1a-94fd-6e9e0c387058" name="fgen:OperatingLossCarryforwardsExpirationYear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2026 </span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">if not utilized, while the remainder can be carried forward indefinitely. The state net operating loss carryforward will begin to expire in </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_851fb47f-813d-4c21-8163-7d48bc337d7d" contextRef="C_d3683abc-2d3d-4acf-a7b0-5c5b3fd5e132" name="fgen:OperatingLossCarryforwardsExpirationYear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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;">if not utilized. The Company also had foreign net operating loss carryforwards 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_70538361-764c-43cd-9ca0-fcaec2aa3c9f" contextRef="C_a009a95d-c91b-4118-a088-0722debb7cdf" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">235.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 expire between </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a81244f4-c9f6-4da9-a659-f34f41a19d93" contextRef="C_f50a4abf-d42b-4eba-bcbe-16d0e1c79248" name="fgen:OperatingLossCarryforwardsExpirationYear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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;"> and </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a2cf06a0-dd79-4d9d-92ff-360191cec533" contextRef="C_788d981f-cb2d-4028-8f11-3a02658396ff" name="fgen:OperatingLossCarryforwardsExpirationYear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2033</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> if not utilized.</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: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;">146</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></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 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_bb53b251-9ba1-4e88-a224-9d3805f3dde2" contextRef="C_a7f201a4-4fc8-46c3-9232-d6e0061d36a2" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsOther" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">143.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 of federal 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_2de6fc97-12a3-4f7d-885a-77a0b20baead" contextRef="C_8c6e45bb-1f49-472e-9559-a3a3cefee8ec" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsOther" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">50.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 California research and development tax credit and other tax credit carryforwards available to offset future taxable income. The federal credits begin to expire in </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_3b010d1e-b3ed-41fe-b2bb-073555f61d9f" contextRef="C_b9b518e4-8fd7-4a1a-94fd-6e9e0c387058" name="fgen:OtherTaxCreditCarryforwardsExpirationYear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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;"> and the California research credits have no expiration dates.</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;">Federal and state tax laws impose substantial restrictions on the utilization of net operating loss and credit carryforwards in the event of an &#8220;ownership change&#8221; for tax purposes, as defined in IRC Section 382. The Company did not perform an IRC Section 382 analysis and any previous ownership changes may result in a limitation that will reduce the total amount of net operating loss and tax credit carryforwards disclosed that can be utilized. Subsequent ownership changes may affect the limitation in future 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;">On August 16, 2022, the Inflation Reduction Act of 2022 (&#8220;IRA&#8221;) was signed into law. Among other changes to the Internal Revenue Code, the IRA imposes 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_58dfbc06-6387-4243-a760-3ed798364ca9" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:CorporateAlternativeMinimumTaxPercentage" 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;">% corporate alternative minimum tax on certain corporations 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_f9e4f1c7-d0f3-4da5-8995-ede336f7f8e3" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:PercentageOfExciseTaxOnStockBuyback" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% excise tax on public company stock buybacks for tax years beginning after December 31, 2022. The tax provisions in the IRA did not have a material impact on the Company&#8217;s consolidated financial statements and related disclosures.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Uncertain Tax Positions</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 had unrecognized tax benefits of approximately </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_6a121397-8bb5-43c8-9a85-500580922912" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:UnrecognizedTaxBenefits" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">81.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="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;">. 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_6e8e78e9-30de-4548-aa3b-7ea5ac97b825" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" 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 of unrecognized tax benefits, if recognized, would affect the effective tax rate. The interest accrued 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;"> was </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_4256d155-e15f-4602-9cd7-3def6e363f77;"><span style="-sec-ix-hidden:F_742d1821-3d19-4dff-bc16-8f6a11deb307;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">immaterial</span></span></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;"><ix:nonNumeric id="F_654149fb-e48b-4099-998f-35e3fb628913" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 the beginning and ending amounts of unrecognized income tax benefits during the three 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 is as follows (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: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:80.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;">
        <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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Federal</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;">and State</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: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;">Balance as of December 31, 2020</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_459b2969-c24c-4f49-8f27-86b066d6def3" contextRef="C_2241c9db-ebb5-46bc-bed6-e1572f418f14" name="us-gaap:UnrecognizedTaxBenefits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">48,574</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Decrease due to prior positions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_e75ed246-397e-4280-b14a-c6be4a6a0c22" contextRef="C_9fe43a64-ce73-4bb7-bf6e-a0ca0ee60adb" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" unitRef="U_USD" scale="3" decimals="-3">245</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">Increase due to current year position</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_15931c22-7c65-4b58-82b7-eddd52fcafa6" contextRef="C_9fe43a64-ce73-4bb7-bf6e-a0ca0ee60adb" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,415</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 exchange rate differential</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ad651b66-b4b3-44fd-8284-056f730cc43e" contextRef="C_9fe43a64-ce73-4bb7-bf6e-a0ca0ee60adb" name="fgen:UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation" unitRef="U_USD" scale="3" decimals="-3">927</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;">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c9824142-2ed8-4884-887c-508a5166b0e4" contextRef="C_d30e646e-d518-4d7e-b48b-c0c5d8820692" name="us-gaap:UnrecognizedTaxBenefits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">57,671</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Increase due to prior positions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1368622f-d436-4775-b3a7-d1c7879db8bc" contextRef="C_505b9183-755e-4b21-80ae-014c47dacb80" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,954</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Increase due to current year position</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_83143853-6516-41af-914c-4ab014d5b7a9" contextRef="C_505b9183-755e-4b21-80ae-014c47dacb80" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,074</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 exchange rate differential</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_7447d638-22c3-4e12-afbf-d223253903b1" contextRef="C_505b9183-755e-4b21-80ae-014c47dacb80" name="fgen:UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">908</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: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;">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c2173a29-c092-46dd-90d3-7dbfab785986" contextRef="C_c60cbb68-073d-4df4-9abc-e00293551276" name="us-gaap:UnrecognizedTaxBenefits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">72,791</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Decrease due to prior positions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_298c2ce0-c2b4-480a-b4ed-fe21498652f4" contextRef="C_f4110041-d180-43b1-9f3f-9d5bc9e44b24" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">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>
       </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;">Increase due to current year position</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_89349dee-6e39-49f9-a61a-a115dc81fa07" contextRef="C_f4110041-d180-43b1-9f3f-9d5bc9e44b24" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,805</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 exchange rate differential</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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_2e7a8a8e-a871-49b5-9b4d-a4ab8d3d451d" contextRef="C_f4110041-d180-43b1-9f3f-9d5bc9e44b24" name="fgen:UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">477</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: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;">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_2f955cee-734e-44cd-83e2-86fcb310c2ac" contextRef="C_b0b4c4de-0aa6-4c3e-99c3-ea107fc99732" name="us-gaap:UnrecognizedTaxBenefits" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">80,965</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:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Unrecognized tax benefits may change during the next twelve months for items that arise in the ordinary course of business. </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ee1f567f-fe8a-42f4-9faf-a9072ef7ec34" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company does not anticipate a material change to its unrecognized tax benefits over the next twelve months that would affect the Company&#8217;s effective tax rate.</span></ix:nonNumeric></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 Company classifies interest and penalties as a component of tax expense, if any.</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 Company files income tax returns in the U.S. federal jurisdiction, U.S. state and other foreign jurisdictions. The U.S. federal and U.S. state taxing authorities may choose to audit tax returns for tax years beyond the statute of limitation period due to significant tax attribute carryforwards from prior years, making adjustments only to carryforward attributes. The foreign statute of limitation generally remains open from </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4ed0707f-6dac-4a92-9648-528240622eda" contextRef="C_779b6e72-8b61-47e2-9d07-7f55f735098c" name="us-gaap:OpenTaxYear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2014</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 </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b108b44f-ba05-496b-98f4-dc2d2e1320c6" contextRef="C_5cb58967-39dc-499b-9339-2ee01419f424" name="us-gaap:OpenTaxYear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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 is not currently under audit in any tax jurisdiction.</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: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;">147</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>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_6886561b-857d-44cd-ac22-6fadd33286b5" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">16.	Related Party Transactions</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;">Astellas is an equity investor in the Company and considered a related party. During the years ended December 31, 2023, 2022 and 2021, the Company recorded license and development revenue related to collaboration agreements with Astellas 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_41e970fe-3b24-45d4-b585-d5f7abf66942" contextRef="C_8ad23aa4-dbf3-4abf-9c95-bf014b7bfe2f" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">6.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="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><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_67476b99-c9f7-4426-a1f4-c1db5fcf2d67" contextRef="C_2bcc9ae8-5367-4c0e-8506-7b39063bee70" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">32.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;">, 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_e593e2f5-18cc-4e05-ae72-86599ad688b0" contextRef="C_094f4a80-eacf-46b1-b93f-a4861cf28be3" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">130.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;">, respectively. During the years ended December 31, 2023, 2022 and 2021, the Company also recorded drug product revenue from Astellas 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_b5074e9a-eb61-4bc0-98e8-2002a61a8719" contextRef="C_a89db25d-a908-4a2c-a4b5-1acf00a714fa" name="fgen:DrugProductRevenueFromRelatedParty" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">18.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="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><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dce968d6-95a4-4473-a5c6-20caef4c7525" contextRef="C_57c84049-303f-43ed-998f-89ad95828c47" name="fgen:DrugProductRevenueFromRelatedParty" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">11.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, 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_994d883d-e9e5-495c-a0fe-2ebc53035013" contextRef="C_9dcf2e46-d8b2-4c2c-ab36-8a4e3b80aaf3" name="fgen:DrugProductRevenueFromRelatedParty" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">3.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. See Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</span><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 Company&#8217;s expense related to collaboration agreements with Astellas was immaterial for each of the three years ended 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;">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;">, accounts receivable from Astellas 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_2aa2469f-d1ba-4460-9c01-cb1b6f41ce24" contextRef="C_cc537740-f6c3-470c-8622-b3d7bda3db47" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="6" decimals="-5">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 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_b952d1ec-fd30-4b0b-85a3-c04301eb89fc" contextRef="C_8b286242-b5c5-40f3-aff0-125cd2031463" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="6" decimals="-5">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, 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:12pt;font-family:Times New Roman;margin-bottom: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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, total deferred revenue from Astellas 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_e4b13d30-8430-4cae-9d41-3c54ee201ff8" contextRef="C_cc537740-f6c3-470c-8622-b3d7bda3db47" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">16.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_b5a60226-3d9d-4299-bb07-4f98426e2eb4" contextRef="C_8b286242-b5c5-40f3-aff0-125cd2031463" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">40.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></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, the amount due to Astellas, included in accrued and other current liabilities, and other long-term liabilities, 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_80b9cf06-be8e-48d4-be34-4984bf3b2a0d" contextRef="C_987c8269-c09a-4c09-adf8-8ff473c94317" name="us-gaap:OtherLiabilities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">40.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 of December 31, 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the amount due to Astellas, included in accrued and other current liabilities, was 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_18d5f5cf-936d-4f59-a398-42f278012d40" contextRef="C_6fa8a44e-30f6-4a5b-9bd7-e5d40206a786" name="us-gaap:OtherLiabilities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">63.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.</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;">Falikang, an entity jointly owned by FibroGen Beijing and AstraZeneca is an unconsolidated VIE accounted for as an equity method investment, and considered as a related party to the Company. FibroGen Beijing owns </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b3c847a-3abb-4b48-a030-cd5d12972656" contextRef="C_ef8b564c-7619-41a4-be6d-99077aa05787" name="us-gaap:VariableInterestEntityOwnershipPercentage" unitRef="U_pure" scale="-2" decimals="3">51.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of Falikang&#8217;s equity. See Note 5, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Equity method investment - Variable Interest Entity</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</span><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, the net product revenue from sales to Falikang 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_9a84f753-0142-4f2c-bce8-0abfa027ee4d" contextRef="C_d2a8a398-f907-4749-871e-11c30e02d4f5" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">89.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="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><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d46b8da-d957-44c2-9b2a-51c035c48684" contextRef="C_c53c0b6d-1c9a-49b8-ac78-9ba4ce287637" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">71.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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_d4f54683-5e06-4dc0-8de6-d6e24c7f14cf" contextRef="C_4f3fb4b2-116d-43b3-94ee-3cfae72d071a" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">35.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;">, respectively. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Revenue, Net </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">section in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details. The other income from Falikang were immaterial for each of the three years ended 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;">For the years ended December 31, 2023, 2022 and 2021, the investment income (loss) in Falikang 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_31406db3-deb6-49c1-b001-7e43fd5eccb3" contextRef="C_ef8b564c-7619-41a4-be6d-99077aa05787" name="us-gaap:IncomeLossFromEquityMethodInvestments" 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</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><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_848fc57c-4f07-4149-ba9d-921c9ede450e" contextRef="C_8cd46ce2-f63f-43c9-97de-d0eaaca65059" name="us-gaap:IncomeLossFromEquityMethodInvestments" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.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;">, 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_98e5d8f4-d7a0-4b7f-bff3-83f7bb7dd670" contextRef="C_7704c37f-1cad-4567-a037-6e7f7b844901" name="us-gaap:IncomeLossFromEquityMethodInvestments" 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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. During the year ended 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 received $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06fd1cde-28a6-45cf-aa23-80de8402bb9c" contextRef="C_ef8b564c-7619-41a4-be6d-99077aa05787" name="us-gaap:InvestmentIncomeDividend" 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 of dividend distribution from Falikang. </span><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, the Company&#8217;s equity method investment in Falikang 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_d6d6b078-3a6a-40b7-bac4-75ea9e40265d" contextRef="C_14692126-1d87-484c-a361-1cc42818617b" name="us-gaap:EquityMethodInvestments" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.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</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="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_6377c7f3-88a2-4a73-bab1-f1a3d024cada" contextRef="C_b9a3095e-7cea-4a4c-b2c9-5f08dad5771b" name="us-gaap:EquityMethodInvestments" 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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. See Note 5, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Equity method investment - Variable Interest Entity</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</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 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> accounts receivable, net, from Falikang 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_e27e6bbf-2075-4a54-85d6-d0e5454b9797" contextRef="C_14692126-1d87-484c-a361-1cc42818617b" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.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_37b7a313-ca71-43ae-b9cc-be734b1eadf6" contextRef="C_b9a3095e-7cea-4a4c-b2c9-5f08dad5771b" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">10.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.</span></p></ix:nonNumeric></div>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_e1eca74f-e2c5-4ae8-97a4-94e352139e3e" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:SegmentReportingDisclosureTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">17.	Segment and Geographic Information</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 has determined that the chief executive officer is the chief operating decision maker (&#8220;CODM&#8221;). The CODM reviews financial information presented for the Company&#8217;s various clinical trial programs as well as results on a consolidated basis. License revenues and development revenues received are not allocated to various programs for purposes of determining a profit measure and resource allocation decisions are made by the CODM based primarily on consolidated results. As such, the Company has concluded that it operates 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_ddfa614f-87df-40ac-af62-387bb11532f1" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" 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;"> segment. Supplemental enterprise-wide information has been presented below.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Geographic Revenues</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_6abed24b-60f0-4e8f-ad49-8db65846a285" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock" escape="true"><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;">Geographic revenues, which are based on the region that revenue is generated, are as follows (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: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:45.7%;"/>
        <td style="width:1.78%;"/>
        <td style="width:1%;"/>
        <td style="width:14.32%;"/>
        <td style="width:1%;"/>
        <td style="width:1.78%;"/>
        <td style="width:1%;"/>
        <td style="width:14.32%;"/>
        <td style="width:1%;"/>
        <td style="width:1.78%;"/>
        <td style="width:1%;"/>
        <td style="width:14.32%;"/>
        <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;"><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;">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;"><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: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;">China</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c9c92bfe-4e82-4e3d-bb6d-ae9da95e9761" contextRef="C_bc67b859-6a7a-483d-b9ab-3f3606bfba16" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">109,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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d6ca9c65-cb56-411b-ada9-734f3dc1337e" contextRef="C_35841333-74f6-4133-a950-8375b5226923" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">84,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: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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7bfd9661-1cd6-4873-8b0c-8ec28a8118ba" contextRef="C_5f576384-fdf3-41c5-9023-17746a985932" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">55,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:#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;">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_c5e62d36-431c-4052-82e6-32d2b6cfcaa8" contextRef="C_9feecbc0-749f-480e-9778-4fb17c34c7be" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_09f45f9f-6d41-47ed-9177-74ee532632dd" contextRef="C_e3ede601-bff4-412a-975e-c3fc0275bd2b" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">33,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: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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_143fb633-1ab3-484b-adb3-fca0ebf6dc66" contextRef="C_b236e042-06e0-4910-bdb2-e65dc298caf1" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">131,243</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Japan</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a2175fff-ebcc-4ec6-9fee-587f203e363e" contextRef="C_c8ee1d0d-831d-4de3-b1ca-208afec64a8d" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,867</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_de0ae074-7cf7-40f9-9834-30c83ccb3016" contextRef="C_ecdcb19c-96f8-4de0-bd94-9f5ff1dbf91e" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,764</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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_187fd713-f7dc-49a5-8cfd-73394f8116d2" contextRef="C_c140df9a-e1bf-4a68-a31a-980d9399f28d" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,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>
       </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;">United States</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d20b92d7-f395-4b0f-8876-25b4f0b8ec00" contextRef="C_4347292f-9186-426c-8f78-e90729035fab" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,961</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_23a7e444-2167-45f6-a9b0-b23e15b86d60" contextRef="C_a9b93c03-b62c-4471-bdae-1229fdfb732c" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,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>
        <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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_09091f95-f714-4acb-bdc3-3a6ad133cf0c" contextRef="C_5b29dd8d-06ef-496b-b47d-66ef14ce30fa" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">46,121</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_755bd2c0-2490-4743-9cc5-2cbc29379175" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">147,752</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6d75c9b6-11b9-417e-8194-aff91583bfd8" contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">140,734</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times 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-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e30ee8f6-8f31-49f2-b602-3864eb8c705a" contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a" name="us-gaap:Revenues" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">235,309</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="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: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;">148</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></ix:exclude></ix:nonNumeric></div><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Geographic Assets</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b3eceba1-5b8e-48a2-96d0-12e74e921f35" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock" escape="true"><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;">Property and equipment, net by geographic location are as follows (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.78%;"/>
        <td style="width:1.9%;"/>
        <td style="width:1%;"/>
        <td style="width:17.200000000000003%;"/>
        <td style="width:1%;"/>
        <td style="width:1.9%;"/>
        <td style="width:1%;"/>
        <td style="width:17.22%;"/>
        <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;"><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;"><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>
       </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;">United States</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_edaae382-a06e-47a1-8336-55f91fd25eb2" contextRef="C_8e1bfb2b-d5cc-4db7-ba97-d0173c471d20" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,785</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0aacdf8c-39c3-4c7e-a7e5-83752009d245" contextRef="C_d8ce0cee-d608-43e4-a0b7-1ed4f965cd2c" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,094</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">China</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b1514dcf-cafb-4028-87cf-76335389483a" contextRef="C_fd0c7653-e448-4e10-8cc5-3dc1479076ca" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,341</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_01cd2ff3-8e9e-4544-869f-d3a5c7edb662" contextRef="C_c1dcd9da-92cc-4481-bba3-209dfe51295b" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,511</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 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_919e1cf0-da24-40fc-a575-79f4d1e09094" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,126</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_1535e909-29ba-434b-bf94-76aab11d53e6" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,605</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><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_977c57e1-f386-4ada-9720-1711e88b06c5" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="fgen:SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 lease right-of-use assets and operating lease right-of-use assets, net by geographic location are as follows (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.792%;"/>
        <td style="width:2.08%;"/>
        <td style="width:1%;"/>
        <td style="width:17.023%;"/>
        <td style="width:1%;"/>
        <td style="width:2.08%;"/>
        <td style="width:1%;"/>
        <td style="width:17.023%;"/>
        <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;"><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;"><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>
       </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;">United States</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a2c9d4cb-87f0-4b47-9b9a-96759cbca156" contextRef="C_8e1bfb2b-d5cc-4db7-ba97-d0173c471d20" name="us-gaap:FinanceLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cebb5f21-89a0-48de-8c16-21c185f3f3ec" contextRef="C_d8ce0cee-d608-43e4-a0b7-1ed4f965cd2c" name="us-gaap:FinanceLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">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:#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;">China</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fbaf5677-411c-4dbf-8813-65bd7b03f73e" contextRef="C_fd0c7653-e448-4e10-8cc5-3dc1479076ca" name="us-gaap:FinanceLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" 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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d38e58ec-adf4-4d74-9e72-9c72fae39a6f" contextRef="C_c1dcd9da-92cc-4481-bba3-209dfe51295b" name="us-gaap:FinanceLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" 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>
       </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 finance 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c309b86-5db8-451b-ad95-14292ea75e32" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:FinanceLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">153</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_ff926ee4-d23c-4dfd-a9cf-36b73ea34f79" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:FinanceLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">435</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;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       <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;">United States</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d966ec32-3844-4bef-9b92-8550d2724a19" contextRef="C_8e1bfb2b-d5cc-4db7-ba97-d0173c471d20" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">64,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b2f64cdd-fa6d-470b-844c-8c164fb57d2d" contextRef="C_d8ce0cee-d608-43e4-a0b7-1ed4f965cd2c" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">76,273</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">China</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9e14b244-1e4f-4c7e-88c5-f2bd98361cf8" contextRef="C_fd0c7653-e448-4e10-8cc5-3dc1479076ca" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,154</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_50cc1283-19cd-4304-bbd1-12a97e2ffbcc" contextRef="C_c1dcd9da-92cc-4481-bba3-209dfe51295b" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,620</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 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7822056a-3b8b-431e-998c-d0f1ad1b58cf" contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">68,093</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_29835739-b8d4-48db-adcf-7756302cdcb2" contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">79,893</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:18pt;font-family:Times New Roman;margin-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;">Customer Concentration</span></p><div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_074e7971-7fad-4992-8e3b-e33cd957073e" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" escape="true"><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 revenues to date have been generated from the following collaboration partners and distribution entity that individually accounted for 10% or more of the Company&#8217;s total revenue or accounts receivable:</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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:25.93%;"/>
        <td style="width:1.1%;"/>
        <td style="width:1%;"/>
        <td style="width:11.795%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:11.795%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:11.795%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:11.795%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:11.795%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
        <td style="vertical-align:middle;"><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:middle;"><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:middle;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;">Percentage of Revenue</span></p></td>
        <td style="vertical-align:middle;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;"><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:middle;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;">Percentage of Accounts Receivable</span></p></td>
        <td style="vertical-align:middle;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:middle;"><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:middle;"><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;">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:middle;"><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:middle;"><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:middle;"><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>
        <td style="vertical-align:middle;"><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:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Falikang &#8212; Related party</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_d4bef24f-9fec-4bf6-9bb0-2543074c1a0e" contextRef="C_a9ac82b8-66aa-4bbd-a2d9-d559a20f5f07" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">60</ix:nonFraction></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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_e1e74145-6783-4bd0-ad0f-12b5a9d52b37" contextRef="C_f51c9e5b-00c8-4ed5-994a-c730fa65cca4" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">51</ix:nonFraction></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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_9875d251-5f54-4144-b854-a77fc688ee16" contextRef="C_8c1a506b-c25b-40df-9370-0bc732e1b43b" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">15</ix:nonFraction></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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_7a2cfd59-fb00-4799-90f3-455246563c82" contextRef="C_99f11c06-0f2e-4673-b7d9-8ef71a10f287" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">42</ix:nonFraction></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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_9e238f50-4c40-4de7-8ef7-9e691f0335cb" contextRef="C_7b9b71e3-6fba-4b08-970e-1cc9051fc211" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">65</ix:nonFraction></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="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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Astellas &#8212; Related party</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_40c5a8cf-a51a-47f7-8bc8-29c11f6f18c5" contextRef="C_61912f00-c0b8-4f8c-a4d0-ec6b32adcde7" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">17</ix:nonFraction></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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_4c0bad7d-d20f-4a06-94b7-7a6b65f1e086" contextRef="C_9ba5adc6-815e-43b9-ba53-e926244eadc8" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">31</ix:nonFraction></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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_411fa656-7ff9-4b0a-9bf3-1714379721b4" contextRef="C_26dccaf9-87b1-4a6b-b8bc-2decb5273511" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2">57</ix:nonFraction></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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_8e093d2b-e6b1-48ec-bfff-9450bafa6583" contextRef="C_60f25780-d00e-4f9c-b047-4d24cf708a30" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2">7</ix:nonFraction></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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_2d642c9b-45ad-4b9d-8f31-79287072146b" contextRef="C_591ccf76-7cf2-415c-afc5-42b0d40ee65d" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2">9</ix:nonFraction></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="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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">AstraZeneca</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_d94bbf9d-000e-4084-89ca-f3f14b1f63b4" contextRef="C_52726052-ce44-4f91-bb8f-1eb1fd0872d7" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">8</ix:nonFraction></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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_f19306e3-54cd-41ca-82f5-bec0a2e67b8e" contextRef="C_37883dc5-23ed-47b3-b062-cfdc186d89a8" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">9</ix:nonFraction></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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_5e1d8b30-0309-440d-8738-992a722e93c6" contextRef="C_d878faaa-d974-4b9c-9ef1-ec19c9a317fb" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2">20</ix:nonFraction></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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_2a11c27c-30f5-4b66-ba95-755fb3ad1335" contextRef="C_daa4758b-d109-45ac-bb36-09309b7fcf2b" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2">33</ix:nonFraction></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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;"><ix:nonFraction id="F_a66a860e-c1d6-4ae3-98e6-b33b1ee286bf" contextRef="C_528c68f0-1f5d-4086-a9b8-00002b8a2506" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2">16</ix:nonFraction></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="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: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;">Substantially all direct product sales to distributors in China were made by Falikang. No individual distributor represented over 10% of the total revenue for the years ended December 31, 2023 and 2022. The aggregate accounts receivable from direct sales to distributors 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;"> were immaterial.</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_11a18543-d6d4-4b54-a6b0-ac13bd726a15" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="us-gaap:SubsequentEventsTextBlock" escape="true"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">18.	Subsequent Event</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;">On February 23, 2024, the Company and AstraZeneca entered into an agreement to terminate the AstraZeneca U.S./RoW Agreement dated July 30, 2013 (as amended). Pursuant to the termination and transition agreement, AstraZeneca is returning all of their non-China roxadustat rights to the Company, with the exception of South Korea, and providing certain assistance during a transition period. The Company&#8217;s collaboration agreement with AstraZeneca for roxadustat in China remains in place.</span><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 a part of this termination and transition agreement, the Company and AstraZeneca will settle the outstanding balances relating to past transactions related to manufacturing and AstraZeneca will receive tiered mid-single digit royalties on FibroGen&#8217;s sales of roxadustat in the terminated territories, or thirty-five percent of all revenue FibroGen receives if it licenses or sells such rights to a third-party. Neither party incurred any early termination penalties. The Company is currently evaluating the accounting impact of this transaction as it relates to the first quarter of 2024.</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: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;">149</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>
  <div style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_54f93351-922a-45d9-83c2-0d1722c31366" contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc" name="srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" escape="true"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="schedule_ii"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Schedule II: Valuation an</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 Qualifying Accounts</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;">(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: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:100.0%;border-collapse:separate;margin-right:auto;">
     <tr style="visibility:collapse;">
      <td style="width:35.787%;"/>
      <td style="width:1.26%;"/>
      <td style="width:1%;"/>
      <td style="width:9.582%;"/>
      <td style="width:1%;"/>
      <td style="width:1.26%;"/>
      <td style="width:1%;"/>
      <td style="width:9.582%;"/>
      <td style="width:1%;"/>
      <td style="width:1.26%;"/>
      <td style="width:1%;"/>
      <td style="width:9.582%;"/>
      <td style="width:1%;"/>
      <td style="width:1.26%;"/>
      <td style="width:1%;"/>
      <td style="width:9.582%;"/>
      <td style="width:1%;"/>
      <td style="width:1.26%;"/>
      <td style="width:1%;"/>
      <td style="width:9.582%;"/>
      <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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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="vertical-align:bottom;"><p style="font-size:10pt;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 colspan="2" 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="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Charged</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 style="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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>
     </tr>
     <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:middle;"><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:middle;"><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:middle;"><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:middle;"><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:middle;"><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: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="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Charged</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 style="vertical-align:middle;"><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: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="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">to Other</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 style="vertical-align:middle;"><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:middle;"><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:middle;"><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:middle;"><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:middle;"><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:middle;"><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>
     </tr>
     <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Balance at</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Credited)</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accounts -</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;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:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Beginning of</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">to Statement</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Liabilities</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Deductions,</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Balance at</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Year</span></p></td>
      <td style="vertical-align:middle;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:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">of Operation</span></p></td>
      <td style="vertical-align:middle;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:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">and Equity</span></p></td>
      <td style="vertical-align:middle;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:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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;"><p style="font-size:8pt;margin-top:0;font-family: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</span></p></td>
      <td style="vertical-align:middle;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:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">End of Year</span></p></td>
      <td style="vertical-align:middle;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:middle;"><p style="font-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;">Valuation allowances for deferred tax assets</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 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: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 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: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 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: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 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: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 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>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Year ended December 31, 2023</span></p></td>
      <td style="white-space:pre-wrap;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="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="color:#000000;min-width:fit-content;">$</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;"><ix:nonFraction id="F_dbfba751-2212-4da9-94ea-af13e1e3d8b1" contextRef="C_649d562e-a8ae-40b4-bb9a-131e714124b9" name="us-gaap:ValuationAllowancesAndReservesBalance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">477,969</ix:nonFraction></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;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5a2a73a4-fc47-4814-a110-b516f67833dd" contextRef="C_44966446-1567-4557-9601-0657675deb31" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">56,998</ix:nonFraction></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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2fea1096-4e99-436a-bd2b-16e1a44c5050" contextRef="C_44966446-1567-4557-9601-0657675deb31" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" 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:middle;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_79672c22-38a4-4240-91f3-c920aae14cac" contextRef="C_44966446-1567-4557-9601-0657675deb31" name="us-gaap:ValuationAllowancesAndReservesDeductions" 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:middle;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d29a742-3304-431c-b3bc-2f13bf416119" contextRef="C_260c93a8-c8e9-4970-9f44-90a16e8aed4d" name="us-gaap:ValuationAllowancesAndReservesBalance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">534,967</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Year ended December 31, 2022</span></p></td>
      <td style="white-space:pre-wrap;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="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="color:#000000;min-width:fit-content;">$</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;"><ix:nonFraction id="F_f38879d3-3394-4af9-9af8-8ada7c09a087" contextRef="C_6eb1ac9b-f9eb-46f5-a850-37b4f530bdd0" name="us-gaap:ValuationAllowancesAndReservesBalance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">409,810</ix:nonFraction></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;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1538f3da-6788-4444-bbc9-4631468907a5" contextRef="C_2d9f1232-09cf-4a56-8df0-87268529c4f4" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">68,159</ix:nonFraction></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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_535e8d7e-33d2-4b63-b5ac-e770d2880bfb" contextRef="C_2d9f1232-09cf-4a56-8df0-87268529c4f4" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" 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:middle;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_76d89dcc-ade8-43f1-a051-c81d79b5dd65" contextRef="C_2d9f1232-09cf-4a56-8df0-87268529c4f4" name="us-gaap:ValuationAllowancesAndReservesDeductions" 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:middle;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b87ea3e2-97f1-4c25-ab9e-bf6238052702" contextRef="C_649d562e-a8ae-40b4-bb9a-131e714124b9" name="us-gaap:ValuationAllowancesAndReservesBalance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">477,969</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Year ended December 31, 2021</span></p></td>
      <td style="white-space:pre-wrap;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="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="color:#000000;min-width:fit-content;">$</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;"><ix:nonFraction id="F_a5aebaf5-73e9-4a66-ac37-9605c9a9bebd" contextRef="C_20ffc867-55c8-4555-91bd-a994a29c5242" name="us-gaap:ValuationAllowancesAndReservesBalance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">337,824</ix:nonFraction></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;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5d0d69b4-9d3d-4f5a-9a1f-f46cc345c001" contextRef="C_06f086f0-9936-4c4a-8404-d51e9b1dcc47" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71,986</ix:nonFraction></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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_472c696b-ca07-4895-93a3-b4e14b85da85" contextRef="C_06f086f0-9936-4c4a-8404-d51e9b1dcc47" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" 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:middle;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_91810d62-5747-45c4-8791-09b652bea775" contextRef="C_06f086f0-9936-4c4a-8404-d51e9b1dcc47" name="us-gaap:ValuationAllowancesAndReservesDeductions" 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:middle;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5995a90e-4151-4481-8580-143e6c2056f0" contextRef="C_6eb1ac9b-f9eb-46f5-a850-37b4f530bdd0" name="us-gaap:ValuationAllowancesAndReservesBalance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">409,810</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;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: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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;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="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Allowances for rebates, discounts and adjustments</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 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: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 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: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 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: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 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: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 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>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Year ended December 31, 2023</span></p></td>
      <td style="white-space:pre-wrap;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="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="color:#000000;min-width:fit-content;">$</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;"><ix:nonFraction id="F_eafe4ff8-71e2-461b-8f8d-0cccba51f163" contextRef="C_1a1fdc4a-4d80-4d7b-911a-eb0a0063070f" name="us-gaap:ValuationAllowancesAndReservesBalance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,349</ix:nonFraction></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;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_38db4519-fa14-46a3-8190-30aea0b9eb50" contextRef="C_4348a71c-ade0-4f33-b4d8-0ca686ba006c" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">63,475</ix:nonFraction></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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_f49fbb67-866a-4ce7-931d-aee8e5d7634e" contextRef="C_4348a71c-ade0-4f33-b4d8-0ca686ba006c" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">849</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_12379b38-6cd7-4e59-96f3-cce5a4929093" contextRef="C_4348a71c-ade0-4f33-b4d8-0ca686ba006c" name="us-gaap:ValuationAllowancesAndReservesDeductions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">60,964</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_768859a9-36cb-4be0-8d41-b6c85cb43197" contextRef="C_d18421a3-6eb0-41c3-865f-3d30610e76de" name="us-gaap:ValuationAllowancesAndReservesBalance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,011</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Year ended December 31, 2022</span></p></td>
      <td style="white-space:pre-wrap;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="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="color:#000000;min-width:fit-content;">$</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;"><ix:nonFraction id="F_4d4284db-7971-4570-a9ae-184951059185" contextRef="C_464653e2-3d5b-4147-89da-5a519b1f4dc3" name="us-gaap:ValuationAllowancesAndReservesBalance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,443</ix:nonFraction></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;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e17a190c-06ce-4e28-a990-197e58db1280" contextRef="C_29ae50fc-6f09-4103-bb32-9be92f9a8bcc" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">39,082</ix:nonFraction></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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_073c5215-eb02-48cd-a0a3-b9dde4166a63" contextRef="C_29ae50fc-6f09-4103-bb32-9be92f9a8bcc" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,050</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_c1cf1695-f996-4415-bcce-ba7f1e53cb3a" contextRef="C_29ae50fc-6f09-4103-bb32-9be92f9a8bcc" name="us-gaap:ValuationAllowancesAndReservesDeductions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">53,226</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_84703520-a993-4f6e-b16f-4243b27c9104" contextRef="C_1a1fdc4a-4d80-4d7b-911a-eb0a0063070f" name="us-gaap:ValuationAllowancesAndReservesBalance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,349</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Year ended December 31, 2021</span></p></td>
      <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ebf5ef2c-6335-42af-91fd-82696c278b79" contextRef="C_5995f929-3741-4c1d-848c-3ccfd1ee27cc" name="us-gaap:ValuationAllowancesAndReservesBalance" 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:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c2c7afc-11d8-40cf-86f6-c4c0cd7d9510" contextRef="C_892731c6-14d2-4862-b12f-20aa8648074a" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">44,258</ix:nonFraction></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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_3d637ea4-cf88-4ee4-aae5-65e7ed4547fc" contextRef="C_892731c6-14d2-4862-b12f-20aa8648074a" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">734</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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_882eef8f-6a7a-4b14-80d5-5199e677e710" contextRef="C_892731c6-14d2-4862-b12f-20aa8648074a" name="us-gaap:ValuationAllowancesAndReservesDeductions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,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="color:#000000;min-width:fit-content;">)</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_24a876a7-9d15-435f-b7af-84adcfb2a7cf" contextRef="C_464653e2-3d5b-4147-89da-5a519b1f4dc3" name="us-gaap:ValuationAllowancesAndReservesBalance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,443</ix:nonFraction></span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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: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;">150</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;" 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 ACCOU</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">NTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE</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:18pt;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. CONTROL</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">S AND PROCEDURES</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;">Attached as Exhibits 31.1 and 31.2 to this Annual Report on Form 10-K for the year ended December 31, 2023 (&#8220;Annual Report&#8221;) are certifications of our Chief Executive Officer and our Chief Financial Officer required by Rule 13a-14(a) and 15d-15(e) promulgated under the Securities Exchange Act of 1934, as amended (the &#8220;Rule 13a-14(a) and 15d-15(e) Certifications&#8221;). This Controls and Procedures section of the Annual Report includes the information concerning the controls evaluation referred to in the Rule 13a-14(a) and 15d-15(e) Certifications.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Evaluation of Disclosure Controls and Procedures</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 management, with the participation of our Chief Executive Officer and our Chief Financial Officer, has evaluated the effectiveness of our disclosure controls and procedures as of December 31, 2023, the end of the period covered by this Annual Report. Disclosure controls and procedures (as defined in Rules 13a-15(e) or 15d-15(e) under the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;)) are designed to provide reasonable assurance that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported, within the time periods specified in the SEC&#8217;s rules and forms and that such information is accumulated and communicated to the company&#8217;s management, including its Chief Executive Officer and Chief Financial Officer, as appropriate to allow timely decisions regarding required disclosure.</span><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;">Based on our evaluation, the Chief Executive Officer and Chief Financial Officer have concluded that our disclosure controls and procedures were effective at the reasonable assurance level as of December 31, 2023.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Management&#8217;s Annual Report on Internal Control over Financial Reporting</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 management is responsible for establishing and maintaining adequate internal control over financial reporting, as such term is defined in Rule 13a-15(f) of the Exchange Act. Our internal control over financial reporting is a process established under the supervision of and with the participation of our management, including our Chief Executive Officer and our Chief Financial Officer. 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. Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. In addition, 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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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, with the participation and under the supervision of our Chief Executive Officer and our Chief Financial Officer, evaluated our internal control over financial reporting as of December 31, 2023, the end of our fiscal year, using 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 - Integrated Framework </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(2013) set forth by the Committee of Sponsoring Organizations of the Treadway 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;">Based on our evaluation, our management has concluded that our internal control over financial reporting was effective as of December 31, 2023 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.</span><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 effectiveness of the Company&#8217;s internal control over financial reporting as of December 31, 2023 has been audited by PricewaterhouseCoopers LLP, an independent registered public accounting firm, as stated in their report that appears herein.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Limitations on the Effectiveness of Controls</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 designing and evaluating the disclosure controls and procedures, management recognizes that because of the inherent limitations in all control systems, any controls and procedures, no matter how well designed and operated, can provide only reasonable not absolute, assurance of achieving the desired control objectives. In addition, the design of disclosure controls and procedures must reflect the fact that there are resource constraints and the benefits of controls and procedures must be considered relative to their 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="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: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;">151</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:18pt;font-family:Times New Roman;margin-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:6pt;font-family:Times New Roman;margin-bottom: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 were no changes in our internal control over financial reporting identified in connection with the evaluation required by Rule 13a-15(d) and 15d-15(d) of the Exchange Act that occurred during the most recent fiscal quarter ended December 31, 2023 that materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.</span></p>
  <p style="font-size:10pt;margin-top:18pt;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></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;">Trading Arrangements</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:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_9c_frgn_juri"><span style="text-transform:uppercase;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Ite</span><span style="text-transform:uppercase;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">m 9C. 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: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;">152</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;" 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></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_10_directors_executive_ficers_corpo"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 10. DIRECTORS, EXECUTIVE 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;">FICERS AND CORPORATE GOVERNANCE</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 information required by this item relating to our directors and nominees, including information with respect to our audit committee, audit committee financial experts and procedures by which stockholders may recommend nominees to our Board of Directors, is incorporated by reference to the sections titled &#8220;Proposal 1 &#8211; Election of Directors&#8221; and &#8220;Directors and Corporate Governance&#8221; in our Proxy Statement for our 2024 Annual Meeting of Stockholders to be filed with the SEC within 120 days after the end of the fiscal year ended December 31, 2023 (the &#8220;2024 Proxy Statement&#8221;). The information required by this item regarding our executive officers is incorporated by reference to the section titled &#8220;Executive Officers&#8221; appearing in our 2024 Proxy Statement. The information, if any, required by this item regarding compliance with Section 16(a) of the Securities Exchange Act of 1934, as amended, is incorporated by reference to the section titled &#8220;Delinquent Section 16(a) Reports&#8221; appearing in our 2024 Proxy Statement.</span></p>
  <p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Code of Conduct</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 adopted a Code of Business Conduct that applies to all of our directors, officers and employees. A copy of our Code of Business Conduct can be found on our website (</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.FibroGen.com</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">) under &#8220;Corporate Governance.&#8221; The contents of our website are not a part of this report.</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 intend to promptly disclose the nature of any amendment to, or waiver from, our Code of Business Conduct that applies to our principal executive officer, principal financial officer, principal accounting officer or persons performing similar functions on our website in the future.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_11_executive_compensation"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 11. EXECUTI</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">VE 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;">The information required by this item is incorporated by reference to the sections titled &#8220;Executive Compensation,&#8221; &#8220;Director Compensation,&#8221; &#8220;Compensation Committee Interlocks and Insider Participation&#8221; and &#8220;Compensation Committee Report&#8221; appearing in our 2024 Proxy Statement.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_12_security_ownership_certain_benef"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 12. SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OW</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">NERS AND MANAGEMENT AND RELATED STOCKHOLDER 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 information required by this item is incorporated by reference to the sections titled &#8220;Security Ownership of Certain Beneficial Owners and Management&#8221; and &#8220;Equity Compensation Plan Information&#8221; appearing in our 2024 Proxy Statement.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_13_certain_relationships_related_tr"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 13. CERTAIN RELATIONSHIPS AND RELATED</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> TRANSACTIONS, AND DIRECTOR INDEPENDENCE</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 information required by this item is incorporated by reference to</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:'Calibri',sans-serif;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 sections titled &#8220;Transactions with Related Persons&#8221; and &#8220;Directors and Corporate Governance&#8221; appearing in our 2024 Proxy Statement.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_14_principal_accounting_fees_servic"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 14. PRINCIPAL ACCOU</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">NTANT FEES AND SERVICES</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 information required by this item is incorporated by reference to the proposal title &#8220;Proposal 3 - Ratification of Selection of Independent Registered Public Accounting Firm&#8221; appearing in our 2024 Proxy Statement.</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: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;">153</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;" 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></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 FINA</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">NCIAL STATEMENT SCHEDULES</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;">(a)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> We have filed the following documents as part of this Annual Report:</span></p>
  <p style="text-indent:4.533%;font-size: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;">1. Consolidated Financial Statements</span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom: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 in response to this Item is included in Part II, Item 8 of this Annual Report.</span></p>
  <p style="text-indent:4.533%;font-size: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;">2. Financial Statement Schedules</span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Schedule II is included on page </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">150</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. All other schedules are omitted because they are not required or the required information is included in the consolidated financial statements or notes thereto.</span></p>
  <p style="text-indent:4.533%;font-size: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;">3. Exhibits</span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom: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 Item 15(b) below.</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;">(b) </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;">Exhibits</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212;We have filed, or incorporated into this Annual Report by reference, the exhibits listed below. Where an exhibit is incorporated by reference, the number in parentheses indicates the document to which cross-reference is made. Refer to the end of this table for a listing of cross-reference documents.</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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:8.858%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:29.834%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:9.058%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:16.157%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:13.997%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.018%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Exhibit</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times 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="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.01in;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;">Incorporation By Reference</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
    <td style="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid;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="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.01in;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;">Exhibit Description</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;border-bottom:0.5pt solid;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid #ffffff03;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.01in;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;">Form</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid #ffffff03;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.01in;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;">SEC File No.</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid #ffffff03;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.01in;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;">Exhibit</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid #ffffff03;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.01in;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;">Filing Date</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.1</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514420380/d824859dex31.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amended and Restated Certificate of Incorporation of FibroGen, Inc.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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.1</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">11/21/2014</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.2</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514380087/d720189dex34.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amended and Restated Bylaws of FibroGen, Inc.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1/A</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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.4</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/23/2014</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.1</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514420380/d824859dex41.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Form of Common Stock Certificate.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">4.1</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">11/21/2014</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.2</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000156459017022738/fgen-ex46_97.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Shareholders&#8217; Agreement by and among FibroGen International (Cayman) Limited and certain of its shareholders, dated as of September 8, 2017.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">4.6</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">11/8/2017</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.3</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514381669/d720189dex417.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Common Stock Purchase Agreement by and between FibroGen, Inc. and AstraZeneca AB, dated as of October 20, 2014.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1/A</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">4.17</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/24/2014</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.4</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459020008161/fgen-ex44_244.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Description of Capital Stock of FibroGen, Inc</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">4.4</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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/2/2020</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.1(i)+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex103i.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">FibroGen, Inc. Amended and Restated 2005 Stock Plan.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.3(i)</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.1(ii)+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex103ii.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forms of stock option agreement, restricted stock purchase agreement and stock appreciation right agreement under the FibroGen, Inc. Amended and Restated 2005 Stock Plan.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.3(ii)</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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: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;">154</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>
  <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:8.858%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:29.834%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:9.058%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:16.157%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:13.997%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.018%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.1(iii)+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex103iii.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Form of stock option agreement under the FibroGen, Inc. Amended and Restated 2005 Stock Plan applicable to options exchanged pursuant to FibroGen, Inc.&#8217;s 2010 amendment and exchange offer.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.3(iii)</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.1(iv)+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex103iv.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Form of 2010 amendment to the form of stock option agreement under the FibroGen, Inc. Amended and Restated 2005 Stock Plan applicable to options amended pursuant to FibroGen, Inc.&#8217;s 2010 amendment and exchange offer.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.3(iv)</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.1(v)+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex103v.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Form of 2013 amendment to the form of stock option agreement under the FibroGen, Inc. Amended and Restated 2005 Stock Plan applicable to options amended or exchanged pursuant to FibroGen, Inc.&#8217;s 2010 amendment and exchange offer.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.3(v)</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.2+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514406755/d808943dex104.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">FibroGen, Inc. 2014 Equity Incentive Plan and forms of agreement thereunder.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1/A</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.4</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">11/12/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.3+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514406755/d808943dex105.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">FibroGen, Inc. 2014 Employee Stock Purchase Plan.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1/A</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.5</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">11/12/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.4+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017023018814/fgen-ex10_3.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">FibroGen, Inc. Non-Employee Director Compensation Policy, as amended.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.3</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">5/8/2023</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.5*+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="fgen-ex10_5.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">FibroGen, Inc. Bonus Plan.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.6</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex108.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Lease Agreement by and between FibroGen, Inc. and X-4 Dolphin LLC, dated as of September 22, 2006; as amended by First Amendment to Lease by and between FibroGen, Inc. and X-4 Dolphin LLC, dated as of October 10, 2007; as amended by Second Amendment to Lease by and between FibroGen, Inc. and X-4 Dolphin LLC, dated as of June 29, 2009; as amended by Third Amendment to Lease by and between FibroGen, Inc. and Are-San Francisco No. 43, LLC (as successor in interest to X-4 Dolphin LLC), dated as of May 19, 2011; as amended by Fourth Amendment to Lease by and between FibroGen, Inc. and Are-San Francisco No. 43, LLC, dated as of September 8, 2011.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.8</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:bottom;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:bottom;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><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: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;">155</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>
  <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:8.858%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:29.834%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:9.058%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:16.157%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:13.997%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.018%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.7</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex109.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Lease for Premises in Beijing BDA Biomedical Park by and among Beijing FibroGen Medical Technology Development Co., Ltd., Beijing Economic and Technology Investment Development Parent Company and Beijing BDA International Biological Pharmaceutical Investment Management Co., Ltd., effective as of February 1, 2013, as supplemented by the Supplementary Agreement to Lease of Premises in Beijing BDA Biomedical Park by and among Beijing FibroGen Medical Technology Development Co., Ltd., Beijing Economic Technology Investment Development Parent Company and Beijing BDA International Biological Pharmaceutical Investment Management Co., Ltd., dated as of January 30, 2013.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.9</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.8+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex1010.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Form of Employment Offer Letter.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.10</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.9&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459020051315/fgen-ex101_102.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Collaboration Agreement, by and between FibroGen, Inc. and Astellas Pharma Inc., effective as of June 1, 2005.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">11/5/2020</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.9(i)&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459019004979/fgen-ex109i_141.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amendment No. 1 to Collaboration Agreement, by and between FibroGen, Inc. and Astellas Pharma Inc., effective as of January 1, 2013.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.9(i)</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">2/27/2019</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.10&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex1012.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Anemia License and Collaboration Agreement, by and between FibroGen, Inc. and Astellas Pharma Inc., effective as of April 28, 2006.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.12</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.11&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex1013.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amendment to Anemia License and Collaboration Agreement, by and between FibroGen, Inc. and Astellas Pharma Inc., effective as of August 31, 2006.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.13</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.12</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex1014.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amendment No. 2 to Anemia License and Collaboration Agreement, by and between FibroGen, Inc. and Astellas Pharma Inc., effective as of December 1, 2006.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.14</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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: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;">156</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>
  <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:8.858%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:29.834%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:9.058%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:16.157%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:13.997%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.018%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.13&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex1015.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Supplement to Anemia License and Collaboration Agreement, by and between FibroGen, Inc. and Astellas Pharma Inc., effective as of April 28, 2006.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.15</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.14&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex1016.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amendment No. 3 to Anemia License and Collaboration Agreement, by and between FibroGen, Inc. and Astellas Pharma Inc., dated as of May 10, 2012.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.16</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.15&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459020051315/fgen-ex103_98.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amended and Restated License, Development and Commercialization Agreement (China) by and among FibroGen China Anemia Holdings, Ltd., Beijing FibroGen Medical Technology Development Co., Ltd., FibroGen International (Hong Kong) Limited and AstraZeneca AB, effective as of July 30, 2013.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.3</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">11/5/2020</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:bottom;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:bottom;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.16&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459020051315/fgen-ex102_99.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amended and Restated License, Development and Commercialization Agreement (for the U.S. and Certain Other Territories) by and between FibroGen, Inc. and AstraZeneca AB, effective as of July 30, 2013.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.2</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">11/5/2020</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.17</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex1021.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and Commercialization Agreement by and among FibroGen, Inc., GenPharm International Inc., Medarex, Inc. and FibroPharma, Inc., effective as of July 9, 1998.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.21</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.18</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514359619/d720189dex1022.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amendment No. 1 to Research and Commercialization Agreement by and among FibroGen, Inc., GenPharm International Inc., Medarex, Inc. and FibroPharma, Inc., effective as of June 30, 2001.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.22</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/1/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.19&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459020051315/fgen-ex106_95.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amendment No. 2 to Research and Commercialization Agreement by and among FibroGen, Inc., GenPharm International Inc., Medarex, Inc. and FibroPharma, Inc., effective as of January 28, 2002.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.6</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">11/5/2020</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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: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;">157</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>
  <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:8.858%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:29.834%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:9.058%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:16.157%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:13.997%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.018%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.20+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000119312514380087/d720189dex1027.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Form of Indemnity Agreement by and between FibroGen, Inc. and its directors and officers.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">S-1/A</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">333-199069</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.27</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10/23/2014</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.21&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000156459017009854/fgen-ex1032_233.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State-Owned Construction Land Use Right Granting Contract by and between FibroGen (China) Medical Technology Development Co., Ltd. and The Bureau of Land and Resources of Cangzhou, dated as of February 24, 2017</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">.</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.32</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">5/9/2017</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.22&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459020008161/fgen-ex1028_711.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Commercial Supply Agreement by and between FibroGen, Inc. and Catalent Pharma Solutions, LLC, effective as of January 1, 2020</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">.</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.28</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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/2/2020</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.23&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459020012585/fgen-ex991_15.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Master Supply Agreement by and among FibroGen, Inc., Shanghai SynTheAll Pharmaceutical Co., Ltd. and STA Pharmaceutical Hong Kong Limited, effective March 2, 2020</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">.</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">99.1</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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/24/2020</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.24&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459020037760/fgen-ex102_89.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amendment No.1 to Master Supply Agreement by and among FibroGen, Inc., Shanghai SynTheAll Pharmaceutical Co., Ltd. and STA Pharmaceutical Hong Kong Limited, effective May 11, 2020</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">.</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.2</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8/6/2020</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.25&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459020037760/fgen-ex103_247.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Second Amended and Restated License, Development and Commercialization Agreement by and among FibroGen China Anemia Holdings, Ltd., FibroGen China Medical Technology Development Co., Ltd., FibroGen International (Hong Kong) Limited, and AstraZeneca AB, effective July 1, 2020</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">.</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.3</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8/6/2020</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.26&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459020037760/fgen-ex104_222.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amendment No. 1 to the Amended and Restated License, Development and Commercialization Agreement by and between FibroGen, Inc. and AstraZeneca AB, effective July 1, 2020</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">.</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.4</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8/6/2020</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.27&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459020051315/fgen-ex108_100.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amendment No. 2 to Master Supply Agreement by and among FibroGen, Inc., Shanghai SynTheAll Pharmaceutical Co., Ltd. and STA Pharmaceutical Hong Kong Limited, effective July 24, 2020</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">.</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.8</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">11/5/2020</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family: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 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: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;">158</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>
  <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:8.858%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:29.834%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:9.058%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:16.157%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:13.997%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.018%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.28&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459020051315/fgen-ex109_217.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Master Supply Agreement by and between FibroGen, Inc. and AstraZeneca UK Limited, effective September 10, 2020</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">.</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.9</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">11/5/2020</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.29&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459021009871/fgen-ex1035_604.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Master Services Agreement by and between FibroGen, Inc. and Samsung Biologics Co., Ltd., effective as of October 30, 2020.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-K</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.35</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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/1/2021</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.30&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459021009871/fgen-ex1036_605.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Product Specific Agreement by and between FibroGen, Inc. and Samsung Biologics Co., Ltd., effective as of October 30, 2020.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-K</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.36</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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/1/2021</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.31&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459021026053/fgen-ex102_228.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Astellas EU Supply Agreement by and between FibroGen, Inc. and Astellas Pharma Europe Ltd, effective as of January 1, 2021.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.2</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">5/10/2021</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.32&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459021026053/fgen-ex103_249.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amendment No. 3 to Master Supply Agreement by and among FibroGen, Inc., Shanghai SynTheAll Pharmaceutical Co., Ltd., and STA Pharmaceutical Hong Kong Limited, dated as of January 12, 2021.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.3</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">5/10/2021</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.33</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459021042639/fgen-ex101_15.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sixth Amendment to the Lease by and between ARE-San Francisco No., 43, LLC and FibroGen, Inc. as of June 1, 2021.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8/9/2021</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.34&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459021042639/fgen-ex102_408.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exclusive License and Option Agreement by and between FibroGen, Inc. and HiFiBiO (HK) Limited (D.B.A. HiFiBiO Therapeutics), as of June 16, 2021.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.2</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8/9/2021</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.35&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000156459022007632/fgen-ex1036_220.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amendment No. 4 to Master Supply Agreement by and among FibroGen, Inc., Shanghai SynTheAll Pharmaceutical Co., Ltd., and STA Pharmaceutical Hong Kong Limited, dated as of October 29, 2021.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-K</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.36</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">2/28/2022</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.36+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459020008161/fgen-ex1032_243.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Offer Letter, by and between FibroGen, Inc. and Christine Chung, dated as of June 17, 2008.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.32</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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/2/2020</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.37+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459021055726/fgen-ex102_105.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Offer Letter by and between FibroGen, Inc. and Juan Graham, effective as of July 30, 2021.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.2</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">11/9/2021</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.38+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459020008161/fgen-ex1035_673.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Form of Executive Officer Change in Control and Severance Agreement</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">.</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.35</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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/2/2020</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="3" 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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="3" 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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="3" 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="white-space:pre-wrap;min-width:fit-content;">&#160;</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: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;">159</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>
  <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:8.858%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:29.834%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:9.058%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:16.157%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:13.997%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.018%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.39&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017022008573/fgen-ex10_1.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amended and Restated Exclusive License Agreement by and between FibroGen, Inc. and Eluminex Biosciences (Suzhou) Limited as of January 21, 2022.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.1</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">5/9/2022</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.40</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017023004668/fgen-ex10_44.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amended and Restated Equity Distribution Agreement by and between FibroGen, Inc. and Goldman Sachs &amp; Co. LLC and BofA Securities, Inc., dated February 27, 2023.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.44</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">2/27/2023</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.41&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017023004668/fgen-ex10_45.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amendment No. 1 to Product Specific Agreement - Clinical Product Drug Substance by and between FibroGen, Inc. and Samsung Biologics Co., Ltd., effective as of October 25, 2022.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.45</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">2/27/2023</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.42&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017023004668/fgen-ex10_46.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue Interest Financing Agreement by and between FibroGen, Inc. and NQ Project Phoebus, L.P., dated as of November 4, 2022.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.46</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">2/27/2023</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.43&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017023004668/fgen-ex10_47.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Letter Agreement by and among Astellas Pharma Inc., Astellas Pharma Europe Ltd., and FibroGen, Inc., effective as of November 4, 2022.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.47</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">2/27/2023</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.44&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017023018814/fgen-ex10_2.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amendment No.1 to Commercial Supply Agreement (Roxadustat) by and between FibroGen, Inc. and its Affiliates and Catalent Pharma Solutions, LLC, effective as of January 1, 2023.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.2</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">5/8/2023</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.45+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017023018814/fgen-ex10_4.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Form of Executive Officer Change in Control and Severance Agreement.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.4</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">5/8/2023</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.46+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017023034234/fgen-ex10_1.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Offer Letter, dated July 23, 2023, between FibroGen, Inc. and Thane Wettig.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.1</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">7/25/2023</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.47+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017023034234/fgen-ex10_2.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Consulting Agreement, dated July 23, 2023, between FibroGen, Inc. and Enrique Conterno.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.2</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">7/25/2023</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.48&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017023039070/fgen-ex10_4.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amended and Restated Exclusive License Agreement by and among FibroGen, Inc., FibroGen (China) Medical Technology Development Co., Ltd., and Eluminex Biosciences Suzhou) Limited, dated April 19, 2023.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.4</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8/7/2023</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family: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 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: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;">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>
  <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:8.858%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:29.834%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:9.058%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:16.157%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:13.997%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.018%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.49&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017023039070/fgen-ex10_5.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Financing Agreement by and among FibroGen, Inc., certain of its subsidiaries, NHTV Fairview Holding LLC, NHTV II Fairview Holding LLC, MSTV Fund II Employees Fairview Holding LLC, and Wilmington Trust, National Association, dated as of April 29, 2023.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.5</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8/7/2023</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.50&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017023039070/fgen-ex10_6.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Evaluation Agreement by and between FibroGen, Inc. and Fortis Therapeutics, Inc., dated May 5, 2023.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.6</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8/7/2023</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.51&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017023039070/fgen-ex10_7.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Option Agreement and Plan of Merger by and among FibroGen, Inc., Fortis Therapeutics, Inc., and Shareholder Representative Services LLC, dated as of May 5, 2023.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.7</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8/7/2023</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.52+</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="https://www.sec.gov/Archives/edgar/data/921299/000095017023046574/fgen-ex10_1.htm" style="-sec-extract:exhibit"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Consulting Agreement, dated September 11, 2023, between FibroGen, Inc. and Mark Eisner.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8-K</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10.1</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">9/6/2023</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.53*&#134;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="fgen-ex10_53.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amendment No. 1 to the Second Amended and Restated Exclusive License Agreement, dated as of November 16, 2023.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">21.1</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="https://www.sec.gov/Archives/edgar/data/0000921299/000156459021042639/fgen-ex211_16.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Subsidiaries of FibroGen, Inc.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">10-Q</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">001-36740</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">21.1</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">8/9/2021</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">23.1*</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="fgen-ex23_1.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Consent of PricewaterhouseCoopers LLP.</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">24.1*</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="#power_of_attorney"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Power of Attorney (included in signature pages).</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">31.1*</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="fgen-ex31_1.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Certification of Chief Executive Officer, as required by Rule 13a-14(a) or Rule 15d-14(a).</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">31.2*</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="fgen-ex31_2.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Certification of Chief Financial Officer, as required by Rule 13a-14(a) or Rule 15d-14(a).</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">32.1**</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><a href="fgen-ex32_1.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Certification of Principal Executive Officer and Principal Financial Officer, as required by Rule 13a-14(b) or Rule 15d-14(b) and Section 1350 of Chapter 63 of Title 18 of the United States Code (18 U.S.C. &#167;1350)(1).</span></a></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">97.1*</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></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;"><a href="fgen-ex97_1.htm"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Policy for Recoupment of Incentive Compensation</span></a><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">.</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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: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;">161</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>
  <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:8.858%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:29.834%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:9.058%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:16.157%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:13.997%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.018%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">101.INS*</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><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>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">101.SCH*</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Inline XBRL Taxonomy Schema Linkbase Document</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td colspan="3" 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="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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">104</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cover Page Interactive Data File (embedded within the inline XBRL document)</span></p></td>
    <td style="padding-top:0.01in;vertical-align:middle;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</span></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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td style="padding-top:0.01in;vertical-align:top;padding-right:0.01in;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;">&#8212;</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:1pt solid;margin-right:83.333%;text-align:left;"><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:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">* Filed herewith.</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;">** Furnished herewith.</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;">&#134; Portions of this exhibit (indicated by asterisks) have been omitted as the Company has determined that (i) the omitted information is not material and (ii) the omitted information would likely cause competitive harm if publicly disclosed or is the type of information the Company treats as confidential.</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;">+ Indicates a management contract or compensatory plan.</span></p>
  <div style="display:flex;margin-top:0;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.537%;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;">This certification accompanies the Form 10-K to which it relates, is not deemed filed with the Securities and Exchange Commission and is not to be incorporated by reference into any filing of FibroGen, Inc. under the Securities Act of 1933, as amended, or the Securities Exchange Act of 1934, as amended (whether made before or after the date of the Form 10-K), irrespective of any general incorporation language contained in such filing.</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;">(c) </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;">Financial Statement Schedules</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212;See (a) 2 above. All other financial statement schedules are omitted because they are not applicable because the requested information is included in the consolidated financial statements or notes thereto.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_16_form_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.  FOR</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">M 10-K SUMMARY</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>
  <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: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;">162</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;" 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;">SIGNA</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">TURES</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, as amended, the registrant has duly caused this Annual Report to be signed on its behalf by the undersigned, thereunto duly authorized, in the City of San Francisco, State of California.</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:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:45.72%;"/>
    <td style="width:1%;"/>
    <td style="width:5%;"/>
    <td style="width:3.5%;"/>
    <td style="width:44.78%;"/>
   </tr>
   <tr style="height:7.2pt;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;"> </span></p></td>
    <td style="vertical-align: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 colspan="3" 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;">FIBROGEN, INC.</span></p></td>
   </tr>
   <tr style="height:7.2pt;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 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 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:7.2pt;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 26, 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="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><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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <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:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/s/ Thane Wettig</span></p></td>
   </tr>
   <tr style="height:7.2pt;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="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;"> </span></p></td>
    <td style="vertical-align: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="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Thane Wettig</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;min-width:fit-content;">Chief Executive Officer</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;">(Principal Executive Officer)</span></p></td>
   </tr>
   <tr style="height:7.2pt;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 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 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:7.2pt;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 26, 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="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><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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td>
    <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:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/s/ Juan Graham</span></p></td>
   </tr>
   <tr style="height:7.2pt;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="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;"> </span></p></td>
    <td style="vertical-align: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="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Juan Graham</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;min-width:fit-content;">Senior Vice President and Chief Financial Officer</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;">(Principal Financial and Accounting 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: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;">163</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;" id="power_of_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 id="power_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;">ATTORNEY</span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom: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 constitutes and appoints Thane Wettig and Juan Graham, jointly and severally, his or her attorneys-in-fact, each with the power of substitution, for him or her in any and all capacities, to sign any amendments to this Annual Report, and to file the same, with exhibits thereto and other documents in connection therewith with the Securities and Exchange Commission, hereby ratifying and confirming all that each of said attorneys-in-fact, or his substitute or substitutes, may do or cause to be done by virtue hereof.</span></p>
  <p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom: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></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:5pt;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:40%;"/>
    <td style="width:1%;"/>
    <td style="width:40%;"/>
    <td style="width:1%;"/>
    <td style="width:18%;"/>
   </tr>
   <tr style="height:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <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;font-weight:bold;text-decoration:underline;min-width:fit-content;">Signature</span></p></td>
    <td style="vertical-align: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="vertical-align:bottom;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;text-decoration:underline;min-width:fit-content;">Title</span></p></td>
    <td style="vertical-align: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="vertical-align:bottom;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;text-decoration:underline;min-width:fit-content;">Date</span></p></td>
   </tr>
   <tr style="height:7.2pt;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 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 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:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/s/ Thane Wettig</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chief Executive Officer</span><span style="color:#000000;white-space:pre-wrap;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-style:italic;min-width:fit-content;">(Principal Executive Officer)</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 26, 2024</span></p></td>
   </tr>
   <tr style="height:7.2pt;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-weight:bold;min-width:fit-content;">Thane Wettig</span></p></td>
    <td style="vertical-align: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="vertical-align: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>
   </tr>
   <tr style="height:7.2pt;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="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: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 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:7.2pt;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="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: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 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:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/s/ Juan Graham</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Senior Vice President and Chief Financial Officer </span><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">(Principal Financial and Accounting Officer)</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 26, 2024</span></p></td>
   </tr>
   <tr style="height:7.2pt;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-weight:bold;min-width:fit-content;">Juan Graham</span></p></td>
    <td style="vertical-align: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="vertical-align: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>
   </tr>
   <tr style="height:7.2pt;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="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: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 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:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/s/ James A. Schoeneck</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chairman of the Board and Director</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 26, 2024</span></p></td>
   </tr>
   <tr style="height:7.2pt;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-weight:bold;min-width:fit-content;">James A. Schoeneck</span></p></td>
    <td style="vertical-align: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="vertical-align: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>
   </tr>
   <tr style="height:7.2pt;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="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: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 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:7.2pt;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="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: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 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:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/s/ Suzanne Blaug</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Director</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 26, 2024</span></p></td>
   </tr>
   <tr style="height:7.2pt;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-weight:bold;min-width:fit-content;">Suzanne Blaug</span></p></td>
    <td style="vertical-align: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="vertical-align: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>
   </tr>
   <tr style="height:7.2pt;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="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: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 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:7.2pt;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="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: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 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:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/s/ Aoife Brennan</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Director</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 26, 2024</span></p></td>
   </tr>
   <tr style="height:7.2pt;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-weight:bold;min-width:fit-content;">Aoife Brennan, M.B., B.Ch.</span></p></td>
    <td style="vertical-align: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="vertical-align: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>
   </tr>
   <tr style="height:7.2pt;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="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: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 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:7.2pt;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="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: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 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:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/s/ Benjamin F. Cravatt</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Director</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 26, 2024</span></p></td>
   </tr>
   <tr style="height:7.2pt;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-weight:bold;min-width:fit-content;">Benjamin F. Cravatt, Ph.D.</span></p></td>
    <td style="vertical-align: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="vertical-align: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>
   </tr>
   <tr style="height:7.2pt;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="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: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 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:7.2pt;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="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: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 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:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/s/ Jeffrey L. Edwards</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Director</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 26, 2024</span></p></td>
   </tr>
   <tr style="height:7.2pt;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-weight:bold;min-width:fit-content;">Jeffrey L. Edwards</span></p></td>
    <td style="vertical-align: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="vertical-align: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>
   </tr>
   <tr style="height:7.2pt;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="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: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 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:7.2pt;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="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: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 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:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/s/ Jeffrey W. Henderson</span></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;"><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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Director</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 26, 2024</span></p></td>
   </tr>
   <tr style="height:7.2pt;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-weight:bold;min-width:fit-content;">Jeffrey W. Henderson</span></p></td>
    <td style="vertical-align: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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </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:7.2pt;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="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: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 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:7.2pt;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="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: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 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:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/s/ Maykin Ho</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Director</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 26, 2024</span></p></td>
   </tr>
   <tr style="height:7.2pt;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-weight:bold;min-width:fit-content;">Maykin Ho, Ph.D.</span></p></td>
    <td style="vertical-align: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="vertical-align: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>
   </tr>
   <tr style="height:7.2pt;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="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: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 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:7.2pt;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="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: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 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:7.2pt;word-break:break-word;white-space:pre-wrap;">
    <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;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/s/ Gerald Lema</span></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;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Director</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
    <td rowspan="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">February 26, 2024</span></p></td>
   </tr>
   <tr style="height:7.2pt;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-weight:bold;min-width:fit-content;">Gerald Lema</span></p></td>
    <td style="vertical-align: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="vertical-align: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>
   </tr>
   <tr style="height:7.2pt;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="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: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 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:7.2pt;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="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: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 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>
  </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: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;">164</span></p></div>
  <hr style="page-break-after:always;"/>
 </body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.5
<SEQUENCE>2
<FILENAME>fgen-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="padding-top:0.5in;min-height:0.8in;box-sizing:border-box;"><p style="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.3361111111111111in;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">FIBROGEN, INC.</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="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.3361111111111111in;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">BONUS PLAN</font></p><p style="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.025in;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 10.5</font></p></div>
  <p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;">The FibroGen, Inc. (&#x201c;FibroGen&#x201d; or the &#x201c;Company&#x201d;) Bonus Plan (the &#x201c;Plan&#x201d;) is a discretionary plan, designed to reward eligible participants for the achievement of corporate goals, as well as individual goals that are consistent with the company&#x2019;s objectives and organizational priorities on an annual basis.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Plan will govern bonuses paid to eligible participants for work performed during the period from January 1 to December 31 of a calendar year (&#x201c;Plan Year&#x201d;), with assessments and bonuses to be paid in the following calendar year (&#x201c;Review Year&#x201d;).</font></p>
  <p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:3.333%;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;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Purpose of the Plan</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The Plan is designed to:</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></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:justify;"><font 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;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Provide a bonus program that helps achieve overall corporate goals and enhances shareholder value;</font></div></div>
  <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:justify;"><font 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;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Reward individuals for achievement of corporate and individual goals;</font></div></div>
  <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:justify;"><font 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;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Encourage teamwork among all disciplines within 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:0;min-width:3.333%;text-align:justify;"><font 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;">&#x2022;</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Offer an attractive bonus program to help attract and retain key employees.</font></div></div>
  <p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:3.333%;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;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Plan Governance</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Compensation Committee of the Board of Directors or such other committee as the Board of Directors may determine (any such committee, the &#x201c;Committee&#x201d;) is responsible for reviewing and approving the Plan and any proposed modifications to the Plan.</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:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The CEO of FibroGen is responsible for administration of the Plan, provided that the Committee is responsible for reviewing and approving all compensation for the executive officers of FibroGen. All interpretations and determinations of the Committee under the Plan will be final and binding.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:3.333%;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;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Eligibility</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This Plan applies solely to employees of FibroGen whom the Company, in its sole discretion, determines meet the eligibility requirements set forth below (&#x201c;Participant&#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="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">To be eligible to receive a discretionary bonus award under this Plan, a Participant must satisfy each of the following eligibility conditions:</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></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;"><font 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;">a.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Must be a regular status employee as such status is determined by FibroGen in its sole discretion; </font></div></div>
  <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;"><font 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;">b.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Must be hired on or before September 30th of the Plan Year; </font></div></div>
  <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;"><font 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;">c.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Must attain achievement of performance goals at the end of the Plan Year, </font></div></div>
  <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;"><font 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;">d.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Must have been continuously employed during the Plan Year and on the actual date of bonus payment distribution; </font></div></div>
  <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;"><font 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;">e.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Must not be providing services to FibroGen as, or classified as (whether or not such classification is upheld upon review by an applicable legal authority), a temporary employee or intern or as an independent contractor, consultant, or agent, under a written or oral contract;  </font></div></div>
  <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;"><font 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;">f.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Must not have at any time until the date that bonuses are paid under the Plan, (a) violated any provision of FibroGen&#x2019;s Code of Conduct or any other written Company policy, or (ii) entered into an employment termination or separation agreement (not including agreements entered into in connection with the commencement or continuation of employment), or (iii) been subject to a performance improvement plan. </font></div></div>
  <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:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A Participant will have no right to receive and will not have been deemed to have earned any Bonus if the preceding conditions are not met.</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:justify;"><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.8in;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:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Page </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of  6</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: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:0.8in;box-sizing:border-box;"><p style="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.3361111111111111in;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">FIBROGEN, INC.</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="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.3361111111111111in;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">BONUS PLAN</font></p><p style="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.025in;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 10.5</font></p></div>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:3.333%;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;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Corporate and Individual Performance</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The CEO will present to the Committee a list of the overall corporate goals (Corporate Goals&#x201d;) for the Plan year, which is subject to approval by the Committee February 28.  All Participants in the Plan will then develop a list of key individual goals (&#x201c;Individual Goals&#x201d;) no later than March 31 which will be subject to approval by their manager no later than April 15 and will be used as the basis of the performance review and individual performance rating (&#x201c;Individual Performance Rating&#x201d;).</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The total bonus pool for the Plan will be based on achievement of the Plan Year Corporate Goals and, where applicable, the Individual Performance Rating.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:3.333%;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;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Bonus Awards</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Bonus awards are based on achievement of the Plan Year Corporate Goals and, where applicable, the Individual Performance Rating. The Bonus will be calculated by using the actual base salary earned during the Plan Year for exempt employees, and using the actual earnings during the Plan Year for non-exempt employees as defined by law, and further include weighting factor, target bonus percentage, and goal multipliers as identified below.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:3.333%;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;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Weighting Factor</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The relative weight between the Plan Year Corporate Goals and, where applicable, the Individual Performance Rating components will vary based on levels within the organization as determined by and in the sole discretion of the Committee. The weighting factors will be reviewed annually and adjusted, as necessary or appropriate, by and in the sole discretion of the Committee.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">7.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Target Bonus Percentages</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Bonus payout amount will be determined by applying a &#x201c;target bonus percentage&#x201d; to the actual base salary earned during the Plan Year, as determined by and in the sole discretion of the Committee.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The actual base salary earned during the Plan Year multiplied by the target bonus percentage will be used to establish the target Bonus for the Plan Year.</font></p>
  <p style="margin-left:2%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:justify;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">8.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">GOAL MULTIPLIERS</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Corporate Goal Multiplier</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In its sole discretion, the Committee will determine the &#x201c;total corporate goal multiplier&#x201d; based upon measurement of corporate performance versus the pre-established corporate goals. The Committee will evaluate each corporate goal and shall provide a goal multiplier for such goal based on the achievement of the goal with a range of 0% for goals for which the performance was unacceptable to 150% for goals for which the performance significantly exceeded the goal or was excellent in view of prevailing conditions.</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:justify;"><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: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.8in;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:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Page </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of  6</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: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:0.8in;box-sizing:border-box;"><p style="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.3361111111111111in;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">FIBROGEN, INC.</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="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.3361111111111111in;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">BONUS PLAN</font></p><p style="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.025in;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 10.5</font></p></div>
  <p style="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;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Individual Goal Multiplier</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The &#x201c;individual goal multiplier&#x201d; will be determined by taking into account the Participant&#x2019;s achievement of their individual goals, utilizing the same metrics as used for the corporate goal evaluation.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goals under the Plan will be set based on performance criteria set forth in </font><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Exhibit A</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> hereto.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">9.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Calculation of Bonus Amount</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The example below shows a sample Bonus amount calculation under the Plan. First, a target Bonus amount is calculated for each Plan participant by multiplying the Participant&#x2019;s actual base salary earned during the Plan Year by the target bonus percentage. This dollar figure is then divided between the corporate component and the individual component based on the weighting factor for that position. This calculation establishes specific dollar target Bonus amounts for the performance period for each of the corporate and individual components.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At the end of the Plan Year, the corporate and individual goal multipliers will be established using the criteria described above. The corporate goal multiplier, which is based on overall corporate performance, is used to calculate the corporate component of the Bonus amount for all Plan participants. This is accomplished by multiplying the target corporate Bonus amount established for each individual by the total corporate goal multiplier. The individual goal multiplier, which is based on an individual&#x2019;s performance rating, is used in the same way to calculate the actual individual component of the Bonus amount.</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:87.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:72%;"></td>
    <td style="width:28%;"></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Example: Actual Bonus Amount Calculation</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Salary Paid During Plan Year</font></p></td>
    <td style="vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$100,000</font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;&#160;&#160;Target Bonus Percentage</font></p></td>
    <td style="vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10%</font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;&#160;&#160;Target Bonus Amount</font></p></td>
    <td style="vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$10,000</font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;&#160;&#160;Target Bonus Components:</font></p></td>
    <td style="vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;&#160;&#160;Target Bonus Amount based on corporate performance (50%)</font></p></td>
    <td style="vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$5,000</font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;&#160;&#160;Target Bonus Amount based on individual performance (50%)</font></p></td>
    <td style="vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$5,000</font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;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:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;&#160;&#160;Corporate Goal Multiplier</font></p></td>
    <td style="vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">80%</font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;&#160;&#160;Individual Goal Multiplier</font></p></td>
    <td style="vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">105%</font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;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:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;min-width:fit-content;">Actual Bonus Amount Calculation:</font></p></td>
    <td style="vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Corporate Bonus Amount</font></p></td>
    <td style="vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$4,000 ($5,000 x 80%)</font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Individual Bonus Amount</font></p></td>
    <td style="vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$5,250 ($5,000 x 105%)</font></p></td>
   </tr>
   <tr style="height:12.25pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Actual Cash Bonus Amount (prior to taxes)</font></p></td>
    <td style="vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;text-align:right;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">$9,250</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.8in;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:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Page </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of  6</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: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:0.8in;box-sizing:border-box;"><p style="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.3361111111111111in;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">FIBROGEN, INC.</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="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.3361111111111111in;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">BONUS PLAN</font></p><p style="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.025in;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 10.5</font></p></div>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">10.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Bonus Payments</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Annual performance reviews for Plan participants will be completed by January 31 of the Review Year or as soon thereafter as practicable.  Payments of actual Bonus amounts (less applicable taxes) will be made as soon as practical, but no later than March 15 of the Review Year. The calculation and payment of bonus awards under this Plan will occur as soon as administratively practicable following the completion of the applicable Plan Year and the Committee&#x2019;s determination and approval of any applicable bonus awards, but no later than March 15 of the Review Year.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Bonus payments shall be paid in accordance with the Company&#x2019;s usual payroll procedures in effect from time to time and shall be subject to state and federal income taxes, social security taxes, deductions authorized by Employee, and such other deductions as laws in force may require.</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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Bonus payments for Participants hired by FibroGen after January 1 of a Plan Year will be subject to proration in the sole discretion of FibroGen based on the number of full months (rounded to the nearest full month) that a Participant worked in the Plan Year, however, FibroGen reserves the right to, in its sole discretion, pro-rate bonuses based on days or on any other basis. For example, the pro-ration factor for a Participant who is eligible to participate in the Plan for the entire applicable Plan Year will be 1.00; for a Participant who is eligible to participate in the Plan for one-half of the Plan Year, the pro-ration factor will be .50. Participants in the following situations may have a pro-ration factor less than 1.00: (a) new hires and individuals who become eligible Participants during the applicable Plan Year; (b) individuals who transfer between an exempt and non-exempt position within FibroGen; (c) Participants who work less than the applicable full-time standard work week of forty (40) hours; and (d) Participants who take unpaid time off or a leave of absence beyond the maximum leave of absence period protected under federal or state law or local ordinance.</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:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Any bonus payment provided for under the Plan is completely discretionary, and is not considered earned or accrued by a Participant until it is actually paid.</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:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">If employment with FibroGen terminates, for any reason, prior to the date a bonus payment is made, an individual will not be eligible to receive any bonus payment</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">11.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Maximum Bonus Payout</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">To the extent a bonus is paid under this Plan, the maximum bonus payable to any individual shall be one hundred fifty percent (150%) of the individual&#x2019;s target bonus.  The CEO may recommend to the Committee (other than for the CEO), and the Committee may determine in its sole discretion to increase or decrease any individual&#x2019;s bonus based on individual performance.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">12.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Company&#x2019;s Absolute Right to Alter or Abolish the Plan</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Committee reserves the right in its absolute discretion to terminate and/or abolish all or any portion of the Plan at any time or to alter the terms and conditions under which a Bonus will be paid. In the event of the Plan&#x2019;s termination prior to the payment of a Bonus, such Bonus will not be payable under this Plan. Such discretion may be exercised any time before, during, and after the Plan year is completed. No participant shall have any right to receive any payment until actual delivery of such compensation.</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:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Notwithstanding the generality of the foregoing, at FibroGen&#x2019;s discretion, and subject to compliance in all events with, and if and only if permitted by applicable federal and state securities laws and the listing rules and requirements of any stock exchange or trading market on which the Company&#x2019;s common stock is listed or traded, all or a portion of a Bonus payment may be made in vested shares of the Company&#x2019;s common stock. Any such issuance of shares will be made pursuant to an award granted under the Company&#x2019;s 2014 Equity Incentive Plan, or a successor plan thereto. No payment in stock or other equity under this Plan may be made if such issuance or payment would conflict with any such securities laws or listing rules or requirements.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><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.8in;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:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Page </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of  6</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: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:0.8in;box-sizing:border-box;"><p style="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.3361111111111111in;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">FIBROGEN, INC.</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="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.3361111111111111in;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">BONUS PLAN</font></p><p style="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.025in;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 10.5</font></p></div>
  <p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Committee, in its sole discretion, may also determine whether to increase the payout under the Plan for extraordinary achievement or to reduce payout if economic and business conditions warrant such action.</font></p>
  <p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">13.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Compensation Subject to Clawback Policy</font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">All compensation received pursuant to this policy is subject to any clawback policy adopted by FibroGen.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">14.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">General Guidelines, Terms and Conditions of the Plan </font></div></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></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:justify;"><font 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;">a.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Eligibility to participate in this Plan during any Plan Year: (a) does not create any right or entitlement to participate in this Plan in the future or other bonus plans that may be established or maintained by FibroGen, (b) does not constitute a guarantee or establish an obligation for the Company to maintain a similar plan, award similar bonus benefits, or calculate bonuses according to the same or similar formulas in the future, and (c) does not guarantee that any bonus will actually be paid for that Plan Year and in some cases a Participant may not receive a bonus under the Plan.</font></div></div>
  <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:justify;"><font 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;">b.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Any bonus payment awarded under this Plan is a discretionary form of compensation that is outside a Participant&#x2019;s normal, regular or expected compensation, and in no way represents any portion of a Participant&#x2019;s salary, compensation, or other remuneration for the purpose of calculating any of the following payments: termination, severance, bonuses, long-service awards, overtime premiums, pension or retirement benefits, and any other similar payments and extra benefits.</font></div></div>
  <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:justify;"><font 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;">c.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">No bonus payment made under this Plan shall be counted as compensation for purposes of any other employee benefit plan, Plan or agreement sponsored, maintained or contributed by the Company unless expressly provided for in such employee benefit plan or agreement.</font></div></div>
  <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:justify;"><font 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;">d.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Participants who are not actively employed by FibroGen at the time that the payment would otherwise be made under this Plan shall not receive such payment unless and until the Participant returns to active service with FibroGen. This term does not apply to any person on a legally protected leave of absence at the time bonuses are paid.</font></div></div>
  <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:justify;"><font 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;">e.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FibroGen reserves the right to interpret this Plan on a fully discretionary basis and to take any action, or to decline to take any action, in relation to the administration or interpretation of the Plan including but not limited to determining eligibility for participation in the Plan, and to determine the amount, if any, to be paid under the Plan. The Committee or its designee shall be the ultimate sole and final arbiter of any disputes under the Plan, in its sole and absolute discretion.</font></div></div>
  <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:justify;"><font 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;">f.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FibroGen&#x2019;s authority as set forth herein shall be exercised by the Committee, except to the extent the Committee delegates all or some of that authority to FibroGen management.</font></div></div>
  <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:justify;"><font 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;">g.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FibroGen has adopted this Plan voluntarily and reserves the right to change, suspend or discontinue this Plan, or any individual&#x2019;s participation in this Plan, at any time, with or without cause and with or without prior written notice.</font></div></div>
  <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;"><font 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;">h.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Plan is unfunded and no provision of the Plan shall require FibroGen, for purpose of satisfying any Plan obligations, to purchase assets or place any assets in a trust or other entity or otherwise to segregate any assets for such purposes. Nothing contained in this Plan nor any action taken pursuant to its provisions shall create or be construed to create a fiduciary relationship between FibroGen and any Participant or other person.</font></div></div>
  <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;"><font 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;">i.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Nothing in this Plan or FibroGen&#x2019;s policies and practices in administering this Plan constitutes an express or implied contract or other agreement concerning the duration of any participant&#x2019;s employment with the Company. The employment relationship of each participant is &#x201c;at will&#x201d; and may be terminated at any time by the Company or by the participant with or without cause, and with or without notice. </font></div></div>
  <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:justify;"><font 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;">j.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This plan is not intended to be subject to Section 409A of the Internal Revenue Code of 1986, as amended.</font></div></div>
  <p style="text-indent:0.28%;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="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.8in;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:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Page </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of  6</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: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:0.8in;box-sizing:border-box;"><p style="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.3361111111111111in;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">FIBROGEN, INC.</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="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.3361111111111111in;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">BONUS PLAN</font></p><p style="margin-left:14.3pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:8pt;margin-right:0.025in;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 10.5</font></p></div>
  <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;">EXHIBIT A</font></p>
  <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;font-size:11pt;font-family:'Calibri',sans-serif;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Performance Criteria that will be used to establish goals under the Plan may be based on any one of, or combination of, the following as determined by the Committee: (1) earnings (including earnings per share and net earnings); (2) earnings before interest, taxes and depreciation; (3) earnings before interest, taxes, depreciation and amortization; (4) total stockholder return; (5) return on equity or average stockholder&#x2019;s equity; (6) return on assets, investment, or capital employed; (7) stock price; (8) margin (including gross margin); (9) income (before or after taxes); (10) operating income; (11) operating income after taxes; (12) pre-tax profit; (13) operating cash flow; (14) sales or revenue targets; (15) increases in revenue or product revenue; (16) expenses and cost reduction goals; (17) improvement in or attainment of working capital levels; (18) economic value added (or an equivalent metric); (19) market share; (20) cash flow; (21) cash flow per share; (22) share price performance; (23) debt reduction; (24) customer satisfaction; (25) stockholders&#x2019; equity; (26) capital expenditures; (27) debt levels; (28) operating profit or net operating profit; (29) workforce diversity; (30) growth of net income or operating income; (31) billings; (32) pre-clinical development related compound goals; (33) financing; (34) regulatory milestones, including approval of a compound; (35) stockholder liquidity; (36) corporate governance and compliance; (37) product commercialization; (38) intellectual property; (39) personnel matters; (40) progress of internal research or clinical programs; (41) progress of partnered programs; (42) partner satisfaction; (43) budget management; (44) clinical achievements; (45) completing phases of a clinical study (including the treatment phase); (46) announcing or presenting preliminary or final data from clinical studies; in each case, whether on particular timelines or generally; (47) timely completion of clinical trials; (48) submission of INDs and NDAs and other regulatory achievements; (49) partner or collaborator achievements; (50) internal controls, including those related to the Sarbanes-Oxley Act of 2002; (51) research progress, including the development of programs; (52) investor relations, analysts and communication; (53) manufacturing achievements (including obtaining particular yields from manufacturing runs and other measurable objectives related to process development activities); (54) strategic partnerships or transactions (including in-licensing and out-licensing of intellectual property; (55) establishing relationships with commercial entities with respect to the marketing, distribution and sale of the Company&#x2019;s products (including with group purchasing organizations, distributors and other vendors); (56) supply chain achievements (including establishing relationships with manufacturers or suppliers of active pharmaceutical ingredients and other component materials and manufacturers of the Company&#x2019;s products); (57) co-development, co-marketing, profit sharing, joint venture or other similar arrangements; (58) individual performance goals; (59) corporate development and planning goals; and (60) other measures of performance selected by the Committee (as applicable).</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><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.8in;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:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Page </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">6</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of  6</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:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.53
<SEQUENCE>3
<FILENAME>fgen-ex10_53.htm
<DESCRIPTION>EX-10.53
<TEXT>
<html>
 <head>
  <title>EX-10.53</title>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="padding-top:0.59in;min-height:0.81in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:24pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">[*] = Certain confidential information contained in this document, marked by brackets, has been omitted because it is both (i) not material and (ii) would likely cause competitive harm to the company if publicly disclosed.</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 10.53</font></p>
  <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;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:center;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amendment No. 1 to the </font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">SECOND AMENDED AND RESTATED EXCLUSIVE LICENSE AGREEMENT</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><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:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This</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><font style="text-transform:uppercase;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amendment No. 1 to THE </font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">SECOND</font><font style="text-transform:uppercase;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Amended and RESTATED Exclusive License Agreement </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(this &#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amendment 1</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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">is made and entered into as of November 16, 2023 (&#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amendment 1 Effective Date</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;) by and between </font><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FibroGen (China) Medical Technology Development Co., Ltd.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  (&#x73d0;&#x535a;&#x8fdb;&#xff08;&#x4e2d;&#x56fd;&#xff09;&#x533b;&#x836f;&#x6280;&#x672f;&#x5f00;&#x53d1;&#x6709;&#x9650;&#x516c;&#x53f8;) (&#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FGC</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;) and </font><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Eluminex Biosciences (Suzhou) Limited</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> (&#x5178;&#x6676;&#x751f;&#x7269;&#x533b;&#x836f;&#x79d1;&#x6280;&#xff08;&#x82cf;&#x5dde;&#xff09;&#x6709;&#x9650;&#x516c;&#x53f8;) (&#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Eluminex</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;). FGC and Eluminex are each referred to herein as a &#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Party</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; and collectively, as the &#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Parties</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;.</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:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">WHEREAS</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Parties have entered into a </font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">SECOND</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </font><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 EXCLUSIVE LICENSE AGREEMENT</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> on April 19, 2023 (the &#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Agreement</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;);</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:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">WHEREAS</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Parties have entered into an ASSET SALES, TRANSFER AND TERMINATION AGREEMENT effective November 16, 2023 (the &#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Asset Transfer Agreement</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;) to transfer certain assets to Eluminex&#x2019;s possession allowing Eluminex to directly manufacture Cornea Products;</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:justify;"><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:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">WHEREAS</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, after the transfer of such assets, FGC will no longer be responsible for providing Cornea Products and technology transition assistance with regard to Cornea Products under the Agreement;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><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:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">WHEREAS</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, under the Agreement, certain dates and obligations to provide certain services must be modified to reflect the change in manufacturing status;</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:justify;"><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:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">NOW, THEREFORE</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for good and valuable consideration, the receipt and sufficiency of which are acknowledged, the Parties duly execute this Amendment 1 and agree as follows:</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div style="margin-left:4%;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.278125%;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:10pt;font-family:Times New Roman;min-width:fit-content;">Effective as of the </font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Transfer Commencement Date </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(as defined in the Asset Transfer Agreement), the Agreement is hereby amended as follows:</font></div></div>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:5.204%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.204%;display:inline-flex;justify-content:flex-start;">1.1.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The [</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">*] Product Manufacture Technology Transfer Completion Date</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> appearing in Section 5.4 shall occur on the </font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Transfer Commencement Date.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  </font></div></div>
  <div style="display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:5.204%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.204%;display:inline-flex;justify-content:flex-start;">1.2.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The [</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">*] Manufacture Technology Transfer </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">appearing in Section 5.4 of the Agreement is deemed to be complete on the </font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Transfer Commencement Date.</font></div></div>
  <div style="margin-left:6.528%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;min-width:5.204%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.5674426566244435%;display:inline-flex;justify-content:flex-start;">1.3.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FGC&#x2019;s </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">obligation to provide Transition Assistance as required by Section 5.6 of the Agreement shall be deemed complete [*] and FGC shall have no further obligation to provide any transition assistance under Section 5.6 of the Agreement. </font></div></div>
  <div style="margin-left:4%;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:12pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.278125%;display:inline-flex;justify-content:flex-start;">2.</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Miscellaneous</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.  Any and all Sections of the Agreement not conflicting with the terms of this Amendment 1 shall remain unchanged. Any terms and phrases used herein, if not otherwise expressly defined by this Amendment 1, shall have the same meaning as under the Agreement. This Amendment 1 shall form part of the Agreement and the Parties expressly agree to be bound by the terms and conditions thereof. </font></div></div>
  <div style="flex-direction:column;display:flex;padding-bottom:0.3in;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:9pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <hr style="page-break-after:always;">
  <div style="padding-top:0.59in;min-height:0.81in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:24pt;text-align:justify;"><font style="white-space:pre-wrap;font-size:10pt;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:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">IN WITNESS WHEREOF</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Parties have caused this Amendment 1to be executed by their duly authorized representatives as of the Amendment 1 Effective Date.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><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:justify;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FibroGen (China) Medical Technology Development Co., Ltd.</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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x73d0;&#x535a;&#x8fdb;&#xff08;&#x4e2d;&#x56fd;&#xff09;&#x533b;&#x836f;&#x6280;&#x672f;&#x5f00;&#x53d1;&#x6709;&#x9650;&#x516c;&#x53f8;</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:justify;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <table style="border-spacing:0;table-layout:fixed;width:40.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:25%;"></td>
    <td style="width:75%;"></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:right;">
    <td style="padding-left:0.075in;vertical-align:top;padding-right:0.075in;"><p style="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;min-width:fit-content;">Chop:</font></p></td>
    <td style="padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><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;text-align:right;">
    <td style="padding-left:0.075in;vertical-align:top;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="padding-left:0.075in;vertical-align:top;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><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:right;">
    <td style="padding-left:0.075in;vertical-align:top;padding-right:0.075in;"><p style="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;min-width:fit-content;">Date:</font></p></td>
    <td style="padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><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:justify;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Eluminex Biosciences (Suzhou) Limited.</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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x5178;&#x6676;&#x751f;&#x7269;&#x533b;&#x836f;&#x79d1;&#x6280;&#xff08;&#x82cf;&#x5dde;&#xff09;&#x6709;&#x9650;&#x516c;&#x53f8;</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <table style="border-spacing:0;table-layout:fixed;width:40.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:25%;"></td>
    <td style="width:75%;"></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:right;">
    <td style="padding-left:0.075in;vertical-align:top;padding-right:0.075in;"><p style="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;min-width:fit-content;">Chop:</font></p></td>
    <td style="padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><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;text-align:right;">
    <td style="padding-left:0.075in;vertical-align:top;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="padding-left:0.075in;vertical-align:top;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><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:right;">
    <td style="padding-left:0.075in;vertical-align:top;padding-right:0.075in;"><p style="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;min-width:fit-content;">Date:</font></p></td>
    <td style="padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
   </tr>
  </table>
  <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;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.3in;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:center;"><font style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">C: 00042590.3				</font><font style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">2</font><font style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;min-width:fit-content;">.				Confidential</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:9pt;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:8pt;font-family:Times New Roman;min-width:fit-content;">[*] = Certain confidential information contained in this document, marked by brackets, has been omitted because it is both (i) not material and (ii) would likely cause competitive harm to the company if publicly disclosed.</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:9pt;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-23.1
<SEQUENCE>4
<FILENAME>fgen-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:0.5in;"></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></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="text-transform:uppercase;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></p>
  <p style="font-size:10pt;margin-top:24pt;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 hereby consent to the incorporation by reference in the Registration Statements on Form S-8 (No. 333-200348, No. 333-213816, No. 333-216369, No. 333-233204, No. 333-258655, No. 333-266667 and 333-273765) of FibroGen, Inc. of our report dated February 26, 2024 relating to the financial statements, financial statement schedule and the effectiveness of internal control over financial reporting, which appears in this Form 10-K.</font></p>
  <p style="font-size:10pt;margin-top:24pt;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/ PricewaterhouseCoopers LLP</font></p>
  <p style="font-size:10pt;margin-top:24pt;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;">San Jose, California</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 26, 2024</font></p>
  <div style="flex-direction:column;display:flex;min-height:0.5in;justify-content:flex-end;"></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>5
<FILENAME>fgen-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:0.5in;"></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></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></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, Thane Wettig, certify that;</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;">1. I have reviewed this Form 10-K of FibroGen, Inc.;</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;">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></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;">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></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;">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></p>
  <p style="text-indent: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;">(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></p>
  <p style="text-indent: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;">(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></p>
  <p style="text-indent: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;">(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></p>
  <p style="text-indent: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;">(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></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;">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></p>
  <p style="text-indent: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;">(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></p>
  <p style="text-indent: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;">(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></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:54%;"></td>
    <td style="width:1%;"></td>
    <td style="width:45%;"></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <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;">Date: February 26, 2024</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="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><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;">/s/ Thane Wettig</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <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: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: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;">&#160;&#160;&#160;&#160;&#160;Thane Wettig</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <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: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: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;">&#160;&#160;&#160;&#160;&#160;Chief Executive Officer</font><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <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: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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1.1pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;&#160;&#160;&#160;&#160;(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:0.5in;justify-content:flex-end;"></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>6
<FILENAME>fgen-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:0.5in;"></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></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></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, Juan Graham, certify that;</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;">1. I have reviewed this Form 10-K of FibroGen, Inc.;</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;">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></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;">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></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;">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></p>
  <p style="text-indent: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;">(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></p>
  <p style="text-indent: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;">(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></p>
  <p style="text-indent: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;">(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></p>
  <p style="text-indent: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;">(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></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;">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></p>
  <p style="text-indent: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;">(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></p>
  <p style="text-indent: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;">(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></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:54%;"></td>
    <td style="width:1%;"></td>
    <td style="width:45%;"></td>
   </tr>
   <tr style="height:10pt;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Date: February 26, 2024</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="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1.1pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/s/ Juan Graham</font></p></td>
   </tr>
   <tr style="height:10pt;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="white-space:pre-wrap;min-width:fit-content;">&#160;</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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;&#160;&#160;&#160;&#160;Juan Graham</font></p></td>
   </tr>
   <tr style="height:10pt;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="white-space:pre-wrap;min-width:fit-content;">&#160;</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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;&#160;&#160;&#160;&#160;Senior Vice President and Chief Financial Officer</font><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p><p style="margin-left:13.25pt;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;">(Principal Financial Officer)</font></p></td>
   </tr>
   <tr style="height:10pt;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="white-space:pre-wrap;min-width:fit-content;">&#160;</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="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="color:#000000;white-space:pre-wrap;min-width:fit-content;">     </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:0.5in;justify-content:flex-end;"></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>7
<FILENAME>fgen-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="min-height:0.5in;"></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></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></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;">Pursuant to the requirement set forth in Rule 13a-14(b) of the Securities Exchange Act of 1934, as amended (the &#x201c;Exchange Act&#x201d;), and Section 1350 of Chapter 63 of Title 18 of the United States Code (18 U.S.C. &#167;1350), Thane Wettig, Chief Executive Officer of FibroGen, Inc. (the &#x201c;Company&#x201d;), and Juan Graham, Chief Financial Officer of the Company, each hereby certifies that, to the best of his knowledge:</font></p>
  <div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#x2019;s Annual Report on Form 10-K for the year ended December 31, 2023 (the &#x201c;Annual Report&#x201d;), to which this Certification is attached as Exhibit 32.1, fully complies with the requirements of Section 13(a) or Section 15(d) of the Exchange Act, and</font></div></div>
  <div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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:10pt;font-family:Times New Roman;min-width:fit-content;">The information contained in the Annual Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div></div>
  <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;">In Witness Whereof</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the undersigned have set their hands hereto as of the 26</font><font style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">th</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> day of February 2024.</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:49%;"></td>
    <td style="width:2%;"></td>
    <td style="width:49%;"></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1.1pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">/s/ Thane Wettig</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="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </font></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><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;">/s/ Juan Graham</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <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;">Thane Wettig</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1.1pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Chief Executive Officer</font></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: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;">Juan Graham</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:1.1pt;text-align:left;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Senior Vice President and Chief Financial Officer</font></p></td>
   </tr>
  </table>
  <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 accompanies the Form 10-K to which it relates, is not deemed filed with the Securities and Exchange Commission and is not to be incorporated by reference into any filing of FibroGen, Inc. under the Securities Act of 1933, as amended, or the Securities Exchange Act of 1934, as amended (whether made before or after the date of the Form 10-K), irrespective of any general incorporation language contained in such filing.</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>
  <div style="flex-direction:column;display:flex;min-height:0.5in;justify-content:flex-end;"></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-97.1
<SEQUENCE>8
<FILENAME>fgen-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: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:11pt;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 97.1</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:center;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FibroGen, Inc.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:center;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Incentive Compensation Recoupment Policy</font></p>
  <div style="font-size:0;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:11pt;text-align:justify;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:4.533%;display:inline-flex;justify-content:flex-start;">1.</font><div style="width:100%;display:inline;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Introduction</font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Compensation Committee of the Board of Directors (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;">Compensation Committee</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;, and 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;">Board</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;) of FibroGen, Inc., a Delaware corporation (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;">Company</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;), has determined that it is in the best interests of the Company and its stockholders to adopt this Incentive Compensation Recoupment Policy (this &#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;">Policy</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;) providing for the Company&#x2019;s recoupment of Recoverable Incentive Compensation that is received by Covered Officers of the Company under certain circumstances. Certain capitalized terms used in this Policy have the meanings given to such terms in Section 3 below.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This Policy is designed to comply with, and shall be interpreted to be consistent with, Section 10D of the Exchange Act, Rule 10D-1 promulgated thereunder (&#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;">Rule 10D-1</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;) and Nasdaq Listing Rule 5608 (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;">Listing Standards</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;).</font></p>
  <div style="font-size:0;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:11pt;text-align:justify;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:4.533%;display:inline-flex;justify-content:flex-start;">2.</font><div style="width:100%;display:inline;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Effective Date</font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This Policy shall apply to all Incentive Compensation that is received by a Covered Officer on or after October 2, 2023 (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;">Effective Date</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;). Incentive Compensation is deemed &#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;">received</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; in the Company&#x2019;s fiscal period in which the Financial Reporting Measure specified in the Incentive Compensation award is attained, even if the payment or grant of such Incentive Compensation occurs after the end of that period.</font></p>
  <div style="font-size:0;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:11pt;text-align:justify;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:4.533%;display:inline-flex;justify-content:flex-start;">3.</font><div style="width:100%;display:inline;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Definitions</font></div></div>
  <p style="text-indent:7.507%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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;">Accounting Restatement</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means an accounting restatement that the Company is required to prepare due to the material noncompliance of the Company with any financial reporting requirement under the securities laws, including any required accounting 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></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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;">Accounting Restatement Date</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means the earlier to occur of (a) the date that the Board, a committee of the Board authorized to take such action, or the officer or officers of the Company authorized to take such action if Board action is not required, concludes, or reasonably should have concluded, that the Company is required to prepare an Accounting Restatement, or (b) the date that a court, regulator or other legally authorized body directs the Company to prepare an Accounting Restatement.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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;">Administrator</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means the Compensation Committee or, in the absence of such committee, the Board.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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;">Code</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means the U.S. Internal Revenue Code of 1986, as amended, and the regulations promulgated thereunder.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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;">Compensation Committee</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means the Compensation Committee of the Board.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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;">Covered Officer</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means each current and former Executive Officer.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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;">Exchange</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means the Nasdaq Stock Market.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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;">Exchange Act</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means the U.S. Securities Exchange Act of 1934, as amended.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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;">Executive Officer</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means an executive officer as defined under the Exchange Act.</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></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:12pt;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:11pt;text-align:justify;"><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;">Financial Reporting Measures</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means measures that are determined and presented in accordance with the accounting principles used in preparing the Company&#x2019;s financial statements, and any measures derived wholly or in part from such measures, including Company stock price and total stockholder return (&#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;">TSR</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;). A measure need not be presented in the Company&#x2019;s financial statements or included in a filing with the SEC in order to be a Financial Reporting Measure.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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;">Incentive Compensation</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means any compensation that is granted, earned or vested based wholly or in part upon the attainment of a Financial Reporting Measure.</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:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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;">Lookback Period</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means the three completed fiscal years immediately preceding the Accounting Restatement Date, as well as any transition period (resulting from a change in the Company&#x2019;s fiscal year) within or immediately following those three completed fiscal years (except that a transition period of at least nine months shall count as a completed fiscal year). Notwithstanding the foregoing, the Lookback Period shall not include fiscal years completed prior to the Effective Date.</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:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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;">Recoverable Incentive Compensation</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means Incentive Compensation received by a Covered Officer during the Lookback Period that exceeds the amount of Incentive Compensation that would have been received had such amount been determined based on the Accounting Restatement, computed without regard to any taxes paid (</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">i.e.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, on a gross basis without regard to tax withholdings and other deductions). For any compensation plans or programs that take into account Incentive Compensation, the amount of Recoverable Incentive Compensation for purposes of this Policy shall include, without limitation, the amount contributed to any notional account based on Recoverable Incentive Compensation and any earnings to date on that notional amount. For any Incentive Compensation that is based on stock price or TSR, where the Recoverable Incentive Compensation is not subject to mathematical recalculation directly from the information in an Accounting Restatement, the Administrator will determine the amount of Recoverable Incentive Compensation based on a reasonable estimate of the effect of the Accounting Restatement on the stock price or TSR upon which the Incentive Compensation was received. The Company shall maintain documentation of the determination of that reasonable estimate and provide such documentation to the Exchange in accordance with the Listing Standards.</font></p>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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;">SEC</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d; means the U.S. Securities and Exchange Commission.</font></p>
  <div style="font-size:0;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:11pt;text-align:justify;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:4.533%;display:inline-flex;justify-content:flex-start;">4.</font><div style="width:100%;display:inline;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Recoupment</font></div></div>
  <div style="text-indent:6.667%;font-size:0;margin-top:0;justify-content:flex-start;margin-bottom:11pt;min-width:6.667%;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;text-indent:0;display:inline-flex;font-family:Times New Roman;justify-content:flex-start;min-width:2.4%;">(a)</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Applicability of Policy. </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This Policy applies to Incentive Compensation received by a Covered Officer (i) after beginning services as an Executive Officer, (ii) who served as an Executive Officer at any time during the performance period for such Incentive Compensation, (iii) while the Company had a class of securities listed on a national securities exchange or a national securities association, and (iv) during the Lookback Period. </font></div></div>
  <div style="text-indent:6.667%;font-size:0;margin-top:0;justify-content:flex-start;margin-bottom:11pt;min-width:6.667%;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;text-indent:0;display:inline-flex;font-family:Times New Roman;justify-content:flex-start;min-width:2.4%;">(b)</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Recoupment Generally.  </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to the provisions of this Policy, if there is an Accounting Restatement, the Company must reasonably promptly recoup the full amount of the Recoverable Incentive Compensation, unless the conditions of one or more subsections of Section 4(c) of this Policy are met and the Compensation Committee, or, if such committee does not consist solely of independent directors, a majority of the independent directors serving on the Board, has made a determination that recoupment would be impracticable. Recoupment is required regardless of whether the Covered Officer engaged in any misconduct and regardless of fault, and the Company&#x2019;s obligation to recoup Recoverable Incentive Compensation is not dependent on whether or when any restated financial statements are filed.  </font></div></div>
  <div style="text-indent:6.667%;font-size:0;margin-top:0;justify-content:flex-start;margin-bottom:11pt;min-width:6.667%;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;text-indent:0;display:inline-flex;font-family:Times New Roman;justify-content:flex-start;min-width:2.4%;">(c)</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Impracticability of Recovery.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Recoupment may be determined to be impracticable if, and only if:</font></div></div>
  <div style="margin-left:6.667%;text-indent:7.143%;font-size:0;margin-top:0;justify-content:flex-start;margin-bottom:11pt;min-width:6.667%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:5.14287551026968%;text-indent:0;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:10pt;font-family:Times New Roman;min-width:fit-content;">the direct expense paid to a third party to assist in enforcing this Policy would exceed the amount of the applicable Recoverable Incentive Compensation; provided that, before concluding that it would be impracticable to recover any amount of Recoverable Incentive Compensation based on expense of enforcement, the Company shall make a reasonable attempt to recover such Recoverable Incentive Compensation, document such reasonable attempt(s) to recover, and provide that documentation to the Exchange in accordance with the Listing Standards; or</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:center;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;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: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>
  <div style="margin-left:6.667%;text-indent:7.143%;font-size:0;margin-top:0;justify-content:flex-start;margin-bottom:11pt;min-width:6.667%;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:5.14287551026968%;text-indent:0;display:inline-flex;justify-content:flex-start;">(ii)</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">recoupment of the applicable Recoverable Incentive Compensation would likely cause an otherwise tax-qualified retirement plan, under which benefits are broadly available to employees of the Company, to fail to meet the requirements of Code Section 401(a)(13) or Code Section 411(a) and regulations thereunder.</font></div></div>
  <div style="text-indent:6.667%;font-size:0;margin-top:0;justify-content:flex-start;margin-bottom:11pt;min-width:6.667%;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;text-indent:0;display:inline-flex;font-family:Times New Roman;justify-content:flex-start;min-width:2.4%;">(d)</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Sources of Recoupment.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  To the extent permitted by applicable law, the Administrator shall, in its sole discretion, determine the timing and method for recouping Recoverable Incentive Compensation hereunder, provided that such recoupment is undertaken reasonably promptly. The Administrator may, in its discretion, seek recoupment from a Covered Officer from any of the following sources or a combination thereof, whether the applicable compensation was approved, awarded, granted, payable or paid to the Covered Officer prior to, on or after the Effective Date: (i) direct repayment of Recoverable Incentive Compensation previously paid to the Covered Officer; (ii) cancelling prior cash or equity-based awards (whether vested or unvested and whether paid or unpaid); (iii) cancelling or offsetting against any planned future cash or equity-based awards; (iv) forfeiture of deferred compensation, subject to compliance with Code Section 409A; and (v) any other method authorized by applicable law or contract. Subject to compliance with any applicable law, the Administrator may effectuate recoupment under this Policy from any amount otherwise payable to the Covered Officer, including amounts payable to such individual under any otherwise applicable Company plan or program, </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">e.g.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, base salary, bonuses or commissions and compensation previously deferred by the Covered Officer. The Administrator need not utilize the same method of recovery for all Covered Officers or with respect to all types of Recoverable Incentive Compensation.</font></div></div>
  <div style="text-indent:6.667%;font-size:0;margin-top:0;justify-content:flex-start;margin-bottom:11pt;min-width:6.667%;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;text-indent:0;display:inline-flex;font-family:Times New Roman;justify-content:flex-start;min-width:2.4%;">(e)</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">No Indemnification of Covered Officers.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Notwithstanding any indemnification agreement, applicable insurance policy or any other agreement or provision of the Company&#x2019;s certificate of incorporation or bylaws to the contrary, no Covered Officer shall be entitled to indemnification or advancement of expenses in connection with any enforcement of this Policy by the Company, including paying or reimbursing such Covered Officer for insurance premiums to cover potential obligations to the Company under this Policy.</font></div></div>
  <div style="text-indent:6.667%;font-size:0;margin-top:0;justify-content:flex-start;margin-bottom:11pt;min-width:6.667%;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;text-indent:0;display:inline-flex;font-family:Times New Roman;justify-content:flex-start;min-width:2.4%;">(f)</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indemnification of Administrator.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Any members of the Administrator, and any other members of the Board who assist in the administration of this Policy, shall not be personally liable for any action, determination or interpretation made with respect to this Policy and shall be indemnified by the Company to the fullest extent under applicable law and Company policy with respect to any such action, determination or interpretation. The foregoing sentence shall not limit any other rights to indemnification of the members of the Board under applicable law or Company policy.</font></div></div>
  <div style="text-indent:6.667%;font-size:0;margin-top:0;justify-content:flex-start;margin-bottom:11pt;min-width:6.667%;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;text-indent:0;display:inline-flex;font-family:Times New Roman;justify-content:flex-start;min-width:2.4%;">(g)</font><div style="width:100%;display:inline;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">No &#x201c;Good Reason&#x201d; for Covered Officers.</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">  Any action by the Company to recoup or any recoupment of Recoverable Incentive Compensation under this Policy from a Covered Officer shall not be deemed (i) &#x201c;good reason&#x201d; for resignation or to serve as a basis for a claim of constructive termination under any benefits or compensation arrangement applicable to such Covered Officer, or (ii) to constitute a breach of a contract or other arrangement to which such Covered Officer is party.</font></div></div>
  <div style="font-size:0;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:11pt;text-align:justify;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:4.533%;display:inline-flex;justify-content:flex-start;">5.</font><div style="width:100%;display:inline;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Administration</font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Except as specifically set forth herein, this Policy shall be administered by the Administrator. The Administrator shall have full and final authority to make any and all determinations required under this Policy.  Any determination by the Administrator with respect to this Policy shall be final, conclusive and binding on all interested parties and need not be uniform with respect to each individual covered by this Policy. In carrying out the administration of this Policy, the Administrator is authorized and directed to consult with the full Board or such other committees of the Board as may be necessary or appropriate as to matters within the scope of such other committee&#x2019;s responsibility and authority. Subject to applicable law, the Administrator may authorize and empower any officer or employee of the Company to take any and all actions that the Administrator, in its sole discretion, deems necessary or appropriate to carry out the purpose and intent of this Policy (other than with respect to any recovery under this Policy involving such officer or employee).</font></p>
  <div style="font-size:0;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:11pt;text-align:justify;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:4.533%;display:inline-flex;justify-content:flex-start;">6.</font><div style="width:100%;display:inline;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Severability</font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">If any provision of this Policy or the application of any such provision to a Covered Officer shall be adjudicated to be invalid, illegal or unenforceable in any respect, such invalidity, illegality or unenforceability shall</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:center;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;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: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:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">not affect any other provisions of this Policy, and the invalid, illegal or unenforceable provisions shall be deemed amended to the minimum extent necessary to render any such provision or application enforceable.</font></p>
  <div style="font-size:0;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:11pt;text-align:justify;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:4.533%;display:inline-flex;justify-content:flex-start;">7.</font><div style="width:100%;display:inline;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">No Impairment of Other Remedies</font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Nothing contained in this Policy, and no recoupment or recovery as contemplated herein, shall limit any claims, damages or other legal remedies the Company or any of its affiliates may have against a Covered Officer arising out of or resulting from any actions or omissions by the Covered Officer. This Policy does not preclude the Company from taking any other action to enforce a Covered Officer&#x2019;s obligations to the Company, including, without limitation, termination of employment and/or institution of civil proceedings. This Policy is in addition to the requirements of Section 304 of the Sarbanes-Oxley Act of 2002 (&#x201c;</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">SOX 304</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;) that are applicable to the Company&#x2019;s Chief Executive Officer and Chief Financial Officer and to any other compensation recoupment policy and/or similar provisions in any employment, equity plan, equity award, or other individual agreement, to which the Company is a party or which the Company has adopted or may adopt and maintain from time to time; provided, however, that compensation recouped pursuant to this Policy shall not be duplicative of compensation recouped pursuant to SOX 304 or any such compensation recoupment policy and/or similar provisions in any such employment, equity plan, equity award, or other individual agreement except as may be required by law.</font></p>
  <div style="font-size:0;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:11pt;text-align:justify;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:4.533%;display:inline-flex;justify-content:flex-start;">8.</font><div style="width:100%;display:inline;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amendment; Termination</font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Administrator may amend, terminate or replace this Policy or any portion of this Policy at any time and from time to time in its sole discretion. The Administrator shall amend this Policy as it deems necessary to comply with applicable law or any Listing Standard.</font></p>
  <div style="font-size:0;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:11pt;text-align:justify;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:4.533%;display:inline-flex;justify-content:flex-start;">9.</font><div style="width:100%;display:inline;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Successors</font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This Policy shall be binding and enforceable against all Covered Officers and, to the extent required by Rule 10D-1 and/or the applicable Listing Standards, their beneficiaries, heirs, executors, administrators or other legal representatives.</font></p>
  <div style="font-size:0;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:11pt;text-align:justify;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Times New Roman;min-width:4.533%;display:inline-flex;justify-content:flex-start;">10.</font><div style="width:100%;display:inline;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Required Filings</font></div></div>
  <p style="text-indent:6.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company shall make any disclosures and filings with respect to this Policy that are required by law, including as required by the SEC.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;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>
  <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:center;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;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:0;text-align:right;"><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:11pt;text-align:center;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FibroGen, Inc.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:center;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Incentive Compensation Recoupment Policy</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:center;"><font style="font-variant:small-caps;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Form of Executive Acknowledgment</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">I, the undersigned, agree and acknowledge that I am bound by, and subject to, the FibroGen, Inc. Incentive Compensation Recoupment Policy, as may be amended, restated, supplemented or otherwise modified from time to time (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;">Policy</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;). In the event of any inconsistency between the Policy and the terms of any employment agreement, offer letter or other individual agreement with FibroGen, Inc. (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;">Company</font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#x201d;) to which I am a party, or the terms of any compensation plan, program or agreement, whether or not written, under which any compensation has been granted, awarded, earned or paid to me, the terms of the Policy shall govern.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In the event that the Administrator (as defined in the Policy) determines that any compensation granted, awarded, earned or paid to me must be forfeited or reimbursed to the Company pursuant to the Policy, I will promptly take any action necessary to effectuate such forfeiture and/or reimbursement. I further agree and acknowledge that I am not entitled to indemnification, and hereby waive any right to advancement of expenses, in connection with any enforcement of the Policy by the Company.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Agreed and Acknowledged:</font></p>
  <table style="border-spacing:0;table-layout:fixed;width:47.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:24.4%;"></td>
    <td style="width:75.6%;"></td>
   </tr>
   <tr style="word-break:break-word;white-space:pre-wrap;text-align:right;">
    <td style="padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</font></p></td>
    <td style="padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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:right;">
    <td style="padding-left:0.075in;vertical-align:top;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Name:</font></p></td>
    <td style="padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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:right;">
    <td style="padding-left:0.075in;vertical-align:top;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Title:</font></p></td>
    <td style="padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><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:right;">
    <td style="padding-left:0.075in;vertical-align:top;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Date:</font></p></td>
    <td style="padding-left:0.075in;vertical-align:top;border-bottom:0.5pt solid;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:11pt;text-align:justify;"><font style="white-space:pre-wrap;min-width:fit-content;">&#160;</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: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></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>9
<FILENAME>img64793345_0.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 img64793345_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" 5R"*T# 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#W^BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBO.O'_ ,7]$\$2/81H=0U8#/V:
M)@%B]/,;M] "?IG- 'HM%?*NH?M ^-;N8M:FPL8\\)%;[^/<N3_2DT_]H'QK
M:3!KIK"^CSRDMOLX]BA']: /JNBN&^'/Q-T[X@VTZQ6SV>H6P#36SMN&#P&5
MN,C\ 17<.ZQHSNP5%&69C@ >IH 6BO%/&7[0FGZ9<O9>&;1-1E0E6NIB1#G_
M &0.7^N0/3->:W?QW\>W#LT6HVUJ">%AM(R!]-X:@#ZUHKY1L/C]XXM)0UQ/
M97R< I/;!<_BFWFO7O /QKT;Q?<QZ;?0_P!EZH_"([[HICZ*W'/^R1]": /4
M***\X^+OQ'O/A_IVG?V=:P37M\[A3< E$5-NXX!!)^88YH ]'HKY:C_:(\9H
M^6MM(D']UK=\?HXKV'X6?$]/B#:74%U:I::I:!6DCC8E)$/&Y<\CG@@YQD<G
M/ !Z)1110 45XQ\3OC9<^$O$#:'H5G:7%S JFYFN0S*K$9"J%(Y ().>^,5P
M,?[1'C-) S6VD2*.JFW< _D] 'U+16+X1U\>*?">FZV(?)-W"':/.0K D, ?
M3(-<?\7_ (CWWP_L--73+6WFN[]Y,-< LB*@7/ (R<N,<]C0!Z517RQ_PT-X
MU_YY:5_X#M_\75B#]HWQ;&5$VG:-*HZGR9%8_CYF/TH ^GZ*\>\'_M :-K=W
M%8ZY:'29Y#M6?S-\!/N< IGWR/4U[ "&4,I!!&01WH 6BFNZQHSNP5%!+,3@
M >M?,>L_M"^*)=3N1I4=A;V0E80;H"SE >-Q)QDCV% 'T]17A'PS^-FL>(O%
MUMHFO160BNU989H8RC"0#(!RQ!!P1TZD5[O0 445X3\3?C1KWA;QI=Z#I%I8
MB*T6/?+.C.SLR!^,, !A@/PH ]VHKY8_X:&\:_\ /+2O_ =O_BZM0?M'^*TD
M3S]+T:2,?>"1RJS?CO('Y4 ?3M%>7>!_C?H?BR\CTZ^@.DZA(0L222;XY6/9
M7P,'V('L2:]1H **\:^+WQ6U[P/XEL]*TB"R,<MFMR\EQ&SMDNZX&&  ^3]:
MN?!WXEZUX[N]4MM7ALU^RQI)&]NC*3N)!!R3Z4 >LT57O[^UTNPGOKZ=(+6!
M"\LKG 51WKY\\4?M%ZA)=20>&=/AAME.%N;M2\CCU"@@+^.?PH ^BZ*^15^.
M?Q 6?S#K$3+_ ,\S9Q;?T7/ZUZ3\.OCK>>(-?L]#UW3H%FNW\N*ZM<J-W8,A
M)Z^H/X4 >XT450UG6M.\/Z5-J>JW4=M:0C+R.?R '4D]@.30!?HKYW\2_M'7
MCSR0^&M+AB@'"W%Z"SM[A%( _$FN-D^.?Q >0,NL1( ?N+9PX/YJ3^M 'UU1
M7R[H_P"T/XKLI5&IVUCJ,.?FRGE28]F7@?\ ?)KW3P/\1=#\>6;/I\C0WD0S
M-9S$"1/<8^\ON/QQ0!UU%%>&_$_XTZUX5\87&@Z-9V6VU2/S9KE&=F9D#\88
M ###UH ]RHKYKT3]HW78]0A76]-L)K$MB5K9'251ZC+$''I@9]17T?:W4%[:
M0W=M(LL$Z+)'(O1E(R"/J#0!+15?4+DV6FW5V%WF"%Y-N<9V@G'Z5\RK^T5X
MP%R)&L]),6[)B$+CCTSOS^- 'U%1110 4444 %%><>/OC%HG@J633X4.HZLH
MYMXF 2(_[;=C[ $_3->-ZC^T!XUO)BUJ]C8Q]DBMP_YE\T ?5=%?)%M\=?'T
M#*9-4@N0#DK+:1@'V.T"O1/"'[1%M>W,=IXHL$LRY"B\M23$#_M(<E1[@GZ4
M >YT4R&:*X@CG@D26*10R.C JP/0@CJ*Y_QYXED\(>"=2UV&!)Y;54V1N2%+
M,ZH,X[ MG\* .CHKY8/[0_C0L2(=) )Z"W;C_P ?H_X:&\:_\\M*_P# =O\
MXN@#ZGHKY>LOVAO%_P!N@%Q;Z6\!D42*L# E<\X._@XKZAH **** "BOGCQO
M\=/$NC>,=3TK3+73TMK*=H%,L3.[E3@DG<!^E<__ ,-#>-?^>6E?^ [?_%T
M?4]%?+'_  T-XU_YY:5_X#M_\77N'PJ\97OCCP=_:FH101W4=R\#^0I53@*0
M<$G'##O0!V]%%% !17C_ ,7_ (C^*O FL6$>F6UB=.NH"RRS1,[&0'YEX8 8
M!4_B:S?AA\:]3\3>*H]$U^&RC%TI^S30(R'S ,[3DD$$ XZ<^N: /<J**\[^
M+?Q&E\ Z/:#3XX)=3O)"(EF!*HBCYF(!!ZD ?7VH ]$HKYX\#_&;QMXH\9Z7
MH_V73)(KB8"?; ZE8AR[ [N"%!Q[XKU#XJ>-KKP'X234[&VAGN9KI+:,39**
M2K-D@$$\(>XZT =O17RQ_P -#>-?^>6E?^ [?_%T?\-#>-?^>6E?^ [?_%T
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
MA?Q!::QI\A6>W<-C/#K_ !*?8C(K[EN;:*\M)K6= \,R-&ZGNI&"/R-?!5U
M;6\FMV^]%(R'/J#B@#[OTO4;?6-)M-2M&W6]U"DT9/\ =89'X\U\E_&W_DKV
MN_\ ;O\ ^D\=>_?!*]DO?A3I/F-N:$RPY]ED;'Z$"O ?C;_R5[7?^W?_ -)X
MZ .&GM)[>"VFE0K'<H9(F_O ,RG]5-?1O[/GC/\ M'19O"]Y(3<V ,ML6/WH
M2>5_X"Q_)AZ5Q*^#SXA_9ZLM6MHRU[I-Q<2X Y:$O\X_# ;\#ZUYSX6\0W7A
M7Q-8:U:$F2UE#,F<>8G1E/L02* /M?7O^1>U/_KTE_\ 0#7PA7W)<ZE:ZSX(
MN-2LI/,MKK3WEC;V*$\^]?#= 'W_ $444 %</\5_&;^"O!4UW:L!J-TWV>US
MSM8@DOC_ &0"?KBNXKYO_:3U%Y/$>BZ9G]W!:-<8SW=RO_M.@#QJTM+W6=4A
MM;=)+F]NY0B+G+2.Q[D^YZFOI;PI^S_X;T_3XW\1+)J=^R@R*)6CB0^BA2"<
M>I//H*\S_9^TZ.^^)8GD7)LK*6=/0,2J?R<U]5T >::O\"? ^HVSI:V,VG3D
M?+-;SNV#CC*N2,?3'UKYH\8>%+_P9XDN-&O\,\>&CE4866,_=8?7T[$$=J^X
MJ\ _:6T^/'A_453$A\Z!V]1\K*/_ $+\Z +7[/'C&:[M;OPK>S%S:I]HL]W4
M1YPZ?0$@CZGTKM?C;_R2'7?^W?\ ]*(Z^?O@O>R67Q6T;8V%F,D+CU!C;^H!
M_"OH'XV_\DAUW_MW_P#2B.@#Y.T:UCOM=T^TF!,4]S'$X!P=K, ?YU]0_P#"
M@? W_/"^_P# H_X5\P^'Y8X?$FERRNL<:7D3.[G 4!QDD]A7V=_PG?@__H:]
M#_\ !C#_ /%4 <I;_ CP/;7,4ZVMXYC<.%>Y)4X.<$>E>EUBVGB_PS?W4=K9
M^(M(N;B0XCAAO8W=SZ !LFMJ@ HHHH ^*/B1_P E*\1_]A";_P!"->U>&/@5
MX1U?PGHVIW,FIBXO+&"XE"3J%W.@8X&WIDUXK\2/^2E>(_\ L(3?^A&O5] _
M:!T?1?#6D:4VBWTKV5E#;O('0!F1 I('IQ0!U'_#//@K_GKJO_@0O_Q%=YX3
M\)Z9X,T0:3I(E^S^8TK-*^YF8XR2<#L /PKB=%^/O@S5;A(+EKS378X#W40\
MO/;YE)Q]2 *]/AFBN(4F@D26*10R.C!E8'H01U% #Z*** .,^*'A >,O!%W8
MQ(&OH!]HM#W\Q0?E_P"!#*_B/2OCNSN[C3=0@N[=VBN;:59(V'!5U.0?S%?>
M]?)WQP\'_P#"->-GO[:/;8:KNGCP.%ES^\7\R&_X%[4 ?3'A7Q!!XI\+:?K5
MO@+=0AF4'[CCAU_!@1^%?)WQ5\5_\)=X]OKN*3?96Y^RVN#P8T)^8?[S;F^A
M%:_@?XDOX:^'?B;0VE87$R;M/_V6?"28/; (8>X-<;X2\.7'BSQ38:+;9#7,
M@#N!_JT'+-^ !- 'N_[//@_[#H]SXINH\3WV8;7(Y6%3\S?\"8?DOO5[]H[_
M ))YI_\ V%8__14M>L6%C;Z9I]M86D8CMK:-8HD'\*J, ?I7D_[1W_)/-/\
M^PK'_P"BI: /!?A]H]EK_CS2-*U&,R6ES,4E16*DC:3U'(Z5])?\**\ _P#0
M+G_\"Y/_ (JOFSP#K5GX>\=:3JU^SK:VTI>0HNXXVD<#\:^B_P#A?W@;_GO?
M?^ I_P : +<?P-\ Q2I)_9,K;6!VM=2$''J-W2O1:XKPM\5?"_C#6/[+TJ>X
M-T8VD"RPE P&,X/KS7:T 5=2OX-*TN[U&Y;;!:PO-(?15!)_E7PW?75YXD\1
M3W3*9+W4;HOM'=W;@#\3BOICX_\ B'^R? (TR-\3ZK,(L#KY:X9S^>T?\"KQ
MSX(>'_[=^)-G-(FZWTY3>/D<;EX3\=Q4_@: ./\ $V@W'ACQ+?Z+=$-+:2E-
MP&-R]5;\00?QKZE^"?B+^W_AM91R/NN-.)LY,]<+@I_XX5'X&O,/VC?#_P!E
M\1:;KT282]A,$I _Y:1]"?JK ?\  :J_L\>(O[/\8W6B2OB'4X<H#_SUCRP_
M\=+_ )"@#Z=KY_\ VFO^96_[>_\ VC7T!7S_ /M-?\RM_P!O?_M&@#S_ .#W
MAO2?%7CH:;K5I]JM/LLDGE^8Z?,,8.5(/?UKW>^^!/@*[MFB@TV>RD(P)8+N
M1F!]<.6'Z5XE\#=3T_2/B&+K4KZVLK?['*OFW,JQID[<#+$#-?1>H_$SP5IE
MH]Q+XETV4*,[+:X69V]@J$F@#Y%\6^'9O"?BK4-#GD$KVDFT2 8WJ0&5L=LJ
M0<5] _LZ:U<7WA#4-,G=G33[D>3G^%'!.WZ;@Q_&O _&_B0^+?&6I:X(S$ES
M(/+1CRJ*H5<^^%&?>OHCX ^'+C1O TNH72%)-4F\Z-2,'RE&%)^OS$>Q'K0!
MZQ1110!A>,O$D/A'PGJ&M3!6-O'^ZC8_ZR0\(OXDC\,U\4ZKJEYK>JW.I:A.
MTUW<N9)';N3_ "'8#L*^A/VD]2>'P[HFF+PMS=/.W_;-0,?^1/TKQ?X<:1%K
MOQ$T/3YT#PO<AY$/1E0%R#[$+B@#U7X>_ 2UO=*@U7Q8\X>=1)%81-LVJ>1Y
MC=<D=AC'<]AV>H? /P->0,EM:W=C(5PLD-RS8/KA]V:]/HH \.\!?![6O!7Q
M/AU%KB&ZTB*&7;<J=K$LNT*R=0><\9''7M6C^T=_R3S3_P#L*Q_^BI:]@KQ_
M]H[_ ))YI_\ V%8__14M 'BGPE_Y*IX?_P"O@_\ H#5]EU\:?"7_ )*IX?\
M^O@_^@-7V70 5\6?$[_DIOB+_K]>OM.OBSXG?\E-\1?]?KT >_\ [/O_ "3(
M?]?LO_LM4_VCO^2>:?\ ]A6/_P!%2U<_9]_Y)D/^OV7_ -EJG^T=_P D\T__
M +"L?_HJ6@#YY\,:%)XCU=].AR9FM9Y8@.K/'$SA?Q*X_&CPGKLGAGQ7IFLQ
MY_T6=7<#JR=''XJ2/QKJ_@=_R5O2/]R?_P!$O6+\2/#W_"+^/]6TU$VV_G&:
MW Z>6_S*!],X_"@#[2AFCN((YX7#Q2*'1AT8$9!ISNL:,[L%51DL3@ 5YS\$
M/$?]O?#FU@D?=<Z:QM),GG:.4/TVD#_@)J7XT>)?^$=^'-ZL3[;K4#]CAP><
M,#O/_? ;GU(H ^8_&_B%_%?C75-7R3'<3D0@]HU^5!_WR!^.:K^*M"?PUX@E
MTF7/G010&4'L[1([#\&8BMWX3>'/^$E^(VF6SINMK9_M<_IL3D ^Q;:/QJ;X
MS_\ )6]>_P!^+_T2E 'M?[//_)-9/^PA+_Z"E5_VCO\ DGFG_P#85C_]%2U8
M_9Y_Y)K)_P!A"7_T%*K_ +1W_)/-/_["L?\ Z*EH \4^$O\ R53P_P#]?!_]
M :OLNOC3X2_\E4\/_P#7P?\ T!J^RZ "OBSXG?\ )3?$7_7Z]?:=?%GQ._Y*
M;XB_Z_7H ]__ &??^29#_K]E_P#9:I_M'?\ )/-/_P"PK'_Z*EJY^S[_ ,DR
M'_7[+_[+5/\ :._Y)YI__85C_P#14M 'BGPE_P"2J>'_ /KX/_H#5]EU\:?"
M7_DJGA__ *^#_P"@-7V70 4444 >!?M(^(ML>D^&XGY8F]G ].53_P!G_(5X
MO:>&;V\\(ZEXCC7_ $2QN(8)..N_.3^!V#_@8J_\1O$/_"4>/M6U-'W0&8Q6
MY[>6GRJ1]0,_C7T/X(\"1GX'#0IT"SZM:O/(2/NR2#*$^Z@)_P!\T >%_![Q
M%_PCOQ)TV1WVV]Z?L<WIA\!?R<*?PKZM\2>&]-\6:)+I.JQ-):R,K$(Q5@5.
M0017PTZ2VMRR.&CFB<@CH58'^8-?;G@G7U\4>#-*UC(,EQ /-QVD'RN/^^@:
M .._X4#X&_YX7W_@4?\ "O!/BIX:T[PEXZN-)TI9%M8X8W42/N.67)YK[+KY
M,^/7_)5+S_KWA_\ 0!0!H_!?X>:!XXM-8DUJ.X=K62)8O*E*<,&SG\A7J8^
M7@4'_CWOC_V]&N7_ &:/^0=XB_ZZP?R>O=Z ///C-#';?!G6((4"11K;(BCH
MJB>, 5\K^&O^1JTC_K]A_P#0Q7U7\;?^20Z[_P!N_P#Z41U\J>&O^1JTC_K]
MA_\ 0Q0!]I>+-#3Q+X3U31W S=V[(A/0/U0_@P!_"OAN2-X97BD4I(C%64\$
M$=17W[7Q]\9?#_\ PC_Q*U$(FVWOL7L7']_.[_Q\-0!].?#_ %[_ (2;P'H^
MJ,^Z:2W"3'_IHGRO^94G\:Z6O"?V;M>\W3=7\/R/\T$BW<(/]UAM?\ 0O_?5
M>X7EU#8V4]Y</L@@C:61O15&2?R% 'R]^T#KW]J>/UTV-\PZ9 L9';S'^=C^
M10?A76?LW>']L&K^(I4Y<BS@8^@PS_KL_(UX5K6J3:WKM_JD_P#K;RX>9AZ;
MF)Q^&<5]E_#[P_\ \(QX$TC2F3;-' 'G&.?-?YG_ ")(_"@#R3]IK_F5O^WO
M_P!HUYY\(O#.E^+?&XTS6(&FM?LLDFU9"AW#&.0<]Z]#_::_YE;_ +>__:->
M<_";Q3IG@_QJ-4U9I5MOLTD68TWG<<8X_"@#W[_A17@'_H%S_P#@7)_\55O2
M_@WX)T?5;74K32Y!<VL@EB+W,C!7!R#@G!P>:S/^%_>!O^>]]_X"G_&NE\(?
M$7P]XWN+J#1IIFEME5W66(I\I.,CU_\ KT =71110!D^)/#>F^+-$ETG58FD
MM9&5B$8JP*G(((KA?^% ^!O^>%]_X%'_  KU"B@#XT^*GAK3O"7CJXTG2ED6
MUCAC=1(^XY9<GFNI^"_P\T#QQ::Q)K4=P[6LD2Q>5*4X8-G/Y"L[X]?\E4O/
M^O>'_P! %=Y^S1_R#O$7_76#^3T =0/@%X%!_P"/>^/_ &]&JGQM\8MX0\(6
MVAZ2P@NM00PJ4.## H ;'H3D*/Q[BO6J^3_CYJ+WOQ0N+9C\MC;0P*,^J^9_
M[/0!PGAWP_?^*->M='TV,/<W#8&>%4#DL3V &37TSH'P$\':99QKJ<$NJW>
M7EEE>-<]]J(1Q]<UPW[-6G1RZQKVILN9+>"*!#Z"1F)_]%BOHN@#RKQ#\ O"
M.IV4@TF*72KS!*2)*\B;O]I7)X^A%?,FM:/>Z!K-WI.H1>7=VLACD4'(SV(/
M<$8(/H:^\*^8/VB]/CMO'EE>1IM-U8J7/]YE9AG\MH_"@#O?@]KL7C[X=W_A
MG7&:X>T3[-)EB&>!A\ASZC!&?85I?\*!\#?\\+[_ ,"C_A7EW[.M[)!X_N[4
M-^[N+!]R^ZLI!_+/YU]0T ?)7QE\%:/X)UW3K31DF2*>V,K^;)O.[<13/@WX
M,TCQMXBO[+64F:&&T\U!%)L.[>HZ_0FNE_:3_P"1JT;_ *\F_P#0S4?[-W_(
MY:M_V#__ &HE 'H__"@? W_/"^_\"C_A7H6DZ59Z#H]KIEC'Y5I:QB.-2<X
M[DGOWJ]7$_%KQ#_PC?PXU2X1]MQ<I]D@]=TG!(]PNX_A0!\L^//$)\4^.-6U
M8-NBFG*P?]<E^5/_ !T _C5;Q/X9O?"NH6]G?+B2>TANEXQ@.H)'X-N7_@-7
M?AYX?_X2?QYI&ELFZ%YQ).,<>6GS,#]0"/QKV7]H_P /^=I&E>((D^>VD-K,
M0/X'Y4GV!!'_  *@"_\ L[^(OM_A&[T.5\RZ;-NC!_YY29/Z,'_,5[)7R%\%
MO$7]@?$FQ61]MOJ -E+]6QL_\?"_F:^O: /'_P!H[_DGFG_]A6/_ -%2UXI\
M)?\ DJGA_P#Z^#_Z U>U_M'?\D\T_P#["L?_ **EKQ3X2_\ )5/#_P#U\'_T
M!J /LNBBB@ HHHH Y_QW_P D\\2_]@JZ_P#135\05]O^._\ DGGB7_L%77_H
MIJ^(* /K6P^"WP_N-*M99-!/F20(S,+R?J5&3]_%>1_&+X667@B*TU;1Y9CI
MUS+Y#PS-N,4F"PPW<$ ]>1CJ<\>]Z=XZ\(PZ/:"3Q1HJLEN@9?M\600HR,;L
MYKQ3XX_$G2?%%O::#HDWVJWMY_/GN5!",X4JJKGJ/F;)Z=,9H Y'X.ZU<:-\
M3=)$+L(KR3[),@Z.K\#/T;:?PK[$KY(^"/ARXUSXBV=VJ'[)IG^DS2$< X(1
M?J6P?H#Z5];T ? %?3'@?X/>"];\$:-J=]ITTEU<VJR2L+F106/7@' KYGKZ
M1\%?&CP?H7@K1]+O9KP7-K;+%($MRPW#T- '3?\ "BO /_0+G_\  N3_ .*K
MK/#_ (1T3POHDND:59^592LSR(SLY<L "22<] !^%<7_ ,+^\#?\_%]_X"G_
M !KTR":.YMXYX7#Q2J'1AW!&0: /-#\ O I)/V>^'L+HUY?\9_AUH'@C3M*G
MT:.X1[F:1)/-E+\  C'YU]/UX9^TM_R!M _Z^)?_ $%: /)/A=X<T_Q7X\L]
M(U19&M)8Y681OM.50D<_45[]_P *!\#?\\+[_P "C_A7C'P*_P"2KZ;_ -<I
M_P#T6U?6] &1X:\-:9X2T6/2=)B:.U1F?YV+,6)R23_GI7PO7W_7P!0!]I_#
M'_DF7AW_ *\DKK*Y/X8_\DR\._\ 7DE=90!X9^TM_P @;0/^OB7_ -!6O/\
MX"_\E4L_^O>;_P! ->@?M+?\@;0/^OB7_P!!6O/_ ("_\E4L_P#KWF_] - '
MUG7P!7W_ %\ 4 ?3W@7X2^!]9\"Z+J5_HGG7=S:I)+)]KF7<QZG < ?@*Y'X
MM_!W2O#'AYO$.@--%! ZK<VTK[P%8A0RD\_>(!!SU[8Y])^'?C'PQ8_#O0;:
M[\1Z1;W$5FBR12WT2NA]""V0:XKXT_%+0]3\,R^&]#NTOI;IT-Q-%S&B*P;
M;^(D@=.,9H \6\'ZU<>'_%^E:G;.RO#<INQ_$A.&7Z%21^-?<E?%'P\\.7'B
MCQSI>GP(3&)EFG;&0D2$%B?RP/<BOM>@#X@\=_\ )0_$O_85NO\ T:U8UU:3
MV4B1SH49XDE7/=74,I_(BMGQW_R4/Q+_ -A6Z_\ 1K5WWCOP>;GX2>$O%=K&
M3);6,=M>8'_+,_<;\"2/^!#TH ]6^"?C/_A*?!B65S(6U'2PL$I8Y+Q_\LW_
M "&#[J3WK;^*G_)+O$/_ %Z'^8KY>^&OC!_!7C2TU%F;[%)^XNT'>)NIQZ@X
M;\/>OI_XHNDOPKU^2-@Z-9EE93D$$C!% 'REX$_Y*'X:_P"PK:_^C5K[?KX@
M\"?\E#\-?]A6U_\ 1JU]OT %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 ?+_[1J,OQ"L6)R&TN/'M^\EIG
M[.DJ1_$:[1C@RZ9*B^Y\R,_R!KK/VD=!DEL='UZ),K SVL[#L&PR?AD,/Q%>
M,^!?$Q\(>,]-UK:S1028F1>K1L"K8]\$D>X% 'V[1573=2L]7TZ#4-/N([BT
MG4/'*AR&'^>W:K5 !7P]XX1H_'_B-&ZC5+G\?WK5]EV'B?1-4UFZTBPU*WN;
MZT0//%$V[8,XY(XSG@C.1WKY:^-NB/H_Q.U"79M@OPMW$?7<,-_X^&_2@#U[
M]G282?#N[C[QZE(#^,<9_K7KM?-G[/7B^UTO5KWP[?3+$NH%9+5F. 91P5^K
M#&/]W'4BOI.@ KY-^/<ZS?%.Z08S#;0H?KMW?^S5]3:KJMCHFF7&I:C<);VE
MNA>21ST'MZGT'4U\2^+=?D\4>*]2UJ12OVN8NJGJJ#A1^"@#\* /7?V:("VJ
M>(;C!PD,*9_WF8_^RU9_::_YE;_M[_\ :-=1^S_X?DTGP$^HSIMEU2<RJ",'
MRE&U?UW'Z$5R_P"TU_S*W_;W_P"T: ,3]F__ )'K4_\ L&-_Z-CIO[1'A[^S
M_&%IK<28BU*#;(1_SUCP#_XZ4_(T[]F__D>M3_[!C?\ HV.O5_C9X=_M_P"&
MU[)&FZXTXB\CP.<+D/\ ^.%C^ H \^_9O\1[+G5/#<S\2 7EN">XPKC\1L/X
M&N#^,?B3_A)/B-?M&^ZUL3]CAP>,(3N/XN6Y],5ROAW7[[PQKEOJ^G.%NH-P
M4GD?,I4Y_ T>'](G\1^)+#2HBQEO;A8R_4@$_,Q^@R?PH ^G?@1X<_L3X>17
MLJ8N=4D-RQ(Y"?=0?3 W?\"KYJ\:?\CUXA_["=S_ .C6K[=M+6&QLX+2W0)!
M!&L4:#^%5& /R%?$7C3_ )'KQ#_V$[G_ -&M0!]5_!__ ))1H'_7)_\ T8]>
M;_M-?\RM_P!O?_M&O2/@_P#\DHT#_KD__HQZ\W_::_YE;_M[_P#:- 'B6A^(
M-4\-:C_:&CWC6MUL*>8J@G:>HY!':M/6/B#XMU^U>UU/7KR>W<8>$-L1A[JN
M ?QKI/@;IFGZO\0Q:ZE8VU[;_8Y6\JYB61,C;@X8$9KZ>M?"7ANR</:>'M)M
MW!R&BLHT(/KP* /DOP3\,O$/C6\B^SVDEMIQ(,E].A6,+WV_WS[#\<=:^MM)
MTS3O"/AF"PM_W-AI\!R[>@!+,WN>2?K6M7FWQQ\1?V%\.+JWC?;<ZDXM$P>=
MIY<_3:"/^!"@#Y>\2ZU+XB\2ZCK$V=UW<-* ?X5)^5?P&!^%?5W@"\\-^&/
MND:4VO:4LT4 :8?;(_\ 6-\S]_4D?A7R3I.CZAKNH)8:7:2W=VX)6*,9) &3
M^E='_P *K\<_]"S??]\C_&@#T']H5-(U*72-<TS4K&ZF4-:3K!<([;>60X!S
MC[_/N*Y?X'>(O[#^(]K;R/BWU-#:/Z;CRA^NX ?\"-8<OPO\;PQ/+)X;OE1%
M+,=HX Z]ZY>VN);2ZBN8'*30N)$8=58'(/YT ??5?('QM_Y*]KO_ &[_ /I/
M'7U5X:UJ+Q%X:T[6(<;;NW64@?PL1\R_@<C\*^5?C;_R5[7?^W?_ -)XZ ,+
MP]X#\3>*[&XO-$TMKR"W?RY&6:-2&QG&&8$\'L*R-3TJ_P!%OY+'4[.:TNH_
MO13(58>_T]Z^A_V;/^15UG_K]7_T 5K?'CPA'KG@QM:@A!O]*_>;@.6@_C4^
MP^][8/K0!S'P C\&7+NT-I(OBBWC+,]S)ORAX+1< #K@\9&>I!KWVOA;PQKU
MQX8\2Z?K-J3YEK,'*@XWKT9?H5)'XU]Q6-[!J-A;WUK()+>XC66)Q_$K#(/Y
M&@#YG_:._P"2AZ?_ -@J/_T;+6G^S3_R&=?_ .O>+_T)JS/VCO\ DH>G_P#8
M*C_]&RUI_LT_\AG7_P#KWB_]":@#Z+95=2K %2,$$<$5XMXX_9_L-6GEO_#%
MQ'IURY+-:2#]PQ_V2.4^F"/0"O6KO7=*L-2M=.N]0MH+RZ!,$,L@5I,''&>O
M7I6A0!\.>)?"&O>$;P6VM:=+;%C\DGWHY/\ =<<'Z=1WK3^'WC_4O NN1SP2
MR/ITKC[9:9RLB]R!V8#H?PZ5]7>/+'2[_P #ZQ'K"1M:):R2%GQ\C*I*L/1@
M>E?$5 'VQXRGCU'X8:[<VK[XI](GEC8?Q*8B1^8KXGK[5\%Z>9_A;HFGWJDB
M;2HHI%(Y"M&!C\CBOC75-.N-(U:[TV[7;<6LS0R#_:4X/\J /M?P5,+CP)X>
MF7H^FVYQZ?NUK=KRSX%>+[76_!,&C23*-1TL&-HR>6BS\C >@!V^V/<5ZG0
M5\&ZS.MUKFH7"X"RW,CC'H6)KZ_^)GC2U\&>$+NX,RC4+B-HK*+/S-(1C=CT
M7J3[8ZD5\;1123S)#$C/([!451DL3P * /K/X$0&'X4Z>Y!'G33N,_\ 70K_
M .RUX3\;?^2O:[_V[_\ I/'7U)X0T3_A&_"&DZ.<;[6V1)".A?&6(_X$37RW
M\;?^2O:[_P!N_P#Z3QT >Y? A5?X4VB.H96GG!!&01N-?/\ \3O!S>"O&EU8
MQHPL)OW]FQ[QM_#GU4Y'X ]Z^@?@+_R2NS_Z^)O_ $,U-\9_!?\ PEG@N2>V
MB+ZEIN;BWVCEU_C3\0,CW44 >?\ P/\ %XN/#>M>$;V3)CMI;BSW'JA4[T'T
M)##ZMZ5X-6AH>L7.@ZS:ZG:$>; V<'HRD$,I]B"1^-9] 'W_ $444 %?+W[1
MB,OQ#LF/1M+CQ_W\EKZAKP3]I/1'>WT778TRD9>TF;TS\R?R?]* .=_9PF">
M.]1A/5]-8@_22/\ QKZ=KXO^&/BF+PAX]T_4[EBMFQ,%R1VC<8S^!PWX5]FP
MS17$*30R))%(H9'1LJP/0@CJ* 'UX;^TK.JZ'H-OQN>YE<?15 _]F%>XDA02
M2 !R2:^3_C?XSMO%?C".VT^99K#3$,*2J<K)(3EV'MPHSWVYZ&@#'^$,!N/B
MMH" $XF9^/\ 9C9OZ5]$_&W_ ))#KO\ V[_^E$=>4?LZ>'Y+OQ5?:ZZ?Z/8P
M&)&(ZRR>GT4-G_>%>K_&W_DD.N_]N_\ Z41T ?(D$$ES<1P0H7EE8(BCJS$X
M KK/^%5^.?\ H6;[_OD?XUA^&O\ D:M(_P"OV'_T,5]UT ?*/@3X9^,K/QYH
M=W=:%=6UO;WL<TLLF JJK!CW]!7U=110 4444 >->)/@!:^(?%&H:S_PD,MN
MMY*TQA%J&*L3D_-N&1^%9=U^S3:F$_9/$TRRA>/-M05)_!A@?G7O"LKJ&5@R
MD9!!R#2T ?#GBSPIJ7@W7Y=(U1%$R .DB$E)4/1E)[=1]017K_[.WBZZ:]O/
M"MU*TEMY)N;0,<^600'4>QW9Q['UK(_:,U"TN?&6G6D#H]Q:VF)RIR5+,2%/
MOCG_ (%5#]GRTEG^)7GHI\NWLI7<]AG"C]3^E 'U51110 5QGQ0\(#QEX(N[
M&) U] /M%H>_F*#\O_ AE?Q'I79T4 ? )!4D$$$<$&OI#]GGP?\ 8='N?%-U
M'B>^S#:Y'*Q*?F;_ ($P_P#'?>OG:_\ ^0C<_P#75_YFOL/X2_\ )*_#_P#U
M[G_T-J .TKQ_]H[_ ))YI_\ V%8__14M>P5X_P#M'?\ )/-/_P"PK'_Z*EH
M^=_#&@R^)_$MCHL,Z027;[%D<$A>"><?2O6/^&:]8_Z&"Q_[\O7"?"7_ )*I
MX?\ ^O@_^@-7V70!XY\./@O>^"O%L>M7>KV]RD<+HL<4; DL,<D]L9KV.BL_
M7=6@T'0;_5KC_56<#S,,XW8&0/J3Q^- 'S!\>/$7]L_$.2QB?=;Z7$+<8Z>8
M?F<_7)"_\!KN?@ =$T/PQ?:E?ZMI]M>7\^T)-<HK"-.!P3D98M^0KY_NKFYU
M34IKJ8F6ZNIFD<@9+.QR?S)KI_\ A5?CG_H6;[_OD?XT >]_&&X\/^)OAU?0
MV^M:9+>6A6[@1+N,L67[P SDDJ6&/7%?,FA:M-H.OV&K6_\ K;.=)@,_>VG)
M'T(X_&N@_P"%5^.?^A9OO^^1_C7,:CIUYI.H36%_;O;W4+;9(I!@J?>@#[OL
MKN'4+"WO;9]\%Q$LL;>JL,@_D:\&_::_YE;_ +>__:-=A\!_$7]M?#R.QE?=
M<:7(;=L]?+/S(?I@E?\ @-<?^TU_S*W_ &]_^T: /%?#_AO5O%6I_P!FZ+:?
M:KO89/+\Q$^4=3EB!W]:EU_PEK_A:2--;TNXL_,^XS@%6]@PR"?QKNOV??\
MDIH_Z\I?_9:^C_&'AFU\7>%[W1KI5_?(?*<C_5R#[KCZ'],CO0!\O_")/!MQ
MXIAM?%-K)+/+(HLWDD_T??V5UQDDGIDD=B.]?7@    P!T KX&NK:>PO9K6=
M&BN+>1HY%/564X(_ BOLCX7^*O\ A+_ =A?RR;[R)?LUUSD^8G&3_O##?\"H
M [&BBB@#Y_\ VF4;=X9DS\N+H?0_NO\ /X5YY\&)4A^+>@NYP"TR?BT+@?J1
M7MG[0.@R:IX 34($W2:9<"5\=?+8;6_4J?H#7S+HNJ3Z'K=CJMM_KK.=)D!Z
M$J0<'V/2@#[QHK)\-^(]-\5Z';ZMI<XD@E7E<_-&W=&'8C_/%:U !7C_ .T=
M_P D\T__ +"L?_HJ6O2O^$GT0^(DT!=2MVU5D9_LJMN8 <G.. <<X.#BN#^/
M]A)>?#%YD7(L[R*=O8'*?S<4 >#?"7_DJGA__KX/_H#5]EU\,>$]83P_XMTG
M5Y S16EU'+(%ZE ?F ]\9K[AM+NWO[.&[M9DFMYD$D<B'(92,@B@":OBSXG?
M\E-\1?\ 7Z]?9=]>VVFV$]]>3+#;0(9)9'. J@9)KX<\2:J-<\3ZKJH#*MY=
MRSJK=55F) _ $"@#Z7_9]_Y)D/\ K]E_]EJG^T=_R3S3_P#L*Q_^BI:W?@CI
MTFG?"S3#*-KW+27&/9F.W\P ?QK"_:._Y)YI_P#V%8__ $5+0!Y)\#O^2MZ1
M_N3_ /HEZ[[]I'P]NBTGQ'$G*DV4Y'H<LG_L_P"8K@?@=_R5O2/]R?\ ]$O7
MTMX_\/?\)1X%U;253=-+ 7@'_35?F3\R /QH \ _9^\1_P!E>.)-)E?%OJL.
MP GCS4RR_IO'U(I_[0?B3^U/&D.C0OF#2XL. >/-?#-^2[!]<UY9INH7&D:M
M::A:MLN+299HR>S*<C^527MU>>(-=GNI 9;V_N"Y"_Q.[=!^)Q0!]!?LY>'/
MLN@ZCXAF3]Y>2_9X21_RS3[Q'U8X_P" 5Y5\9_\ DK>O?[\7_HE*^K/"VAQ>
M&O"VFZ-%C%I L;$?Q/U9OQ8D_C7RG\9_^2MZ]_OQ?^B4H ]K_9Y_Y)K)_P!A
M"7_T%*K_ +1W_)/-/_["L?\ Z*EJQ^SS_P DUD_["$O_ *"E3?'^PDO/AB\R
M+D6=Y%.WL#E/YN* /!OA+_R53P__ -?!_P#0&K[+KX8\)ZPGA_Q;I.KR!FBM
M+J.60+U* _,![XS7W#:7=O?V<-W:S)-;S()(Y$.0RD9!% $U?%GQ._Y*;XB_
MZ_7K[+OKVVTVPGOKR98;:!#)+(YP%4#)-?#GB351KGB?5=5 95O+N6=5;JJL
MQ('X @4 ?2_[/O\ R3(?]?LO_LM4_P!H[_DGFG_]A6/_ -%2UN_!'3I-.^%F
MF&4;7N6DN,>S,=OY@ _C6%^T=_R3S3_^PK'_ .BI: /%/A+_ ,E4\/\ _7P?
M_0&K[+KXT^$O_)5/#_\ U\'_ - :OLN@ KC_ (H>(O\ A&?AYJM\C[;B2+[/
M;^OF/\H(]P"6_P" UV%?._[2'B+S;_2O#D3_ "P(;N< _P 395!]0 Q_X$*
M/'_"VFV^L>*=,T^[GB@M9KA1/+*X15CSECD\#@&OL]?%7AI$"+K^DJJC  O(
M\ ?G7QEH?A+7_$J3/HVE7%ZL! D:)<A2<X_D:U_^%5^.?^A9OO\ OD?XT 3_
M !;L;&S^(NI3:9=6US9WI%VCV\BNH9_OC*G&=P8X]"*]2_9O\1>;I^J^')7^
M:!Q=P _W6PKCZ A3_P "->+ZOX$\4:#I[7^JZ)=6MJK!6ED48!/3O5_X7^(O
M^$9^(>E7SOMMY)/L]QZ>6_RDGV!(;\* /L^ODSX]?\E4O/\ KWA_] %?6=?)
MGQZ_Y*I>?]>\/_H H [S]FC_ )!WB+_KK!_)Z]WKPC]FC_D'>(O^NL'\GKW>
M@#S_ .-O_)(==_[=_P#THCKY4\-?\C5I'_7[#_Z&*^J_C;_R2'7?^W?_ -*(
MZ^5/#7_(U:1_U^P_^AB@#[KKQ/\ :-\/_:_#FG:]$F9+&8PRD?\ /.3H3]&
M'_ J]LK&\6:&GB7PGJFCN!F[MV1">@?JA_!@#^% 'RE\(=?_ .$?^)>E3.^V
M"Z?['-S@8DX&?8-M/X5[_P#'#7O[$^&EY"C[9]1=;-,'G#<O^&U6'XU\ED36
MMR0=T4T3X]"K _S!KTOXO^.E\81>&DA<%(M/6XG"]!/)PZ_AL_6@#!^%OA[_
M (27XBZ39NFZWBE^TSY&1LC^;!]B0%_&OLZO!_V;_#WEV.K>(I4^:5Q9P,?[
MHPS_ ($E/^^37O% 'S_^TU_S*W_;W_[1KR7P-X.N/'/B+^Q[:[BM9/):7S)%
M)&%QQQ]:]:_::_YE;_M[_P#:-<I^S[_R4T?]>4O_ ++0!M_\,UZQ_P!#!8_]
M^7KO_A9\*;KX?ZEJ%[=ZG#=M<PK$BQ(5VC.23GZ"O4:* "BBB@ HHHH ^3/C
MU_R52\_Z]X?_ $ 5WG[-'_(.\1?]=8/Y/7!_'K_DJEY_U[P_^@"N\_9H_P"0
M=XB_ZZP?R>@#W>OC[XU(R?%S7-W<PD'V\F.OL&OF3]HO1'L_&-EK"IB"_M0C
M-_TTC.#_ ..E/R- &]^S/,##XE@_B#6S_7/F#^GZU[[7R9\#_%UMX7\;&"_E
M6*RU*+[.TC'"I)G*,3Z=1[;L]J^L^HR* "OFW]I.=6\3Z+;\;DLV<_1G(_\
M937T=/<0VMO)<7$J10QJ6>21@JJ!U))Z"OC7XH>+(_&7CJ\U*W)-E&!;VI(Q
MF-<\_B2S?C0!TO[/<!E^);. <0V$KG\T7_V:OJFO"/V;_#\D-CJWB&5,+.RV
ML!(ZA?F<_3)4?\!->[T ?-G[2?\ R-6C?]>3?^AFH_V;O^1RU;_L'_\ M1*D
M_:3_ .1JT;_KR;_T,U'^S=_R.6K?]@__ -J)0!]+U\X?M'>(OM.N:;X>B?*6
MD1N)@/\ GH_"@^X49_X'7T9+*D,3RRL$C12S,>@ Y)KX=\6ZZ_B;Q;JFLN3B
MZN&= >JIT0?@H _"@#U+]GN/2-/OM6US4]2L;6146UMUN+A$)S\SD GV09]S
M7KGC>]\->)_!6K:1_;VDF2XMV\K-Y'_K%^9._P#> KYBM_AGXTN[:*Y@\.7S
MPRH)$8*/F4C(/7TJ7_A5?CG_ *%F^_[Y'^- ')12203)+&Q21&#*PZ@CH:^X
M_"6NIXF\)Z7K*8_TJW5W Z*_1Q^# C\*^*-8T34_#]^;'5K*6TN@H?RY1@[3
MT-?0'[./B+[3H>I>'I7R]I(+B$'_ )YOPP'L&&?^!T :'[1W_)/-/_["L?\
MZ*EKQ3X2_P#)5/#_ /U\'_T!J]K_ &CO^2>:?_V%8_\ T5+7BGPE_P"2J>'_
M /KX/_H#4 ?9=%%% !1110!S_CO_ ))YXE_[!5U_Z*:OB"OM_P =_P#)//$O
M_8*NO_135\04 ==?_"[QKING?VA<:!<&U\L2EX727"]<D(Q(XKF].>Q34;=M
M2BGEL@X\Y() CLO?:2" ?P_+K7W3I/\ R!K'_KWC_P#017RK\;/"$?A;QPT]
MG"(]/U-3<1*HPJ/G$BC\<''8,* /H_P!!X9B\(6<GA.%(]+F&\8SO+=&WD\E
M@1@Y]/3%=/7S?^SMXK-IK5YX8N)/W-ZIGM@3TE4?,!]5Y_X!7TA0!\ 5ZYX=
M^ FJ>(O#MAK$6MV<,=Y")5C>)B5![&O(Z^T_AC_R3+P[_P!>24 >.?\ #->L
M?]#!8_\ ?EZ^AM.M!I^F6EDK%UMX4B#$==H S^E6:* "O#/VEO\ D#:!_P!?
M$O\ Z"M>YUX9^TM_R!M _P"OB7_T%: /._@5_P E7TW_ *Y3_P#HMJ^MZ^2/
M@5_R5?3?^N4__HMJ^MZ "O@"OO\ KX.UJPDTK7=0T^5=LEK<R0L/=6(_I0!]
MB_#'_DF7AW_KR2NLKS+X%^([76/AY:Z<LG^F:86AFC)YVEBR,/;!Q]5->FT
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
M[_V[_P#H^.O0*BN;:WO+9[>Z@BG@D&'BE0,K#T(/!H ^&?#7_(U:1_U^P_\
MH8K[KK"M/!7A:PNQ=6GAS28+A6#+)'9QAD([J<<?A6[0 4444 %4M9CGET/4
M([8$SM;2+&!U+%3C]:NT4 ?$>B>-?%?A%FM]+U>\L@C$-;O\R*W?]VX(!_"M
MVY^-?C^ZMS"==\L%=K-%;1*Q_$+D'Z8KZGU?PIX?U]M^K:+8WDF,"2:!2X'L
MV,C\ZPA\(_ 0E\S_ (1NVW9SC>^/RW8H ^1+6SU7Q'J_DVT5UJ&H7+Y(&9)'
M)ZDG^9-?5WPF^'?_  @F@2->['U>]P]RR\B,#[L8/?&22>Y/H!79Z5H>DZ'
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
M.A$-I;($C0>GJ?4D\D]R:NT44 ?-G[2?_(U:-_UY-_Z&:C_9N_Y'+5O^P?\
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
M.-P#U&5 -:U !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !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 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !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 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !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 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 45@>)?&WASPAY']NZFEH9\F)?+=V8#&3A 3CFM'2-8T_7M+AU+2[I+FSF!
M,<J9 ."0>O(Y!% %ZBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BD9E12S,%4#)). !7$M\7_ *L5/B2WR#CB.0C\]M ';T5P__"X/ /\
MT,<'_?J3_P")KJM.UG3M6T>/5K&Z2>PD0NDZY *C()YYXP?RH O45Q_A'XF>
M&_&VHW-AH\T[7%O'YI66$IO3(!8>V2.N#S4?Q.\<3> ?#$.JV]E'=R37:VP2
M1RH7*NV>.OW,?C0!VE%8OA+7&\2^%--UEX! ]Y")#$K;@I],_A6U0 4444 %
M%%% !1110 4444 %%<AK/Q2\%:#<-;WWB"V\]20T< :8J1V.P'!^N*J:?\8O
M 6I2K%%X@BBD;M<Q21 ?5F4+^M '=44R&:*XA2:&1)8G&5=&#*P]01UI] !1
M110 4444 %%%% !1110 4456U#4+32M.N+^^F6&UMT,DLC D*HZGCF@"S16/
MX<\4:-XMT][_ $.]%W;)(8F<1LF& !P0P!Z$=N];% !1110 4444 %%%% !1
M110 4444 %%%% !117F-]\5+FT^,,?@A=+B:W,D<1N3*0V7C#YQC'&[&/:@#
MTZBBB@ HHHH **** "BB@D $DX ZDT %%<KIWQ*\':MJD>FV.OVLUW(VR./Y
MAO;T!( )],'GM754 %%9FN^(-*\-:=]OUB\2TM=XC\QP3\QZ# !/8U/I6K6.
MN:9!J6FW"W%G."8Y5! ;!(/7GJ"* +E%%8'B7QMX<\(>1_;NII:&?)B7RW=F
M QDX0$XYH WZ*HZ1K&GZ]I<.I:7=)<V<P)CE3(!P2#UY'((J]0 455U'4K'2
M+*2]U&[AM;:,9:69PJC\3W]JXA_C;\/TN1#_ &Z2.\@M9BH_'90!Z#16?H^N
MZ5X@LOMFD:A;WL&<%X7#;3Z$=0?8U%K_ (ET?PO9)>:U?Q6<#OY:LX)W-C.
M "3P#0!JT5P__"X/ /\ T,<'_?J3_P")K:TGQKX8UV80:9KMA<SDX$23 .?H
MIY/Y4 ;U%%% !16?K6MZ;X>TN74M6NTM;.+ :1P3R3@# R2?I5'PUXS\/>+X
MYWT'4DO!;E1*!&Z%,YQD, ><'\J -ZBBB@ HKG_$'CGPQX68)K6LVUK*1GR<
MEY,>NQ06Q[XKG;?XW> +B81_VVT1)P&DM90#^.WC\: /0J*JZ=J=CJ]DEYIU
MY!=VS_=E@<.I_$=ZM4 %%%% !16?K&NZ5X?L_M>KZA;V4&<!YY NX^@'4GV%
M<@/C9\/C,(QK_7C<;2<+G/KL_7I0!W]%4=*UK3-=M!=Z5?V][!TWP2!P#Z''
M0^QJ]0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 45RGC
M'XAZ!X&>T3699Q)=9,:0Q;S@$ D^@YKI+&\@U&PMKZUD\RVN8EFB?&-R, 0>
M?8B@">BBB@ HHHH **** "BBN>U/QQX;T?Q#:Z#?ZFD.IW100P&-VW%CA<L
M0,GU(H Z&BBB@ HHHH **** "BN1^(WC1_ ?A<:O'8K>.UPD C:38/F!.<X/
M]VM'P;XA;Q7X1T[7&MA;-=H6,0?<%PQ7K@9Z4 ;M%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 453U:^_LO1K[4/+\S[+;R3[,XW;5+8SVZ5QGPO
M^(\OQ#M=2EETQ+%K-T4!9C)OW GT&/N_K0!W]%%% !1110 45YCX^^*ESX-\
M;Z5H$.EQ7,=Y%'+)*\I4C?(R8  [;<_C7IU !1110 4444 %%%% !117*2_$
MKP;!K#Z3+X@M$O4E,+(VX!7!P06QM'/'6@#JZ**IZIJEEHNF3ZCJ-PMO9P+N
MDE8$A1G';GJ10!<HK,T'Q%I/B;3S?Z->I=VHD,9D0$88 $C! /<?G6G0 45C
M^(O%.B^$[%+W7+]+.!WV(S*S%FQG "@D]/2G>'_$NC^*M.-_HE\EW;*YC9U5
MEVL #@A@"#@CMWH UJ**BN+F"TMY+BYFCA@C&YY)&"JH]23P* ):*X"Z^-7@
M"UN/);71(<X9HK:5U7WR%P?PS73Z#XJT+Q/ TVBZI;WJK]]8V^=/]Y3AA^(H
M V**HZOK.G:!IDNHZK=QVMG%C?*^<#)P.G)Y/:N5_P"%P> ?^AC@_P"_4G_Q
M- '<45S6F?$'PAJ\RPV/B+3Y)7QMC:8(S$]@&P2?:NEH ***KW]]:Z983WU[
M.D%K ADED?HJCJ: +%%<UX<^('A;Q;>2V>AZLEU<1(9'C\IT.T$ D;E&1DCI
MZUTM !116/KWBO0?#$*RZUJMM9AAE5D;+L/]E1EC^ H V**\[3XX_#]IO+_M
MIU&<;S9S;?\ T'/Z5V>CZ]I/B"S^UZ1J%O>P X+0N&VGT(Z@^QH T:*** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
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
MKVVM1(=J&>54W'T&3R:\E_9O_P"1%U/_ +";?^BHZP_VFO\ F5O^WO\ ]HT
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
MX=OM9O.8+2(R%0<%ST"CW)('XUJ5Y!^T7?/;^ ;.T0X%U?H']U56;'Y[?RH
M\]\)>&=8^-OBF\USQ#>RQZ9;L$;R^V>1%$#PH Y)]QU)KUX_ _X?FU$/]BN&
M _UHNY=^?7[V/TQ4WP8T^.P^%6C;% >X5YY#C&XL[8)_ */PKO: /*_!_P (
MIO WCT:KI.KO)HTD#I-;S'$F3]T<#:P!YSQBO5**\*^-/C?5Y_$-KX$\.RO'
M/<>6MR\3$.[2'Y8\CD#!!/KN';.0#UV[\6>&]/G,%[X@TJVF!P8YKV-&'X$Y
MK2M;RUOH!/9W,-Q">DD+AU/XBO'=*_9Q\/QZ:BZMJ>H37S+^\>V=$C5O]D%2
M?Q/7T%<%K^E:Y\"O&=G>Z3?R7&EW6657.!,JD;HY!TR,C!'KD8H ^I:JV>I6
M.H&465[;7)B.V00RJ^P^AP>#Q2Z??0ZGIMK?VY)@NH4FC)[JP!'Z&OD3X;6O
MBC7)[_PSX=N#:0:CY3ZA=KD&*)-PZCL=YX')X&<9H ^KF\4^'DOC8MKVEK=A
MMI@-Y&),^FW.<UK5X+XG_9[TJP\*75WI&I7TFI6L+2[9RA2;:,E0  5)QQR?
M?UKD?!.K>./'VCP>!;"^:#3H"6NKXYWQVYP!&3GD=<*.3TZ T ?2(\5^'6OO
ML(U_2S=[MOD"\C\S/IMSG-:]> >,?@!I6D^$+O4=&U"^DOK*%IG2X*,DRJ"6
M   *G&<<GICWKJO@-XKO?$7@ZXL]0F>>XTV81+*YRS1L,J">Y&&'T H ],O-
M1L=/\O[;>V]MYK;8_.E5-Y]!D\FB^U*QTNV-QJ%[;VD .#+<2K&OYD@5X1^T
MU_S*W_;W_P"T:M:+\,=8^);+XG\?:G=0I<#?:6%N0ICC/(^\"$!] ,GJ3F@#
MV?3=<TG6 QTO5+*^"_>-K<)+CZ[2:OU\P>/_  )>_"+5=.\2>&-2N1:M+Y:M
M*07CDP3M;  96 /&.Q!KZ'\*Z]%XG\+:;K4("K=P!V4?POT9?P8$?A0!K22)
M%&TDCJB*,LS'  ]S6,OC+PNT_D+XDT<S9QY8OHMV?INS7@6L:EK7QL^(TOA_
M3[XVV@6K,1MR4\M" 96 ^\S'&T'ID=.37;3?LX^%6LC'#J6K)<XXF:2-AGW7
M8./;(^M 'L*LKH'1@RL,@@Y!%+7S;\.=>USX<_$S_A!=8N#-83SBW"9)5'89
MCDCST#9 (_VO45Z1\<?$FH>'/ &=-E>&>]N5M3,A(:-"K,<$="=N/Q- ':7O
MBGP]ILY@OM>TNUF!P8Y[R-&!],$UHV]S!=P+/;31S0N,K)&P96^A%>)>!_@C
MX6UGP9IVJZE/>75W?0+.[QS;%0L,[0,=1T.<\@_2N\^'_P .X?A_+JL=GJEQ
M=V5ZT;Q0SJ,PE=V>1P2=PYP/NB@!_COP?X1\3-8S>*)D@:'<D#M="'=G&5Y/
M/05U%O'8Z1I4$,;1V]C;1)'&6?"H@ "C)]L5X5^TU_S*W_;W_P"T:]8N_#=E
MXN^'=MHFH/.EK<VD&]H&"N-NUA@D$=5':@#R36/%=ZO[1]M!#KTXT@2PJ8TN
MSY&TQ L" =N,YS[U[Q;ZII]W+Y5M?6TTF,[(IE8X^@-?*>I?#_2;/XUP^#([
MB].G/+$AE9T\[#1ASSMQU/I7NOA#X.>'?!>OIK.G7>IS7*1M&JW,L;)AA@G"
MH#G\: /020JEF(  R2>U8Q\8>&!<_9CXCT@3YQY7VZ+=GTQNS7B_Q!UK6/B-
M\2E^'^BW;6VFP.4NG4\.RC,C-C&0OW0O<CW&.G/[._A#^SC +G4_M.WBY,RY
MW8Z[=N,9[?K0!ZTK*Z!T8,K#((.012U\^_"S5]5\#?$N\^'>K7+W%J[LMN?X
M4?;O5@#]U73MZD>]?05 !7S?\3O^3A_#_P#UUL?_ $;7TA7S?\3O^3A_#_\
MUUL?_1M 'TA56SU*QU RBRO;:Y,1VR"&57V'T.#P>*M5\=_#6W\5:U/?^&O#
M=P;2+4?+:_NQD&*)-W\0Z [SP.3P,XS0!]63>+/#EM>&SG\0:5%= [3 ]Y&K
MY]-I.:V 00"#D'H17AVJ?LXZ0N@2?V9JE\VK)&61IBGE2MCH5 RH/3.3C/>C
M]GKQ7?7MOJ/AK4)9)?L*K+;&0Y,:9VLG/8'&!VR: /<:RK_Q-H&EW M]0US3
M;2<]([B[CC;\B0:XOXT^-;KPAX02/393%J.HR&&*5>L: 9=A[] /3=GM7!^
MO@79^(?#L6N>)[Z^$]^OG110. 51N0SLRG+'.?QYS0!U7[0$\5S\+X)H)4EB
M>_B*NC!E8;7Z$=:Z/X/_ /)*- _ZY/\ ^C'KPOXE^ ]<^'VE?8K?4IKWPM=W
M"NJO_P LI@#@,.@)!/(QG'(X%>Z?!_\ Y)1H'_7)_P#T8] ';DA5+,0 !DD]
MJQCXP\,"Y^S'Q'I GSCROMT6[/IC=FO%_B#K6L?$;XE+\/\ 1;MK;38'*73J
M>'91F1FQC(7[H7N1[C'3G]G?PA_9Q@%SJ?VG;Q<F9<[L==NW&,]OUH ]:5E=
M Z,&5AD$'((JI_:^F_VA]@_M&T^V_P#/OYR^9Z_=SFO"?A9J^J^!OB7>?#O5
MKE[BU=V6W/\ "C[=ZL ?NJZ=O4CWJ7XZ^#KC2]1MO'NB;H9HI$%VT8Y1P1Y<
MOYX4_P# ?4T >^U4_M73O[0_L_[?:_;<9^S><OF=,_=SGI7 1?%W3C\*/^$M
M?R_MBK]G-IGK=8^[]/XO]WWKEO@;X1N=0O+KQ_KNZ:\NW?[(T@Y)).^7\>5'
MMN]J /<Z**9,)&@D6)@DA4A&(R <<&@"MJ&KZ9I,8DU+4;2S0]&N9UC!_%B*
MKZ=XDT+5YC#IFM:=>RCG9;722-^2DUY3IGP COYGU#QEK]YJ.H2G=(+=\+GW
M=P6;\EKF/BE\([#P5H<?B3PY>7D7V:=!+'))DIDX5T8 $$-@?CG/'(!](U5.
MI6(U :>;VV^VD;A;^:OF8QG.W.<5SWPU\0W'BGX?:3JMV0;J2-HYB/XF1BA;
MZG;G\:\&\?:AK&F?M$7]QH$?F:L3%#;+LW'=):HF0.F0&)YXXYXH ^DM2\0Z
M)HSJFJ:QI]B[#*K=7*1$_3<15RUO+:_MDN;.XAN('&5EA<.K?0C@UXUI_P"S
MY9W]D]WXHUS4;G6K@;Y98)%VJQ]V4E_KQ]!7)^ +G5?AI\8V\'W-T\UA=3>0
MR]$<LN8Y0.Q^Z#]2.<4 ?2]4M1UC2]'C634]2L[*-N US.L8/XL157Q3KT7A
MCPMJ6M2KO%I TBH?XVZ*OXL0/QKYV\ ^!;_XOZK?^(_$^IW)M$D\LO&1OD?&
M=BY!"JH([=P!ZT >^ZYJFG:MX&UV?3;^UO(183@R6TRR+_JV[J37E?[-'_(.
M\1?]=8/Y/5/QA\(=0\#Z;>:[X*U2\:%8'2]M)F!9H2"&Q@ , "3@C(QD'(JY
M^S1_R#O$7_76#^3T >[U'-/%;0M-/*D42_>=V"@?4FI*Q_%/ANR\7>';K1-0
M>=+6YV[V@8*XVL&&"01U4=J /%-8\5WJ_M'VT$.O3C2!+"IC2[/D;3$"P(!V
MXSG/O7O%OJFGW<OE6U];328SLBF5CCZ U\IZE\/])L_C7#X,CN+TZ<\L2&5G
M3SL-&'/.W'4^E>Z^$/@YX=\%Z^FLZ==ZG-<I&T:K<RQLF&&"<*@.?QH \Q^.
M/_)9/#O_ %Z6W_I1)7T%J6M:5HZ*^J:G9V*-]UKJ=8@?IN(KYU_:!EF@^*.C
MRVZ[ITTZ%HU SEA-*0,=^:ZC1_@A<>)HFUOQ]K&H2ZM=C<88'4>2#T4DJ1D9
M^Z  .G- 'LUAJ=AJMO\ :-.OK:\@SCS+>59%S]5)%6J^7!::E\%OBW9VEO>R
MSZ9=M&6SP)H&8J0PZ;E.>?8'C.*^G;R[AL+*>\N7"001M+(Q_A51DG\A0 7-
MW;64#3W=Q%!"OWI)7"J/J3Q6?8^*?#VISB"PU[2[N8G C@O(Y&_('-> Z#I6
MJ?'?Q=?:EK%[<6N@63XC@B(^4'.U%SQNP,LV#^HQU7B;]GS1#HDTOAV>\@U.
M%"\2RRAUE(&=IX!!/J#QZ4 >U45Y+\"/&]WXF\.W.E:G-)/>Z85"S2')DB;.
MW)[D%2,^F/>O6J "OBFZT&ZUWQ-XK^R#=)8?:;TH!RR+, V/H&)_"OM:OF[X
M.*K_ !M\1JRAE,-V"",@CSTH ]&^"?C3_A*?!B65U)NU'2]L$I8Y+QX^1_R!
M!]USWK3^,'_)*-?_ .N2?^C$KQJY67X+_&E9D##1+PYP.AMG;D?5&'_CH]:]
MC^+DB3?"/7)8W5XW@C964Y# R)@@T <[^SK_ ,DYNO\ L)R_^BXZ]<KR/]G7
M_DG-U_V$Y?\ T7'7J>HW\&EZ9=:A=-MM[6%YI&]%4$G]!0!X'\6))/'7Q>T3
MP7;2-Y%L568IU5GP\C?\!C _'-1? S4)_#'Q UKP;?MM:4NJ ]#-"3G'U7<?
M^ BK7P)LI_$?C3Q!XUOURY9DC)Y DD.YL?[J@#Z-6=\8K:;P7\6=)\762$)<
M%)SC@-)&0KK^*[<_[QH ^D:^>/V@]=OKOQ+I7A2*;R;)HTGDR<!Y'=E!;V4#
M]3Z5] V=W#?V4%Y;.'@N(UEC<?Q*PR#^1KR/XY?#J_\ %%O:Z[HT37%]91F*
M:W7[TD62P*^I!)X[YXY'(!OZ9\$_ UAIL=K/I(O90N)+B>5][GN>& 7Z"I/"
MWPFT?P;XPDUW1[JYCADMG@-G(=X4LRG(;K@;>AS]:\Y\$_'Z73HXM)\8VDSF
M']U]NC'[P8X_>(>I]2.?8FO==&US2_$.G)?Z1?0WEJQP)(FS@^A'4'V/- '!
M_'K_ ))7>?\ 7Q#_ .ABN8^%?PO\'>)?AUIVJ:MH_P!HO9FF#R_:9DSMD91P
MK@= .U=/\>O^25WG_7Q#_P"ABK'P._Y))I'^_/\ ^CGH P/$?[//AV]LG;0+
MBXT^\5?W:RR&6)CZ-GYA]0>/0USGPI\=ZUX:\7'P)XH>1D,IMX#,VYK>7^%0
MW=&Z#ZC'!KZ&KYD_:"MAI?Q$TW5;0B.XFM$E8@<^8CD!OR"C_@- 'TW7D'[0
MOB/^S?!EOHL3XGU2;YP#SY4>&/YML'YUZW!)YUO'*!@.H;\Q7SSK)_X6+^T9
M;:>/WFG:2X1QU7;#\SY^LGR_E0!S-C87?PA^)_AVXO798+BWADN"W 59%VRJ
M?7:VX_@*^L*\<_:(\._VAX0M-;B3,NFS;9"!_P LI, _DP3\S77_  I\1_\
M"3_#O2[MWWW,"?9;@YR=Z<9/N5VM_P "H L_$7QBG@CP=<ZJ%5[IB(;6-NC2
MMG&?8 $GZ5XM\./AK/\ $J6X\6^+KZYFMII6"*&P]PPZDG^% > !Z'& .=7]
MI>]<?\(]8 _(?/F8>I^0#^;?G7L'@C3X]+\"Z%9QQA!'8P[@/[Q4%C^+$G\:
M ,";X+?#^6W,(T!8^,!TN90P]\[N?QS7C'BSP[K'P2\86>L:#>2R:=<,?+,G
M\0!!:&7'!XZ'CU&"*^I:\N^/UFMS\,)9B@)M;N&4'TR2G_L] 'H&@ZQ;^(=
ML=7M/]1>0K*H)R5R.5/N#D'Z5HUYG\!;I[CX66D;G(M[B:)?8;MW\V->F4 %
M%%% !1110 4444 %%%% !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 %%%% !7A'[1_B(QV6E>&X'^>=S=SJ.NT9
M5!^)W?\ ?(KW>OFK16_X63^T3)?Y\S3["8S)W'E0X5/P9]I_X$: +_A?XUP^
M&/#&G:+!X/OG2SA$9<38WMU9L;.,L2?QKD/BGX\B\?1Z?./#]UIT]EO5I9'W
M!T;'!^4="./J:^M:R/%&AQ>)/"^I:-+C%W T:D_PMC*M^# '\* ,7X7>(_\
MA*/A[I=Z[[KF*/[-<<\^8GRDGW(PW_ J\@^./_)9/#O_ %Z6W_I1)4_[/&N2
MZ=K^K^%;S,;2@S1QM_#+&=KK]2,?]\5!\<?^2R>'?^O2V_\ 2B2@#Z0KYO\
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
M@Q_%L#]:ZKP-XN7QMX<&LQV$ME$\SQHDC;BP4_>S@=?Z=: .DJGJW_(&OO\
MKWD_]!-7*IZM_P @:^_Z]Y/_ $$T >#_ +,W_'QXE_W+;^<M=#\?_!AU?P[%
MXDLXR;S3!MG"CEX">3_P$\_0M7/?LS?\?'B7_<MOYRU] S0Q7,$D$R+)%(I1
MT89#*1@@T ?-WBKQD?&/[/\ 9R7$@;4;+4(;:ZYY8A'VO_P(?J&KUCX,?\DD
MT'_<E_\ 1SU\V^/_  W>^!?$FI:"K2#3;AUG@+=)8P3L/N5RRGWSZU])_!D$
M?"70<C^"7_T<] '!_M'^(C'9:5X;@?YYW-W.HZ[1E4'XG=_WR*H>%_C7#X8\
M,:=HL'@^^=+.$1EQ-C>W5FQLXRQ)_&J&BM_PLG]HF2_SYFGV$QF3N/*APJ?@
MS[3_ ,"-?2M 'R5\4_'D7CZ/3YQX?NM.GLMZM+(^X.C8X/RCH1Q]37T)\+O$
M?_"4?#W2[UWW7,4?V:XYY\Q/E)/N1AO^!5M>*-#B\2>%]2T:7&+N!HU)_A;&
M5;\& /X5X;^SQKDNG:_J_A6\S&TH,T<;?PRQG:Z_4C'_ 'Q0!]$UPWC/X4>&
M?&44LLMJMEJ3 E;VV4*Q;U<='_'GT(KCKSXXWOA?QCJFC>*="D%M#=2+;36H
MVN8=QV,58X?(P<@CZ5<U']HCPG!8-)86NH75T5^2%HQ&,_[3$G ^@- '"?!W
M5M5\'_%*X\&W4A>VGFEMY8P2566,,1(OUVX]P1GH*ZW]I/\ Y%71O^OUO_0#
M6-\&O"VK^(/&]S\0-8A:&(R2RP[D*B:60$$J#_ H8\^N,=#6U^TG_P BKHQ_
MZ?3_ .@&@#T?X??\DY\-_P#8,M__ $6*Z2O"?"WQZ\+:)X3TC2KFPUAY[.SB
M@D:.&(J650"03(#CCTJIX@^/>H:\C:3X+T2[6[N,HD\@WS#/]R-<C/ODX]*
M,/77'BO]IB"*T/F1P:A!&2O/$ 4R?JCU[+\6_$7_  C7PXU.='VW-TOV2#GG
M<^02/<+N/X5S?P<^%USX3$NO:Z!_;%RA1(=V[R$."=Q[N2/P'U-<E\>M3G\0
M>-M$\'6#;GC*[E'>:4@*#]%P?^!T <]\+_B1%X T:[A'ANZOI[R82/<1R; 5
M PJ_=/0EC_P*MGQQ\7XO&?A*\T23PE>PM-M:.8R[O+=2"#C9[8^A-?0NDZ;!
MH^CV6F6PQ!:0)"GT4 ?TJY0!X?\ LY>(_M.BZEX=F?+VDGVF $_\LWX8#V#
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
M.AN2,$W/4L?9N5]@1Z"N-^!'C.>RN[CP)K1:*>%W-FLO!5@3YD/YY8?\"]J
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
MG/N2V/YUXGXL\:R_$7QCI]QKTC:9HRN(XUC4OY$1;YV''S,<<G'8<<4 >_\
MP.T^2P^%FG-(,-=22W&,= 7('YA0?QKT6J&B-IK:)9#1Y89=.2%4MVA8,FQ1
M@8(^E7Z "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ K.TWP_HNC222:7I%A8
MO* )&M;9(BX]RH&:T:* "BBB@#,@\.Z';:FVIV^C:?%J#,S-=1VJ+*2WWB7
MSDY.>>:=?:!HVIWD5Y?Z187=U" (II[9)'3!R-K$9'//%:-% !6==Z!HU_J$
M5_>:187-[#M\JXFMD>1,'(VL1D8/(Q6C10 5G7&@:-=:G'J=QI%A-?Q%3'=2
M6R-*F.F'(R,=N:T:* "LW5O#VC:\BIJVE6=\$^X;B%7*_0D9'X5I44 <]IG@
M3PIHUPMQI_A_3X)T.5E$ +J?9CDBNAHHH H:GH>D:TL:ZKI=C?B(DQBZMTEV
M9ZXW XS@?E5U$6-%1%"HH 55& !Z"G44 4=2T;2]:B2+5=-L[Z.-MR)=0+*%
M/J P.#61XWCNK7X=:U%HL?E3Q6#K D*XVJ%QA .A"YP![5TM% 'S_P#L_P#B
M/PMI&BZA:W][:6.KS7.XO<N(_,BVC: QP.#NX]Z]6USX@>#M+TN>:^US39XM
MA!MXIDF>48^Z$!).>GIZUF:]\&_!6OW+W4NF&TN')+R6<ABW'UV_=S[XJA9?
M ;P):.K26=W=E3G$]RV#]0N* .$_9WT^ZE\3:[K4,#0Z4T1@0'H7+A@H/?:H
M.?\ >'K7T/5:PT^STNRBL["VBMK:(82*) JJ/H*LT (RJZE64,I&"",@BJ&F
M:#H^BF4Z5I-C8>;CS/LMND6_&<9V@9QD_G6A10 4444 9VG:!HVCRRRZ9I%A
M8R2C$CVULD1?ZE0,U-J.E:=K%L+;4["UO8 P<17,*R*&'0X8$9Y//O5NB@#.
MO= T?4M.CT^]TNSN+*)0L<$D"E(P!@!1C P!VJKH_@_PYX?E\W2=%L;2;&/-
MCA&_'INZ_K6W10 5G/H&C2ZL-5DTBP?4E((NVMD,PP,#Y\9Z<=:T:* "BBB@
M#F[_ .'_ (0U.X-Q>>'--DF8[F<0*I8^I(QG\:U=+T/2M#A:'2M-M+*-OO+;
MPJF[ZX'-7Z* "BBB@#%U/PAX;UJ;SM2T+3KJ;_GI+;J7_P"^L9J#3_ GA/2Y
M%DLO#FF12K]V3[,K,/HQ!-=#10 4444 <YJ/@#PCJLS3WOAW39)F.6D$"JS'
MU)&"?QJ[I7AC0=#;?I6C6%FYZO!;JC'\0,UK44 ,FABN()()XTEAD4H\;J&5
ME(P00>H(JIINC:7HL3Q:5IMG8QR-N=+6!8@Q]2% R:O44 -=%D1D=0R,"&5A
MD$>AJEIFAZ3HJR+I6EV5@LI!D%K;I%OQTSM SC)_.K]% '@OQ+^U_$KXGZ?X
M'TR0BRTX>;?3*,B-CC<Q]=JD ?[3$5[?IFFVNCZ7:Z;8Q"*UMHEBB0=E P/J
M?>G6^GV5K<37%O9V\,TYW321Q*K2'U8@9/XU9H *BN;:WO;:2VNH(I[>52LD
M4J!E<'J"#P14M% %/3=(TW1K=K?2]/M+&%FWM':PK$I; &2% &< <^U,U/0]
M(UI8UU72[&_$1)C%U;I+LSUQN!QG _*K]% #418T5$4*B@!548 'H*IZEHVE
MZU$D6JZ;9WT<;;D2Z@64*?4!@<&KU% #(88K>".&&-(HHU"(B*%55 P  .@
MJOJ.EZ?J]J;74K&VO+<G/EW$0=<^N".M6Z* .<L/ 'A'3+G[3:>'--CF!W*_
MV=6*GVSG'X5T=%% &98^'-$TW4)K^QTBQMKR;/F3PVZH[9Y.2!GD\GUKSOXY
M^(Y[/PY;>&--#2:GK<HA$4?+&+(R!_O,57W!;TKU>JTFGV4U['>RV=N]W$-L
M<[1*70>@;&1U/YT <U\./!4/@;PG!IWRO>RGSKR4?Q2$<@>P' ^F>]==110
M5G:MH.D:]"L6K:9:7R(24%Q"K[#[9''X5HT4 9>C>&]%\.Q/'H^EVEBKXW^1
M$%+XZ9/4_C3WT#1I=6&JR:18/J2D$7;6R&88&!\^,]..M:-% !6=/H&C76IQ
MZG<:3837\1!CNI+9&E3'3#D9&.W-:-% !6=JN@:/KJ*FK:79WRK]W[1"KE?H
M2./PK1HH YFS^'?@VPE$EOX:TP.#D,]NKD'VW9Q72JJH@1%"JHP !@ 4M% !
M2,JNI5E#*1@@C((I:* ,_3-!T?13*=*TFQL/-QYGV6W2+?C.,[0,XR?SK0HH
MH H:GHFDZTD::KI=E?K&24%U;I*%)]-P.*M6]M!9VT=O;0QP01J%2*)0JJ/0
M < 5+10!G:;X?T71I))-+TBPL7E $C6MLD1<>Y4#-:-%% !69!X=T.VU-M3M
M]&T^+4&9F:ZCM464EOO$N!G)R<\\UIT4 4M3T?3-:M_(U33[6]B[)<0K(!],
MCBL>U^'G@ZRF,T'AG2Q)G<"ULK8/MD''X5TM%    , 8%5-1TO3]7MOLVIV%
MK>P;@WE7,*R+D=#A@1FK=% '/_\ ""^$ <CPIH?_ (+HO_B:UK+3+#34*6%C
M;6J-R5@B5 ?R%6J* "LY_#^BR:L-6?2+!M2!!%XULAF! P/GQNZ<=>E:-% !
M1110!F:AX=T/5KE+G4M&T^]N(U"I+<VJ2,H!R "P) R2:TZ** ,S5?#NBZZH
M&K:397NW[IN(%<K]"1D5FV?P]\'6$@DM_#.EJX.0S6RN0?8L#C\*Z6B@#C_'
M'PVT+QU9JE[&;>]B7;!>0@!T'8'^\OL?P(KA_AYX$\>^!?&<%G)?I=^%F$AE
M*3#8/E.TB-N5;=MSMXZ\U[110 4444 5[RQM-1MFMKZU@NH&^]%/&'4_4'BL
M*/X=^#(I!(OA?2=P.1FT0C\B*Z6B@!D,,5O"L4,:1Q(,*B*  /8"G,JNI5E#
M*1@@C((I:* .7N/AQX+N;CSY?#&E^9G)VVZJ"?<# -;VGZ98:3:BUTZRM[.W
M'(BMX@BY^@%6J* "L[3M T;1Y99=,TBPL9)1B1[:V2(O]2H&:T:*  @$$$9!
MZ@UGZ9H.CZ*93I6DV%@9<>8;6V2+?CIG:!G&3^=:%% #719$9'4,C AE89!'
MH:I:9H>D:*LBZ5I=C8"4@R"UMTBWXZ9V@9QD_G5^B@#Y_P#VFO\ F5O^WO\
M]HUZY%X<T7Q#X9TJ/6-+M+X):1[#/$&*909P>H_"H?&GP^T3QXMD-8^T@V9<
MQ&"38?GV[@<@Y^Z/RKI;:WCM+6&VB!$<2"- 3G@# H H:/X;T3P\C+I&E6=E
MO #F"(*S?4]3^-:E%% %>]L+/4K5K6_M(+JW?[T4\8=#]0>*YZ+X;>"X+CST
M\,:9OSGYK<,!^!X_2NIHH ;'''#$L42*D: *JJ,!0.P%,N;6WO;=[>Z@BG@<
M8:.5 RL/<'@U+10!RZ?#?P4EP9QX7TK>>QME*_\ ?)X_2NEBBC@B2**-8XT&
MU408"CT I]% %#4]#TC6EC75=+L;\1$F,75NDNS/7&X'&<#\JNHBQHJ(H5%
M"JHP /04ZB@"IJ6E:?K%H;74[&VO;<G/E7$2R+GUP1U]ZHZ-X2\/>'I7FTC1
MK*SE<$-)#" Q'IGKCVZ5LT4 1SP0W,#P3Q)+$XP\<BAE8>A!ZUS4GPU\%2W'
MG-X8TS?Z+;A5_P"^1Q^E=310!4T_2M.TB#R--L+6SA_N6\2QK^0%6Z** "LZ
MZ\/Z+?:C%J-WI%A<7T6TQW,MLCR)M.5PQ&1@\CTK1HH *SM.T#1M'EEETS2+
M"QDE&)'MK9(B_P!2H&:T:* "LZQT#1M,NY;NPTFPM+F8$2S6]LD;ODY.Y@,G
MGGFM&B@ KG+[P#X1U*]-Y>>'=-EN"<LY@4%CZMCK^-='10!1DT;2YM+_ ++E
MTVS?3\ ?9&@4Q8!R/DQCKSTJ>SL[73[2.TLK:&VMHQA(88PB*.O"C@5/10!'
M/!#<P/!/$DL3C#QR*&5AZ$'K7-2?#7P5+<><WAC3-_HMN%7_ +Y''Z5U-% %
M33]*T[2(/(TVPM;.'^Y;Q+&OY 5!%X>T2#5&U2'1]/CU!B6:[2V02DGJ2X&>
M>_-:5% !68?#FAG5?[5.C:<=1W;_ +7]E3S=V,9WXSG'O6G10 4444 8>K^#
M?#>OS>?JNAV%W.0 9I(1O('0;NOZU:MO#VBV>ER:9;:38Q6$H(DMDMU$;YZ[
MEQ@_C6E10!7L=/LM+M$M-/M+>TMDSMAMXQ&BY.3A0 !S59] T:75AJLFD6#Z
MDI!%VULAF&!@?/C/3CK6C10 5G3Z!HUUJ<>IW&DV$U_$08[J2V1I4QTPY&1C
MMS6C10 5C:SX3\/^(65]7T>RO)%&%DEB!<#T#=<?C6S10!GZ5H6DZ';-;Z5I
MMK90MRRP1!-WUQU_&G:;HFDZ,LBZ5IEE8K*09!:VZ1!R.A.T#-7J* "BBB@"
MIJ6E:?K%H;74[&VO;<G/E7$2R+GUP1U]ZHZ-X2\/>'I7FTC1K*SE<$-)#" Q
M'IGKCVZ5LT4 9U]H&C:G>17E_I%A=W4( BFGMDD=,'(VL1D<\\5HT44 9VHZ
M!HVL2Q2ZGI-A>R1#$;W-LDA3OP6!Q6C110!3U+2=-UBV^SZG86M[#U\NXB60
M ^H!'6L*#X;>"[>8S1^&-,WYS\UN& /L#D"NIHH C@@AMH4A@B2*)!A4C4*J
MCV Z5)110 5G6?A_1=.OI;ZQTBPM;R7(DN(+9$D?)R<L!DY/)K1HH *J:AI>
MGZO;?9M2L;6]@R&\JYA61<CH<,",U;HH K6.GV6EVJVNGV=O:6RDE8;>)8T&
M>N  !5>W\/Z+9ZE)J5MI%A!?REC)=16R+*Y8Y;+@9.3UYYK1HH **** ,R7P
M[H<^J#5)M&T^34596%V]JAE!' .\C.1@8Y[5;O;"SU*V-M?VD%U W6*>,.I_
M C%6** .7B^''@N&<S)X7TK>>S6RLOY$8_2NEBBC@A2*&-(XD 541<!0.@ '
M2GT4 07EE:ZA:26M[;0W-M(,/#-&'1A[@\&L;_A!/!__ $*FA_\ @NA_^)KH
M** *-AHNE:7G^S],L[/(P?L\"QY'X 5>HHH SK[P_HNIWL5[?Z187=U$ (YY
M[9)'0 Y&&(R,$D_4UHT44 %9^IZ%I&M"(:KI5C?B+/E_:K=)=F<9QN!QG _*
MM"B@!D,,=O#'##&D<4:A$1% 55'   Z 54U/1M+UJ#R-4TZUO8AT6XA60#Z9
M'%7J* .8@^''@NWF,L?A?2MQ.?GME<#Z @@4_P 4^!= \7Z,FFZE9JL<0_T>
M6 !'@_W#C@>V,'TKI** /"/#GPQ\=^ O&EBVB:HMYH$MTGVL"4(/)R-Q>-CC
M=MS@KD_2O=Z** "BBB@ HHHH **** "BBB@ HHHH **** "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 **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BL>7Q5H,.OKH4FK6J
MZJV,6ID&_)&0,>I'.*V* "BBB@ HHHH **** "BBB@ HHK'M/%6@WVMSZ-:Z
MM:S:E 6$ELD@+J5^\,>H[^E &Q1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !115>^OK33+*6\OKB*VMHANDEE8*JCW)H L452TO6--UNS^
MV:7?6]Y;;BGFP2!UW#J,CO5V@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** *VH3/;Z;=31G#QPNZG'0@$BOF#P1)\3/
MB%+?C2O&,\#6FQI/M-Y(@._=C;M4_P!T^G:OIS5O^0-??]>\G_H)KP?]F;_C
MX\2_[EM_.6@"+6=,^,O@6R?69/$']HVL WS^7.9PBCJ6610<>I'3K[UZA\+O
MB"OC_P /27$T*0:C:.([J*/.SGE67/8X/'8@UH_$'7]-\/\ @K5)]1FC7S;:
M2**%F&Z9V4@*!WZ\^@R:\R_9MT>\M]-UK5Y4=+6[>**'(P)"F[<1Z@;@,^N?
M2@#M?BYX6\0^+/#=K9>'KD12I<AYD,QB$B;2.HZX)'!_I6]X$TG5-#\$Z9IN
MLW/VC4((V$LGF%^K$@;CUP"!^%<]\9?%VK>#?!UMJ&C2QQ7,U\EN7>,/A2DC
M' /&<J*Z+P+J]WK_ ('TC5;YD:ZN;</*47:"<GMVH Z&BO,/B?\ %N+P3,FD
MZ7;I>ZW*H;8^2D /3<!R6/91CCG/3/(K>?'Z[@%_%"L,3 ,ML8[56Q_NM\P^
MA.: /?:*\6^'_P 9[Z_\1+X8\86:6>HM)Y,<ZH8_WG9'4]"3P".^!CO79?$.
MX\?P#3_^$'L[:YSYGVOS6C!7[NS&]A_M=* ,_P"&_P 4V\?ZMJ=DVD"R%F@=
M7%QYFX%L8(VC!KT>OD'X87'CF#5]2/@NTAN+LQC[2LIC 5=W&-[ =?2OHWX?
M3^-Y[&\/C>TM[:X$J_9Q$4.5QSG8Q'6@#L:*\4\2?%OQ!K7BF3PQ\/-/2[GB
M8K)>.H<$C@E<G:%!XW-P>W;.;J6N?&[P?9G5]5%KJ%C%AIE$,+!!WW>6%8#U
M/04 >^T5R_@'QK:>._#4>JV\?D3*QBN("V3'( "1GN"""#6+\4/BA;?#^SA@
M@A2ZU>Z4M# YPJ+G&]\<XSD #K@\C% 'H5%?/UKJOQZU2V75;6!8[:0"1+=H
M;9-RGT5_G_,YKO/AAX^U;Q7)J6D^(=*-AJ^F[#* C('#9ZJW*GCZ'/% 'FFL
M_P#)U\?_ %]VW_I,E?2%?+_C?6;;P]^TC<ZO>!S;VDUO*XC&6(%LG ]ZZ1_%
MOQD\86[:OX9TI=.TH_- NV$O(OKF7EOJH /:@#WRBO&OA9\6]2UW7'\+^*8%
MBU4;Q%-L\LNR_>1T[-P3QCH1CU]/\4:A/I/A+6=2M=OVBTL9YXMPR-R1LPR.
MXR* -:BOGC0/CKKL_AD67V/^U_%=S>/';1I!M18MBD,P7&X[M_ QP,DCO'K7
MBSXV>%(4UG68D&G[@6C\B!XTST5MGSJ/<GOUS0!]%T5S'@'QG:^.O"\6K01>
M1*&,5Q!NW>7(,9&>X(((]C3?'GCK3O 6@_VA>J9IY24MK96PTKX]>RCN>WU(
M% '4T5\^6'BKXT^-8/[3T&T@LM/<GRRL4*JP'H9LEOJ..*+/XO\ C7P7KT.F
M?$#2P\+@%I%C5)0O3<I0[''L/S% 'T'7S?\ #S_DY/7_ /K[U#_T8U?15I=0
M7UG#=VLJRV\Z+)%(IR'4C((^HKYU^'G_ "<GK_\ U]ZA_P"C&H ^D**IZMJM
MGHFDW.IZA,(;2VC,DCGL!_,GH!W)KPK_ (6C\1/'VJ7,'@32EMK.$_ZUD1G
M[%WD.P$]=H&>O6@#Z!HKYWU#QU\7_ 3Q7?B>SAO+!G"EGCBVGVWPXVGTR/P-
M>T^#O%NG^-?#L.L:?N56)26%S\T,@ZJ?S!![@@T ;]%>8?$_XIS>$[VVT#0K
M1;W7;L#"L"PBW'"_*/O,3T'T]:Y74+WX[:7I\FL7#6KV\2>9):QQ0.R+U)P!
MN./8F@#WFBO / 7C_P"*'C/4X)+2+3KC38;J-+YL1H8T)&3M+!ONYP0#T]JU
M?'_Q(\2^"/BC96L\T)\.3B*3R_(&?+/RR?-UW AC^5 'M5%(K!E#*05(R".]
M>1?&3XD:QX4U#2M&\.R(NH7*F67,0D.TG:B@'CDAOR% 'KU%5[$7*Z?;"]9&
MNQ$HG9!A2^!N('IG-6* /"/V@?$NN:'JNA1Z3J][8H\4CNMM,T>\AEQG!Y^A
MKW2$EH(R3DE03^5?.W[2W_(9T#_KWE_]"6OHB#_CWB_W!_*@"2BO E^.&H:'
MX\\4VNN,MQIUD]Q#8VL,05FD28(@+]AMW$D^G'84R\\1?'+4[-M;L=-^PV!&
M]+:*"$OLZYV29D/'MSV% 'T!17EWPD^*<GCA)]+U6*.'5[5/,W1\+.F<$A>Q
M!(R.G/X5Z#KFLV?A[1+S5]0DV6MK&9'(ZGT ]R< >Y% &A7#_&#_ ))1K_\
MUR3_ -&)7EUM\2/BA\0=4N1X,LX[.S@/.(XFV@] [RC!;V 'TJEXM^(7B^U\
M*ZKX2\=Z0T5Y>0C[+=HBJ&*NI.=IVL..J]#VYX .^_9Y_P"2:R?]A"7_ -!2
MO6*\G_9Y_P"2:R?]A"7_ -!2MSXF?$NU\ :?"D< N]5N@?L]N6P !_&^.<9Z
M#N?Q( .\HKPB"Y^/.KVZZE!]FLHI '2U:.!"1]'!8?\  B#6S\.?BOJ>J^)9
M/"7BZQ6SUA<B.0(8][ 9*LIZ''((X/Y9 /7J*\B^,'B[QGX(OM/U32)H&T67
M$<D;VX;;*,G#-UPPZ8QT->C>&O$5EXH\-V>MV3@07$>X@GF-A]Y3[@Y% &O1
M7BVD_$?Q+XV^+#:5X:FAB\.VCYGE:$/YD2G#-N/(W'A<=B#V->TT %%%% !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 %%%% !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 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
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
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "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 CN(5N;:6!R0DJ%&QUP1BO"5_9MDA=S
M;^,I8E8]!8<X[9(E&:]ZHH \*B_9NADF5M0\67-R@/1+0(V/0$NW\J]4\(^"
M=#\$Z<UGHUL4\P@S3R'=+*1T+-_08'M70T4 <A\1O H^('AV#23J)L#%=+<B
M7R?-SA77&-R_W_7M6OX6T(>&?"^G:*+C[3]CA$?G;-F_WQDX_,UL44 <;X[^
M&NB>/;93>JUOJ$:[8;V(?.HSG:1T9>O!]3@BO,U_9\UZ)#9Q>-"NGD\H(G /
M_ -^/UKWZB@#@_ /PIT/P&S74+R7NINNQKN90-H[A%'W0>_)/O7>444 >.>+
M_@1#K/B&XUS0M:;2[F=S+)$8BR^8>K*RD%<]<8/4_2NN^'/@*7P+I]['<ZM)
MJ5U>RK)+*RE0,#  R23]2:[6B@#RWQM\$-'\4ZI)J^GWLFDZE(V^5HTWQR/U
MW%<@AB>X/OC-<ZOP.\5W&Z"]^(-T;4\%1YK[E]U+@?SKW2B@#DO /P_T[X?Z
M9/:6-Q<7,ERX>:68CD@8& .@_/ZT_P <^ -'\>Z8EMJ(>*XA)-O=18WQ$]1S
MU4X&1[=JZJB@#P!/V=]7A=K:'QCLL6/S!8'!//\ <#X/YUZ=X!^'&D?#^TG2
MQDFN+NYV^?<S=6 S@ #A1R??U)XKL:* /.+WX4K=_%=/'']LE-LL<ALOLV<E
M(PF-^_OMS]VO1Z** /.M>^%8UOXEV'C'^V3#]DD@?[)]FW;_ "SG[^\8S]#7
M;:YI@UKP_J6E-*81>VLML9 N[9O0KG'?&:OT4 <1\-?AX/AYIU]:?VI_:!NI
MEDW_ &?RMN!C&-S9KK[ZU%[I]S:%]@GB:/=C.-P(S^M6** ."^&?PU'PZBU)
M/[6_M WK1G/V?RMFS=_M-G.[]*Z?Q'X:TGQ7I#Z9K%JMQ;L=PYPR-V93V(R?
M_P!5:U% '@DG[/6IZ?<R-H7C"2WA<X(:-D8+Z$HWS?D*Z#PC\!M(T/4X]4UJ
M_DUB[C8.B/'LB#>K DEC]3CV->MT4 %><>'OA2N@_$K4/& UDS_:Y;B3[)]F
MV[#*Q;&_><XSZ"O1Z* (KFV@O+:6VN8DF@E0I)&ZY5U(P01W&*\7UW]GFW?4
MWOO#.N2Z6"<K;NA<(?\ 9<,& ]CGZU[;10!X=IW[/)N+];OQ/XFN-0 .6CB4
MAF^LC$G'X?C7M%A86FEV$%A8VZ6]K @2*)!@*!5FB@#YN2 ?&GXRW=OJ#B#2
M=+20*D0"R21(X4#=URS-D^@X%>B3? 7P)*/DL[N+C^"Z8_SS6#XE^#VO6/BV
MX\4>!-82SNIW:5[>5BF&8Y8*V""I/.UA@4Q;3X]72M ]]I]L",>:?(R?IM4X
M_*@#DM*M9_AA\>+30=(OYY["ZGAAEC<@EDEQPX'&5SG.!T]R*^FZ\I^'WP@D
M\/ZX?$OB34O[3ULDLI!+)&S#!8LW+MR>2!C\L>K4 ?+?QKTFVO\ XP16&DY?
M4+Z.!)T X$S?*OYKL)^M?2VC:7!HFBV6EVPQ#:0)"GN%&,_4]:\B\%_#3Q(?
MBI=^,/%45O&!)+-"B3"0F1N%QCHJJ3C// XKVN@ HHHH \Z^)?PK'Q$O-/N/
M[9_L_P"R1NFW[+YN_<0?[ZXZ>]>AHNR-4SG: ,TZB@#SCP]\*5T'XE:AXP&L
MF?[7+<2?9/LVW896+8W[SG&?05Z/110!YU8_"L67Q6E\;_VR7\R21_L?V;&-
MZ%/O[^V<_=KOKRSMM0LI[.\A2:VG0QRQN,AE(P0:GHH \+O_ -GJ:VU1[KPS
MXFFL(G/$<BMO0>@=2"1]1^-;>B_ G2-.TK4A>W\FH:Q>VTD(OIH\K 74@LJ9
MY;GJ3GTQ7K-% ')_#SP5_P (%X:;1_[0^W;KAY_-\GROO #&-S?W?6K'C/P/
MHWCG2ELM6B<-&2T%Q$<20D]<'T.!D'@_@*Z2B@#PA/@-XBTT^1H_CJ>"T+9V
M!9(L?@KX)_*M_P *?!&#1?$5MK^L>(+S5=0MW$B$KL7<.FXDLS8^HKUBB@#S
M;QO\*&\=>*K34]1U^1--M@JKIZ6W\.<OA]_!;UV^GI7HT,,=O!'##&L<4:A$
M11@*H&  /2GT4 >77?P;1/B*GB_1-=;2W\\3O;+:^8K,?]8 =XP&!.1@]37J
M-%% !1110 4444 %%%% !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 %%%% !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 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !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 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !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 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !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 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !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 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !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 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%97B#Q)
MI'A;3&U#6;Z.UMP< MRSGT51RQ]A0!J%U#*I8!FZ GDTM?-/B3XI^'M7^+7A
MS7XA>_V5I<9$A,0#ESOY5=W3E>N.]>_>&O%&D>+=*&I:+=BXM]YC;Y2K(X )
M5@>0>1^= &Q17+>,/B%X=\#Q1_VQ=-]HE7=%;0IOE<>N.@'N2!7#6G[1OA::
MZ$=QINJ6\1( EV(P'N0&SCZ9- 'L5%5=-U*SU?3H-0T^X2XM)UWQ2H>&'^>U
M<7XR^+OA[P/K2Z3J5MJ,]R85F)M8D95!) !+.O/% '?45X__ ,-'>#_^@;KG
M_?B'_P".UZ;X>UVU\3:!9ZS9),EM=IO19E"N!DCD D=O6@#3HKCO&OQ,\/>!
M=D6I2RS7DB[DM+90TF/4Y("CZGZ9KE=/_:#\,7%\EM?V&I:<KGB::-64 ]"V
M#D#Z T >MT4R&:*Y@CG@D26&10Z.ARK*1D$'N*?0 451U?6-/T'2Y]2U2Z2V
MM(1EY'_0 =23V Y->5S?M%>'$E8P:/J\ULK8,X1 /RW?SQ0![%16!X2\9Z+X
MUTQK[1KDN$.V6&0;9(CV#+_49!]:G\2^*-(\):2VI:Q="" ':H R\C?W5'<T
M ;%%>.?\-%^'?-#-HNKBU+;1-LCYY]-W]:]/\/\ B+2_%.D1:II%TMQ:R<9'
M!1AU5@>01Z4 :E%%% !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 4444 %%%% !1110 4444 %%%
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 %%%% !1110 4444 %%%% !1110 4444 %%%
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 %%%% !1110 4444 %?/OQFFMY?C!X6M-=8C
M05CB:168A,-*PD)].%7/L*^@JYCQMX#T;QWIB6FJ(Z2PDM;W,1P\1/7'8@X&
M0?3UYH UXM&T<V"V\6FV)LR@"QK GEE>V!C&*9HOA[2/#L-Q!H]A%90SS&>2
M.(84N0!D#H. .!@5XA/X*^)WPS@>Y\,ZT=5TN'+&U R0O4_N6R/^^#FO0_A?
M\2X?B#IUPLULMKJEIM\^%"2C*>CKGG&01CG'J<T ='J'@[P_JVOPZYJ.EP7=
M_!"((GG&]54,6'RGY<Y8\XS5#XA:%I.K> ]7CO[: I;V<LL4A09A95)5E/;!
M'X\CO75UXS\8?%\^K7$7P\\- W.JW[JEWY?2-.NPGL3U8]E'/7@ E_9SGN9/
M 5]'*6,$6H.(23TRB$@>V3GZDUA^,463]IO0%=0RE(,@C(/#UZ]X+\+V_@[P
MI9:+;MO,*YED_P">DAY9OSZ>P%<MXU^$-IXR\4)KK:S=V,Z0+$%@09RI.&#9
MXZT >@?8+/\ Y](/^_8J8!(T  544=!P *\#\0_"KQ-X(TBXUSPOXPU"3[$I
MGDMG8H2BC+$88JV!D[2.1Z]^Z^'?CBY\;_#F[OKI0NI6JR6\Y08#L$R' [9!
M''J#VH X'X/6D?CGXB>(O&.JQ"=X'!MUE 81LY.W _V40 >F:]1^)_AFT\2^
M ]4BG@1KFVMWN+:3;\R.@W#![9Q@^QKS[]FK;_86O8/S_:8\_3:<?UKV76-H
MT/4-V-OV:3.>F-IH \V_9^UB;4OAVUI.Y8Z?=O!&2<_(0' _ LP^@%>K5XC^
MS6KCPWK;'_5F[0#Z[.?YBO;J /!_CA<7&O>._"W@N.1DM[AXY9=IX+22&,$_
M[H5C_P "KVNRTG3].TJ/2[2TABL8X_+6 (-NW&,$=\]\]:\0\9G/[37AP2'Y
M0MN%S]7Q^M>^4 ?/?AVV7P+^TE<:+8CR]-U%641#[H5X_-4 >SC ]JE\:QGQ
MS^T+IGAB[R^FZ>J^9%GY6_=^<_YC:I^E/\5AG_:@T$18W!(2V/0*Y/Z4:"<_
MM4:L9#\VV0+G_KDN/TH ]QN-+L+O3'TR>S@>Q>/RS;E!LV^F.U>%_!DR^&?B
MKXH\(B1FM%\QHPQ[QR *?J48Y^@KW^O _# 9OVHM;,6-JI*7QZ;$'\\4 >^4
M444 %%%% !15'5I=1AL2^EV\<]SN&$D.!COW'\ZP/[0\;_\ 0'LO^^Q_\<H
MZVBN6TSQ!J_]O1:5K-E#!).A>/RCG  8Y/S'^Z:ZF@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "N)U/XJ^%]#
M\67/AW5[B:RN( A\^6,F)]RAAAER1U[@#WKMJY[Q/X3\.^(+62?6=&MKZ2&,
ME79,28 S@,N&_#- &7J7Q:\#Z98O<MX@M;@A25BMF\QW/H .A^N!7GOP!TJ[
MNM:\0>*WMFMK&\9HH%Z!B7WMCU"\#/N?>G_!;X;Z)?>$WU/Q#H*S7YO'$?VM
M6XC 7 V'@\[N<5[C%%'!$D44:QQH-JH@P%'H!0!Y9\7OBB?"4(T+1RIUNZC!
M\UB MLC<!LGC<>V>!U/;.=\,QX#\%6+WE[XKTF[U^\&ZZNFNE;;GDHI)SC/4
M_P 1Y],=YX@^&WA'Q3J?]I:SI N;O8(S(+B6/*CIPK =ZRO^%)?#S_H7O_)V
MX_\ CE '5:1XHT'7Y98M(U>SOI(@&=8)@Y4'N0*S8OB-X2?5;S2Y=<M+6]M)
MF@EBNG\GY@<'!; ;GT-2>&O /AGPA<SW&A:8+26= DC>?))E0<X^=CCGTJGX
MA^%W@[Q/>27FHZ.GVN0Y>>"1HF8^IVD GW(- &-\1OB=X9TKPEJ5M:ZM:7VH
M75N\$,%K*LI#,NW+%<A0,YYZXXJG\!O#-WH?@66ZOXC&^IS>>D;=?*V@*2/?
MD_0BMS1?A!X(T*ZCNK?1EFN(SE9+J1I<'UVD[<^^*[F@#YQ^&NLP?"WXAZ]X
M8\02?9+6Y<"*XEX0%"Q1B>RLK=?7&?;T#XG?$OP_IG@K4+;3]7L[W4+Z!H((
M[6992N\8+DJ3@ $D9ZFNM\3^!_#OC!(QK>FQW#Q#$<H8I(H] RD''MTK%T3X
M.^"=!O4O(-)\^XC.4>ZD:4*?4*?ES[XH J?!+PU<>&_AY#]LB:*ZOYFNWC88
M9%("J#_P%0?QK4\+?$WP_P"+O$-]HFF_:UN[,,Q,T059%5@I*D$]R.H!]J[*
MN<T+P'X;\-ZS>:MI.FBWO+M2LKB1V&"=Q !) !(!X]!0!Y5\=+*\T/QAX;\;
MVL+216K1QRD= T<A=0?]X%A^%>FV/Q+\'7VC+J8\0V$,10.T<TZK*G&=I3.<
M^PSGMFNCOK&TU.RELKZWBN+:9=LD4JAE8>X-< _P+\ O=^=_9<ZKG)A6ZDV?
MSS^M '#^ _-^(/QRU'QG%$ZZ58Y6%W& 3L\M!]2,N1VJ/X@R2^ /CKIWC&6&
M1M-O ID9!GI'Y4B_4+AL=\U[MI6D:?H>GQV&EV<-I:Q_=BB7 ^ON?<\TW6-$
MTSQ!ISZ?JUE%=VK\F.09Y]0>H/N.: ,2Z^)/@VUT=M3/B+3Y( FX)%.K2,?[
MH0'=GVQ7FGP0L+S7?%_B/QW=PM%#>/)'!NZ$N^]L>RA57/O770_ SP%#=B?^
MRYI%!R(I+J0H/UR?Q->@VEI;6%I%:6<$=O;Q+MCBB4*JCT '2@":BBB@ HHH
MH **** .2U#_ )*9I7_7JW\I:ZVN2U#_ )*9I7_7JW\I:ZV@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "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@ HHH
MH **** "BBB@ HHHH **** "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@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@#DM0_P"2F:5_UZM_*6NMKDM0_P"2F:5_UZM_*6NMH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "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@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **Y?Q7
MXPAT!1;VZI/?MSL;[J#U;'\JL^&/%%MXBM3P(KR,?O8<_P#CR^H_E6GL9\G/
M;0S]I'FY+ZF_11169H%%%% !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 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% '):A_R4S2O^O5OY2UUM<EJ'_)3-*_Z]6_E+76T %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 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 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5RO
MB[Q='H4)M;4K)J#C@=1$/4^_H/\ )U_$-Y<Z?H%Y=6@3SXTRF\@ <\GGT&3B
MO#9)I+B9YII&DE<EF9CDD^M=F$PZJ/FELCEQ%9P]U;L6662>9YIG:25R69F.
M234EI=W&GW<=W:2M'-&<JP_STJ&BO5LK6//OU/9_"_BBW\0VG\,=Y&/WL.?_
M !Y?;^7\]^O +"YNK34(9K%G6Z5AY>P9)/ICOGTKWBS>>2Q@>ZC6.X:-3*BG
M(5L<C\Z\C%4%2=X[,]+#UG45GNB>BBBN4Z HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@#DM0_Y*9I7_7JW\I:ZVN2U#_DIFE?]>K?R
MEKK: "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BL
MG5O$NE:*"+NZ7S1TA3YG/X=OQQ7!:O\ $B^N=T>FPK:1]/,;#.?Z#]?K6]/#
MU*FRT,IUH0W9Z1?ZG9:7#YM[=1P)VWGD_0=3^%</J_Q,5=T6DVNX]/.GX'X*
M/ZG\*\]N+F>[F::YFDFE;J\C%B?SJYI>A:GK+[;&T>1<X,AX0?5CQ7=#!TX+
MFF[_ )''+$SF[01'J.L:AJTOF7UU),<Y )PJ_0#@5!;6ES>2^7:V\LS@9VQH
M6./PKT?2/AI;Q;9-5N#.W7R8257\3U/X8KM;.QM=/@$-I;QP1C^%%QGZ^M*>
M,IP5H*XX86<M9L\ !['@T$XKTWQAX(-\[:CI,8%R3F6$$ 2?[0[ ^OK]>LWA
MCP+;65DTNKPI/=3+M,;<K$#V'^U[_E[Z?6Z?)S?@1]6GS<OXGF^D:I-HVIQ7
MT"QN\9^ZZY!!Z_3ZBO9=!\167B"T\VV;;*H_>0L?F0_U'O7G'BKP5<:*S7=G
MNGL,Y)ZM%_O>WO7-V5]<Z==I=6DS13(<AE_D?4>U*I2AB8\T7J$*DZ$N66Q]
M!45R_A;QC;:ZBV\^V"_ Y3/RR>Z_X5U%>7.$H/ED>C&:DKH****@H**** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **BNKJ"SMI+FYD6.&,;F=CP!7-:-X[T_5]4:R,;6Y8X@>1AB3V]C[<U
M<:<I)M+1$RG&+2;W.JHHHJ"@HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#DM0_Y*9I7_7J
MW\I:ZVN2U#_DIFE?]>K?REKK: "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 **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBHY[B&UA::XE2*)>KNP4#\30!)02 ,DX KBM7^(^GVFZ/3HVO)?[Y^6,
M?U/^>:X+5_$^K:T2+JZ80G_EC'\J?EW_ !S773P=2>KT1SSQ,([:GINK^.='
MTK<B2_:YQ_RS@.0#[MT_G7 ZOX[UC4]T<4GV. _P0G#$>[=?RQ7-1QO-(L<2
M,[L<*JC)/X5UND?#S5;_ &R7A%E">?G&7/\ P'M^.*[%1HT%>7XG*ZM6J[1.
M1)+$DDDGDD]ZWM(\&ZQK&UTM_(@/_+6?Y1CV'4UZ;I'A#1]'VO%;B:<?\MIO
MF;/MV'X5O5C4QW2"-(83K-G(Z1\/M)T_;)=YOIA_ST&$'_ >_P".:ZQ$2)%2
M-%1%& JC %.HKAG4E-WD[G9&$8*T4%%%%04%%%% ",H92K %2,$'O7G/BSP$
M5\R_T:/*_>DM1V]T_P /R]*]'HK6E5E2=XF=2G&HK,^=U9XI RED=3D$'!!%
M>E>%/'BW&RPUAPDWW8[D\!_9O0^_^3>\5^"8=8#WE@%AONK#HLOU]#[_ )^M
M>57-M-:7#V]Q$T4J'#(PP0:]-.GBH6Z_D<#4\/+R/H6BO*O"GCF73-ECJ;-+
M9]$DZM%_BO\ +]*]2AFBN(4FAD62)QE74Y!%>;6HRI.S.^G5C45T/HHHK$T"
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M J*ZNH+.VDN;F18X8QN9V/ %2UY%XYUV]O\ 6)M.D5H+6V<JL9XWG^^?7/;V
MK:A1=65C*M55.-ROXJ\53^(;KRHMT5A&?W<?=C_>;W]NU<[C&".".AI>E%>U
M""@N6.QY<I.3NSTSP9XS^VB/3-3DQ<CY89F/^L]C_M?S^O7NJ^>#Z@X([UZU
MX#UV]UC3)8[Q&9K8JBW!_P"6@/8^I']1^/G8O#*/[R.QVX>NY>Y(ZVBBBN [
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** .2U#_ )*9I7_7JW\I:ZVN2U#_ )*9I7_7JW\I:ZV@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH ***Q]7\4:3HH*W5TIF'_+&+YG_ "[?CBJC
M%R=DA.2BKLV*IZAJMAI4/FWUU'"O8,>3]!U/X5YMJ_Q'U"[W1Z=&MG$>-Y^:
M0_T'^>:XZ>XFN9FFGE>61NKNQ8G\37;3P,GK-V.2>+BM(ZGH.K_$S[T6D6OM
MYT_]%']3^%<-J&JW^JS>;?74DS=@QX'T'0?A4^E>']4UEP+*T=TS@RM\J#\3
M7>:1\-;2#;)JLYN'Z^5%E4_$]3^E=%Z&']?Q,+5JWI^!YS96%WJ,XAL[>2>3
MT1<X^OI7;:1\-)Y-LFK7(B7_ )XP\M^+=!^&:]$M;.VL8!#:P1PQ#^&-0!4]
M<M3&SEI#0Z(82*UEJ9^F:'INCQ[+&TCB.,%\99OJQYK0HHKC;;=V=222L@HH
MHI#"BBB@ HHHH **** "BBB@ K"\1^%[/Q#;_O (KI!^[G4<CV/J*W:*J,G%
MWB*45)69X'JVD7FBWK6M[$4<<JPY5QZ@]Q6EX:\67?AZ;9S-9,<O"3T]U]#_
M #KUS5M(L]:LFM;V(.AY5APR'U![&O'_ !'X7O/#UQ^\!EM6.(YU'!]CZ&O4
MI5X5X\D]SSJE&5%\T=CV+3-4M-7LUNK*821MU]5/H1V-7*\&T;6[W0[T7-G)
MC/#QMRKCT(KV#P_XDLO$-KO@;9.H_>0,?F7W]Q[UQXC#2I:K5'51KJIH]S9H
MHHKE.@**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHK
MB_$WCVWTW?::84N+L<-)U2,_U/Z?RJZ=.51VBB)SC!7D;^N>(;#0+;S+N3,C
M#]W"O+O^'I[UX_X@UZX\0:A]JGCCC"C;&B#[J^A/4U0N[NXOKE[BZF>69SEG
M<Y)KHO#7@J\UPK<7&ZVL>OF$?-)_NC^O3ZUZE.C3P\>:3U."=6=9\L5H<R&[
M&G5ZWJ_@33;O2$MK&%+:XA'[J3^\?1SU.?7M^E<1HO@G4]1U1K>]@EM;>%OW
MLC+C/LO8D^O3^MPQ-.47*]K$RH3BTMROX9\,W'B*\_BBLHS^]EQ_XZOO_*O8
M[*RM]/M([6UB6.&,851_GK1965OI]I':VL2QPQC"J/\ /6IZ\VO7=5^1W4:*
MIKS"BBBN<V"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH Y+4/^2F:5_UZM_*6NMKDM0_Y*9I7_7J
MW\I:ZV@ 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 **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BHKBY@LX3-<S1PQ+U>1@H'XFN,U?XD6-MNCTR
M$W4@X\QLJ@_J?T^M:0I3J/W41.I&'Q,[<D*"20 .23VKF-7\>:/IFZ.*0WDX
M_@A/R@^[=/RS7F>K>)-5UIB+NZ8Q'I"GRH/P'7\<UF10R3RK%#&\DC'"JBDD
M_0"NZG@4M:C..>+;T@CHM7\<ZSJFY$F^R0'_ )9P<$CW;K_*N:)).3R379:1
M\.M3O=LE\RV4)YP?FD/X=OQ/X5WND>$](T;:\%L))Q_RVF^9OP[#\,5I+$4:
M*M#\"%0JU7>1YEI'@K6=6VN(/LT!_P"6L_RY'L.I_E7>Z1X TC3MLERIO9QW
ME'R ^R_XYKJZ*XJF+J3TV1UPP\(>8BJJ($10J@8  P!2T45S&X4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !45S;0WEN]O<1++%(,,C#((J6BC8
M#R7Q7X)FT<O>6 ::QZL.K1?7U'O^=<M:7EQ874=S:RM%-&<JZGI7T&0",$9!
MKSSQ7X"#;[_1H\'[TEJ._NG^'Y>E>EA\6I>Y4.&MAFO>@;'A7QI;ZVJVMWM@
MOP.G19?=??VKJZ^=_GBD_B1U/T((KT;PIX]$FRPUF0!_NQW1Z'V?_'\_6HQ&
M$M[U/;L51Q-_=F>A44 Y&1THK@.P**** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH *KWM];:=:O<W<RPPIU9C^GN?:LKQ#XJL/#\161O.NR,I AY^I]!7
MDNM:]?Z[=>=>2Y4?<B7A$'L/ZUU4,+*IJ]$<];$1AHM6;OB;QU<ZKOM+#?;6
M1X+9P\@]_0>U<G#!+<S)#!&TDKG"H@R2?I6CHGA^_P!>N?*M(_W:G]Y,W")]
M3Z^U>M>'_"]AX?A_<KYERPP\[CYC[#T'M7;.K3P\>6._];G+"G.N^:6QSOAG
MX?QVVR\UE5EFZK;=57_>]3[=/K7>    # '0"EHKS*E651WD=\*<8*T0HHHK
M,L**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** .2U#_ )*9I7_7JW\I:ZVN2U#_ )*9
MI7_7JW\I:ZV@ HHHH **** "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@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HK%U?Q7I&B[EN+D/./^6,7S/^/8?CBN"U?XBZE>[H[!
M%LHCQN'S2'\>@_ ?C6]/#5*FRT,9UX0W9Z3J6L:?I$7F7UU'"",A2<LWT Y-
M<-J_Q,=MT6D6VT=/.GY/X*/ZG\*\_FFEN)6EFD>21CEG=B2?Q-:6D^'-5UIA
M]CM6,?>5_E0?B>OX5W0PE.FN:;N<DL34F[015O\ 4[W5)O.O;F2=^V\\#Z#H
M/PI+'3;W4Y_)LK:2=^X1>!]3T'XUZ1I'PVLK;;+J<QNI!SY:95!_4_I796UK
M;V<"PVT,<,2]$C4 4JF-A%6IJXX864M9L\]TCX9R/MEU:YV#KY,')_%NGY9^
MM=UINC:=I$7EV-K'#Q@L!EF^I/)J]17!4KU*GQ,[(4H0V04445D:!1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ')^*
MO!5OK2O=V>V&_P 9)Z++]??WKR>ZM+BQN7MKJ)HID.&1AR*^A*Q?$/AJR\0V
MVV8>7<*/W<ZCE?8^H]J[</BW#W9['+6PZG[T=S@/"GC>;22EEJ!::QZ*W5HO
MIZCV_+TKU2WN(;NW2>WD66)QE74Y!%>%:QHM[H=Z;:\CVGJCCE7'J#5[PYXI
MO/#T^$)EM&.9(&/'U'H:WKX:-1<]/?\ ,QI5W!\DSVRBJ.E:M9ZS9+=64H=#
MPP/#(?0CL:O5YC33LSO335T%%%%(84444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !115+4]6LM'M#
M<WLPC0=!U9CZ =S32;=D)M)79<9@JEF("@9))X K@/$WQ!2'?9Z*P>3HUUC*
MK_NCO]>GUKF_$OC*]UUF@BS;V.>(@>7]V/?Z=/KUK L[*YU"Z2VM(7FF?HJC
M_.![UZ5#!J/O5#AJXEOW:9'++)/*TLLC22.<L['))]S78>&? =QJ6R[U(/;V
MAY6/H\@_H/\ /O73>&? EMI6R[U#9<7@Y5>J1GV]3[__ *Z[&IKXS[-/[QT<
M+]J9!:6=O86R6UK"D,*#"HHP*GHHKSF[[G=L%%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 <EJ'_)3-*_Z]6_E+76UR6H?\E,TK_KU;^4M=;0 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 445#=7=O90&:ZGCAB
M'5I& %"5P)J1F5%+,0J@9))P!7#:O\2;.WW1Z7 ;F3_GK)E4'X=3^E<'JOB+
M5-98_;+MVCSQ$ORH/P']:ZZ>#J3U>B.:>*A';4],U?Q]I&F[H[=C>SCC;$?E
M'U;I^6:X+5_&VLZMN3S_ +- ?^6<'RY'NW4_RK A@FN9EB@B>61N%1%+$_@*
M[#2/ASJ-YMDU"1;.(\[/O2'\.@_/\*[%2H4%>6_F<SJ5:VB.+Y)]2:Z32/ ^
MLZKM=H?LL!_Y:3\$CV7J:]-TCPMI&BA6MK8-,/\ EM+\S_GV_#%;-8U,=T@C
M6&$ZS9RVD> M'TS;),AO9Q_%,/E'T7I^>:ZA5"J%4  #  [4M%<,YRF[R=SK
MC",5:*"BBBH*"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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
M5>@45I3JRIRO$BI3C-6D?.Y#Q2%6#(ZG!!X((KT/PIX]^Y8:S)_LQW1_D_\
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
M<QN%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!6/K_ARR\06OEW"[)E'[N=1\R?XCVK8HIQDXNZ%**DK,\'UK0[W0KPV]W'P>
M8Y%^ZX]0?Z59\.^)KWP]<YB/F6SG]Y QX;W'H?>O9-1TVTU:S>UO(1)$WKU4
M^H/8UY%XF\)7?A^4R#,UBQ^28#[OLWH?T/Z5ZM'$0K+DGN>?5HRI/FAL>LZ1
MK-EK=D+FSEW+T=#PR'T(J_7@6EZM>:->K=64I1QU'\+CT([BO7_#?BFS\0P8
M7$5V@S) 3S]5]17)B,*Z?O1U1T4<0IZ/<WJ***Y#I"BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHK$\0>*+#P_#^^;S;EAE($/S'W/H/?\ G51B
MY.T12DHJ[-2[O+>PMGN;J9(84&6=C@5Y?XF\>7&I[[332]O:'AGZ/(/Z#V__
M %5@:WX@O]>N?-NY/D4_NX5X1/H/7WI-%T&_UVZ\FSBRH^_*W"(/<_TZUZ='
M"QI+GJ;GGU<1*H^6!GQ123RK%%&TDCG"HHR2?85Z1X9^'R0[+S6E#R=5M<Y5
M?][U^G3ZUT7A[PK8>'X@T:^==$8>=QS]!Z"MVL*^,<O=AL;4<,HZSW$50JA5
M "@8 ':EHHKA.L**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH *\O\;_  GDUSQ%-XHT;Q)=Z-J;1J)63.TA5 &"I!7@#/7I7J%,FB2>
M&2&09CD4JPSC((P: /F_P1X4\7_%+PY-=ZEXXU"'3A<-;O;NSR^;A5)XW 8^
M;'.>E>Y^#_!ND>"-&_LW28WVLV^6:4@R2MTRQP/R' JWX?\ #FD^%M,&FZ+:
M?9;0.9/+\QG^8]3EB3V]:U: /(_B1\(]6\<>*X]7MM;@MX8H$CCAFC9MA!).
M,<<DYJG_ ,*R^)@&!\2)_P#OY+_C7M%% '"^ _"GBSP[>WDOB'Q5)K$$L86.
M)RQV,#][+=...*H?$7X3P^,;^#6M,OSIFN0;<3@';)M^[G'(8=F'Y=,>DT4
M>(7'PL^)'B&$:;XD\<0OI>X;EAWNS@=-PVKG\2:]9\->'-.\*:#;:/ID92V@
M'5CEG8\EF/<D_P"<5K44 >4^-?@_+JWB4>)_"^KG1]8+;I#R%=L8W@KRI(Z\
M$'\\Y$GPC\;^*9K>+QMXQ2?3X6#>1:98M^:J <?Q$'%>VT4 5=-TZTTC3+;3
MK&%8;6VC$<4:]E'^>M><?#[X67_@WQOJVN7.JPW,%W')'%'&K!CND#Y?/&1M
M[9ZUZC10!R_COP-IWCW0O[/OF:&:-M]M<H,M$_T[@]QW]C@UYO;?#+XIZ?9#
M2;+QS;II:KY:_/('5>F%^0D#'8-7N%% '%?#SX<:?X L)A%.UYJ-U@W%VZ[2
MV.BJ.<#GU))_#$7Q'^&=A\0+*%FG-GJ=L"(+H+N&T\E6'&1_(_B#W5% 'B#_
M  S^*=[9G2;[QW =*8;&*O(TC+W!^4$_0MS7I7@CP3IO@701IFGEI&=O,GN)
M -TSXQD^@]!V]SDGI:* "BBB@ HHHH **** .2U#_DIFE?\ 7JW\I:ZVN2U#
M_DIFE?\ 7JW\I:ZV@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@!KNL:,[L%11EF8X 'K7E/C'QB^L
M2-86#E;!3\SC@S'_ .)]J[GQEI]QJ7AR>*WN%A9")&W-M5U&<J3V]?PKQ=3V
MKT,%2B_?>Z.+%5)+W5L*!BECDDAE2:%V21"&5E."".XI**](X22\OKK4)S->
M7$D\A_BD;./IZ5+IVD7^K2^78VLDQS@E1\J_4]!^-6="T*ZU_45M[9=J+@RR
MD?*@_J?05[A!!%;0K##&D<:C 5%"@?@*Y<1B51]V*U.BC0=35['G^D?#-1ME
MU>YR>ODP=/Q8_P!!^-=S8:78Z7#Y5C:QP)WVCD_4]3^-6Z*\RI6G4^)G?"E"
M'PH****R- HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH *9+#'/"\4T:R1N,,K#((]Q3Z* /+/%?@633M]
M]I:M):=7BZM%[CU7]17&6]Q-:SI/!(T<J'*NIP0:^AJX/Q9X#2[WW^D($G^]
M);CA7]U]#[=#_/T</B[^Y4^\X:V&M[T"UX4\;PZMLLM0*PWW17Z++_@?;\O2
MNRKYW='AD9'5DD0X*L,$$5W_ (4\>F+98:S(2GW8[H]5]G]1[_GZTL1A/M4_
MN'1Q/V9GI-%(K*ZAE(92,@@Y!%+7GG:%%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4A( ))P!U)JIJ6J6>DVC7-[,L48Z9ZL?0#N:\I\2^-+S7"UO!NMK'IY8/S
M2?[Q_IT^M;T</*J]-C*K6C36NYTOB;X@1V^^ST9EDEZ-<]57_=]3[]/K7FTT
M\MS,\T\C22N<L['))IUI:7%]<I;6L+RS.<*BC)->H>&? 5OINR[U,)<78Y6/
MJD9_J?T_G7HWI8:/G^)PVJ8B7D<UX9\"7.J[+O4-]M9GD+T>0>WH/>O4;*RM
MM.M4MK2%(84Z*H_7W/O5BBO-K5YU7KL=U*C&FM HHHK$U"BBB@ HHHH ****
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 Y+4/^2F:
M5_UZM_*6NMKDM0_Y*9I7_7JW\I:ZV@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH ***KWM]:Z=;-<WDZ0PKU9S^@
M]3[4TKZ(&[%BL'7_ !9IV@H4D?SKK'RP1GG\3V%<;XA^(=Q=[[;2 UO#T,Y_
MUC?3^[_/Z5PS,TCEF)9F.23R2:[Z.";UJ?<<=7%):0-C7?$^HZ_(?M,FR '*
MP1\*/KZGW-4+#3KS4[D6]E;O-*><*.@]2>WXUU'A[P!>:ELN-1+6EJ>0F/WC
MCZ?P_C^5>F:=I=EI-J+>R@6*,=<=6/J3U)K6IB:=)<M-&4*$ZCYIG@SH\4KQ
M2HR2(2K*PP01VK1T+0KOQ!?BVMAMC7F64CY4'^/H*]-\2^"[77Y4N8Y?LMT,
M!Y FX./<9'/O_D;.DZ3::+8):6B;47EF/WG/<D^M3/&QY+QW*CA'S>]L&DZ3
M::+8):6B;47EF/WG/<D^M7J**\UMMW9W))*R"BBBD,**** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** .9\4>#[77HS/#M@OP.),</[-_CUKR2^L+K3;M[6\A:*9.JG^8
M]1[U] UE:[X?LM?M/)NDQ(O^KF4?,A_J/:NS#XIT_=EL<U;#J>L=SS3PMXSN
M-#9;6ZW3V!/W<_-%[K[>U>LV=Y;W]JES:RK+"XRK*:\0US0+W0+SR;I,HW^K
ME4?*X]O?VJ7P_P")+WP]=;X&WP,?WD#'Y6_P/O736PT:JYZ>_P"9STJ\J;Y)
M['N-%9VC:W9:[9"XLY,XX>-OO(?0BM&O+:<79GH)IJZ"BBBD,**** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBFR2QPQ-+*ZI&HRS,< #U)H =7-^)/&-EH*M"F+B^QQ"IX7W8]OIU_G7->)O
MB"TF^ST5BJ]&NL8)_P!ST^O_ .NN ):1R22SL<DGDDUWT,&W[U3[CCK8JVD"
MYJNKWNLW9N;V8R/_  KT5!Z =A5WP_X8O_$$W[A?+ME.'G<?*/8>I]OY5T/A
MGX?RW6R\UA6BAZK;]&?_ 'O0>W7Z5Z5!!%;0I#!&L<2#"H@P /I6M;%QIKDI
MF=+#RF^:9G:'X>L- MO*M(\R,/WDS<N_U/I[5JT45YDI.3NSO225D%%%%(84
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110!R6H?\E,TK_KU;^4M=;7):A_R4S2O^O5OY2UUM !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !16=J^N:?HE
MOYU].$S]V,<N_P!!7E_B'QQJ&L[H+<FTLSQL0_,X_P!H_P!!^M;T</.KML8U
M*T:>^YV?B'QY8Z5OM[+;=W8X^4_NT/N>_P!!^E>8ZIK%]K-SY]]<-(W\*]%4
M>@':JD,,MQ,L4,;R2.<*B#))]A7H'A[X<EMMSK1P.HMD;D_[Q'\A^=>BHT<,
MKO?\3B<JE=V6QR&C>']1UV?R[.'* X>5^$3ZG^@YKU+P_P""].T/;,X%S>#_
M );..%/^R.WUZUT%O;PVL"06\211(,*B# %25PUL5.IHM$==+#QAJ]6%%%%<
MIT!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 5K_ $^U
MU.S>UO(5EA?J#V/J#V->1^)_"%UH$AFBW3V#'Y9<<I[-_CT->RTV2-)HVCD1
M71AAE89!'H16]#$2I/38QJT8U%KN>!:;J=WI-XEU93&.5>OHP]".XKU[PUXL
MM/$$(C.(;U1EX2>ONOJ/Y5R'BOP(]EOO])1I+?[TD Y:/W'J/U%<1#-+;S)-
M#(T<B'<KJ<$&O1G"GB8\T=SBC.="5GL?0]%<5X4\<Q:ELL=398KSHDO19?\
M!OT/Z5VM>54IRIRY9'H0G&:O$****@L**** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHKD/$WCFUTC?:V.VYO1P3G*1GW]3[
M5<*<INT43.<8*\C=UG7+'0K7S[R7!/W(UY9S["O)?$7BN^\02E'/DV@.4@4\
M?5CW-9-]?76I73W-Y,TTS=68_H/0>U;GAOP?>Z\ZS-FWL@>9F'+>RCO]>E>I
M3H4Z"YYO4\^=6=9\L=C&T[3+S5KM;:RA:60^G11ZD]A7JWAKP59Z(%N+C;<W
MW7>1\L?^Z/Z_RK;TK2++1K06UE"(U_B;JSGU)[U>KCKXN53W8Z(Z:.'4-9:L
M****Y#I"BBB@ HHHH **** "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 Y+4/\ DIFE?]>K?REKK:Y+4/\ DIFE
M?]>K?REKK: "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHK"U[Q7IN@H5E?SKK'RV\9^;\?0548RD[10I245=FW)(D4;22.J(HRS,<
M#W-<'XA^(L4.ZVT8"63H;AQ\H_W1W^IX^M<;KOBC4M?D(N)/+MP<K!&<*/KZ
MGW-9UAIUWJ=TMM90/-*>RCH/4GL/<UZ-+!QBN:H<-3%.7NP&75W<7UP]Q=3/
M-,_5W.2:V_#_ (/U'7F60+]GM.\\@Z_[H[_R]Z[/P]\/;6QV7&JE;JX'(B'^
MK7Z_WOY>U=J %    '  [4JV,2]VF%/"MZS,G1/#>G:##MM(LRD8>9^7;\>P
M]A6O117G2DY.[.Y1459!1112&%%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !7#^*_ L=_OOM*58[KJ\/19/<>A_0UW%%:
M4ZDJ<N:)$X1FK2/GB6*2"5HI49)$.&5A@@UW7A3QXUMLL-8<O#TCN#R4]F]1
M[_Y'5>)_"-IX@B,J;8+Y1\LH'#>S>H]^H_2O(M0TZ[TJ\>UO(6BE7L>A'J#W
M%>I&=/$QL]SSY1G0E=;'OR.LB*Z,&1AE64Y!'J*=7CGA?QC<Z#(MO/NGL">8
M\\Q^Z_X?RKUNQOK;4K1+JTF66%QPR_R/H?:O.K4)4GKL=U*M&HM-RQ1116!J
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %0W5U!96SW%S
M*D4*#+.YP!69K_B:P\/P;KA_,N&&8X$/S-]?0>]>2:YXBO\ 7[GS+J3$2G]W
M"G"I_B?>NFAAI5=7HC"K7C3TW9T'B;Q]/J&^TTLO!:GAI>CR?3^Z/U_E7%QQ
MO-(L<:,\C'"JHR2?0"K^CZ'?:Y=^191;L??D;A4'J37K7AWPG8^'XPZCSKPC
M#3L.?HH["NZ=2GAH\L=_ZW..,*E=\SV.<\,_#Y4V7FM*&;JMKG@?[Y[_ $_/
MTKT%55$"(H55&  , "EHKS*M651WD>A3IQ@K1"BBBLRPHHHH **** "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@#DM0_Y*9I7_7JW\I:ZVN2U#_DIFE?]>K?REKK: "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ 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 **** "H+R]MM/MFN+N=(85ZLYQ_^L^U
M<UXA\=V&D[[>TVW=V.,*?D0^Y[_0?I7F&JZS?ZS<^??3M(?X5Z*@] .U=='"
M2GK+1'-5Q,8:+5G6>(?B)/<[[;1PT$/0SL/G;Z?W?Y_2N&9FD<LS%G8Y))R2
M:T=&T#4-=G\NRA)0'#RMPB?4_P!.M>H^'_!6GZ)MFD NKP<^:XX4_P"R.WUZ
MUV2J4L,K+<Y5"I7=WL<9X>\ 7NI[+C4-UI:GD*1^\<>P[?4_E7INFZ59:1:B
MWL;=8D[XZL?4GJ35RBO.JUYU7KL=U.C&GL%%%%8FH4444 %%%% !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 %9
MFMZ%9:]9F"[C^8?ZN5?O(?8_TK3HIQDXNZ$TFK,\,U[P[>^'[ORKE=T3']W,
MH^5Q_0^U)H/B&]\/W?FVS;HF/[R%C\KC^A]Z]LO;&VU&T>UNX5EA<8*M_,>A
M]Z\E\4^#;G0G:XM]T]@3P^/FC]F_QKU*.(C67)4W_,\^K0E3?-#8]/T37K+7
MK/S[1_F'^LB;[R'W_P :TZ^?]/U&ZTN\2ZLYFBE7N.A'H1W%>N>&/%UKX@B$
M+[8+Y1\T1/#>Z^OTZC]:YL1A73]Z.QT4<0IZ2W.DHHHKC.D**** "BBB@ HH
MHH **** "BBB@ HHHH ***JZAJ-II5HUU>S+%$O<]2?0#N::3;LA-VU9:)P,
MGI7"^)OB!%9[[/2"LT_1KCJB?3^\?T^M<UXF\;7>M%[:UW6UCTV@_-(/]H^G
MM_.N9MK6>\N$M[:)Y97.%1!DFO1H8-+WJGW'%5Q+?NP$N+B:ZG>>XE>65SEG
M<Y)-=5X9\#76K[+J]W6UD>1QAY![>@]S72^&? ,%ALN]5"3W(Y6'JD?U_O']
M*[>BOC+>[3^\*6%O[TRM8V%KIMHEM9PK#"O15[^Y]3[U9HHKSFV]6=R5M$%%
M%%( HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH Y+4/^2F:5_UZM_*6NMKDM0_
MY*9I7_7JW\I:ZV@ 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 **** "BBB@ HHHH **:[I$C/(ZH
MBC)9C@ 5PGB'XBPP;K;1@)I.AN&'R+_NCO\ 7I]:TITIU':*(G4C!7D=;JVM
MV&B6WG7TX3/W4'+/]!7E_B'QS?ZQO@MLVEF>-JGYW'^T?Z#]:YR[O+B^N6N+
MJ9YIFZNYR:V= \(:CKS+(J^1:9YGD'!_W1W_ )>]>E3P].BN:;U.&=:=5\L#
M"BBDGE6*&-I)'.%1!DD^PKO_  ]\.6?9<ZT2J]1;(>3_ +Q'3Z#\Z['0_#6G
M:#%BUBW3$8>=^7;\>P]A6O6%;&N6E/0UI85+69%;VT%I D%O$D42#"H@P!4M
M%%<!V!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4UT61&1U#(PP589!'I3J*
M /,_%?@-K???Z.A>'[TEL.2GNOJ/;_(X2.22&59(G9)$.593@@^U?0]<7XK\
M#1:GOOM,58KSJ\?19?\ !OY_K7HX?%_9J?><5;#?:@1>%/'<=]LL=5=8[KHD
M_19/8^A_0UW-?/,T,MM,\,T;1RH<,C#!!KMO"GCM[+98ZL[26W1)SRT?L?4?
MJ*,1A/MT_N%1Q/V9GJ%%-CD2:-9(G5XV&593D$>H-.KSCN"BBB@ HHHH ***
M* "BBB@ HIKND4;22.J(HRS,< #U)KSOQ-\0L[[/16XZ-=$?^@#^OY>M:TJ4
MJCM$SJ5(TU=G2>(_%]CH"&($3WI'RPJ?N^['M_.O)M6UF^UN[-Q>S%S_  H.
M%0>@':J3N\LA=V9W8Y))R2:[?PSX FO-EWJX:&WZK!T=_K_='Z_2O2C3I8:/
M-+<X)3J5W9;'/Z#X:O\ Q!/MMTV0*<23N/E7_$^U>M:%X<L- M]EK'NF8?O)
MW^\W^ ]JT[>WAM($@MXDBB085$& !4E<-?$RJZ;([*5"-/7J%%%%<QN%%%%
M!1110 4444 %%%% !1110 4444 %%%% !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 <EJ'_ "4S2O\ KU;^4M=;
M7):A_P E,TK_ *]6_E+76T %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 445!=WEM86S7%W
M.D,*]6<X'_Z_:A*^B#8GK#U[Q5IN@(5FD\VYQE;>,Y;\?0?7]:XWQ#\1)KC?
M;:.&ABZ&X8?.W^Z.WUZ_2N%=WD<N[,SL<EB<DFN^C@F]:AQU<4EI V==\4ZE
MK[D3R>7; Y6WC.%'U]3]?TK-L=/N]2N5MK.!YI6_A4=/<GL/<UT_A[P#>ZIL
MN+_=:6IY (_>./8=OJ?RKTW3-)LM(M1;V-NL2=R.K'U)ZFMZF)IT5RP1E"A.
MH^:9ROA[X>VUELN-5*W,_40C_5K]?[W\OK7;*H50J@  8 ':EHKS:E251WDS
MNA3C!6B%%%%9EA1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10!S_B7PG9^(82_$-ZH^2<#K[-ZC^5>0ZGI=WI%ZUK>Q&.1>GHP]0>XKWZL[
M6=$LM<LC;7D><<I(O#(?4&NO#XIT_=EJCFK8=3U6YY5X8\7W6@2B&3=/8L?F
MBSRONOI].A_6O7-/U"UU2S2ZLYEEB?N.Q]".QKQCQ!X;O?#UULG'F0,?W<ZC
MY6]O8^U1:'K][H%YY]H^4/\ K(F^ZX]_?WKKK8>-9<]/<YZ5:5)\L]CW:BLG
M0?$-EX@M/.MFVR+_ *R%C\R'^H]ZUJ\J47%V9Z":DKH****0PHHHH *S]7UJ
MQT2T-Q>S!0?N(.6<^@%8?B;QO::-OM;3;<WPX(S\D9_VCZ^W\J\JO]0N]3NV
MNKR9I96[MV'H!V'M790PDI^]+1'-6Q*AI'5FQXC\77VOR&,DP68/RP*>ONQ[
MG]*R-/TZ[U2[6ULX6EE;L.P]2>P]ZU_#GA&^U]Q)@P60/S3L.OLH[G]*]9TC
M1;'1+06]E"$!^\YY9SZDUU5:\*"Y(+4YJ=&=5\TMC$\,^"+310ES=[;F^ZAL
M?)'_ +H]??\ E75T45YDZDIN\F>A"$8*T0HHHJ"@HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ 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 Y+4/^2F:5_UZM_*6NMKDM0_Y*9I7_7J
MW\I:ZV@ 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 **** "BBB@ HHHH **H:KK5AHMMY]].L8/W4'+/[ =Z\O\ $/CJ
M_P!7WP6NZTLSQM4_.X_VC_0?K6]'#SJ[;&52M&GON=IXA\=6&D;[>UVW=X.-
MJGY$/^T?Z#]*\OU76K_6KGS[Z<N1]U!PJ#T [53BBDGE6*)&DD<X55&23["N
M^\/?#IY-ESK1*)U%LAY/^\>WT'YBO14*6&5WN<+E4KNRV.0T?0=0URX\JR@+
M*#\\K<(GU/\ 3K7J/A[P3I^B;9Y0+J\'/F..$/\ LCM]>M=%;6L%G;I!;1)%
M$@PJ(, 5+7#6Q<ZFBT1UTL/&&KU84445RG0%%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 45SOB77)=.:*WM'"S-\[D@'"]ASZUL:;>IJ%A%<ICY
MQ\P]#W%91K0E-TUNA7UL6J***U&%%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%0W-U#9V[3W$@2->K&GQ2QSPI+$P:-QE6'<4KJ]NH#Z***8!1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110!!=VEO?VLEM=1++#(,,C#K7D_BKP7<:(S75KNGL">O5H
MO9O;WKU^D90RE6 *D8((X(K:C7E2>FQE5HQJ+7<^?K&^N=-NTNK29HID/#+_
M "/J*];\+^,;;7HUMYML%^!S'GB3W7_"N>\5^ C'OO\ 1HR4ZR6HZCW3_#\O
M2O/T=XI Z,R.AR"#@@BO2E&GB876YPJ4Z$K/8^@[FYAL[>2XN)5BAC&6=C@
M5%I^HV>J6HN;*=9H2<;E['T(/(_&O%]4\2ZIK=K!;7D^Z.$=%&-Y_O-ZFC0-
M?N_#U]Y\'SPMQ+"3PX_H?0US?47R;ZF_UM<VVA[;<7,-I;O/<2I%$@RSN< 5
MYGXF\?S7N^TTDM#;]&GZ._T_NC]?I7/:]XDO_$%QNN7V0*<QP(?E7_$^]5])
MT:^UN[%O90ES_$YX5!ZDUK1PL::YZAG5Q$IOE@441Y9%1%9W8X"@9)->A^&?
MA]]R\UI?=+4'_P!#/]/S]*Z3PYX1L= 02X$]Z1\T[#I[*.P_6NAK*OC&_=I[
M=S2CA4M9C41(T5(U544855& ![4ZBBN [ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HKF]6\;:9HWBW2?#5Q#=/?:F"86B12
MB@9^\2P(Z'H#724 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110!R6H?\E,TK_KU;^4M=;7):A_R4S2O^O5OY2UUM !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%8FN^*=-T",B>3S+DCY8(SEC]?0?6JC%R=HH4I**NS9=UC1G=@J*,EF. !
M7"^(?B)#;;[;1PL\O0W##Y%_W1W_ )?6N-U[Q7J6ON5FD\JVS\MO&<+^/J?K
M^E9EC876I7*VUG \TK=%4?J?0>]>C2P<8^]4.&IBG+W8#;R\N;^Y:XNYWFF;
MJSG)_P#K#VK8T#PCJ.O,)$3R+3/,\@X_X"/XOY>]=EX>^'EM9[+G5BMS/U$(
M_P!6OU_O?R^M=PJJBA5 "@8  X HK8Q1]VF%/"MZS,C0_#.G:#%_HT6Z<C#3
MORY_P'L*V***\Z4G)W9W1BHJR"BBBI&%%%% !1110 4444 %%%% !1110 44
M44 %%%% !113)9HH$+S2)&@_B=@!0W8!],FF2W@>:0X1%+,?85B7GBS3[?*P
M[[AQ_<&%_,_TKF]4\27>IPM!L2*!CRJ\D_4UR5<92@G9W9+DD9]]=O?WTMS)
MU=L@>@[#\JV_">J+:7$EI/($BD^92QP P_Q'\JYVD->/3JRA/VG4S3L[GJ7]
MH67_ #]V_P#W\'^-']H67_/W;_\ ?P?XUY917;_:4OY2N<]5%W;$9%Q%C_?%
M'VNV_P"?B+_OL5Y513_M)_RASGJOVNV_Y^(O^^Q3A/"PRLJ$>S"O***/[2?\
MOXASGK'FQ_\ /1/^^A1YL?\ ST3_ +Z%>3T4?VD_Y?Q#G/65=6^ZP/T-.KR2
MBG_:7]W\?^ '.>MT5Y)2@E3D$@^HH_M+^[^/_ #G/6J*\G\V3_GH_P#WT:/-
MD_YZ/_WT:?\ :2_E_$?.>L45Y/YTG_/1_P#OHT_[5<?\_$O_ 'V:/[27\OXA
MSGJM%>5?:KC_ )^)?^^S1]JN/^?B7_OLT?VDOY?Q#G/5:*\L%_> 8%W.!_UT
M-+_:%[_S]W'_ '\/^-/^TH_RASGJ5%>6_P!H7O\ S]W'_?P_XTJZG?J,+?7(
M'M*W^-']I1_E#G/4:*\O_M74?^?^Z_[_ #?XT?VKJ/\ S_W7_?YO\:/[1C_*
M'.>H45YBNKZDO2_N?QE)I?[:U/\ Y_KC_OLT_P"T8?RL.='IM%>9?VUJ?_/]
M<?\ ?9I1K>I@Y^W3_BYH_M&'9ASH],HKS7^WM4_Y_I?SH_M[5/\ G^E_.G_:
M-/LPYT>E45YK_;VJ?\_TOYT__A(M6_Y_7_[Y7_"C^T:?9ASH]'HKSC_A(M6_
MY_7_ .^5_P */^$BU;_G]?\ [Y7_  H_M&GV8<Z/1Z*\Z'B;6 ,?;#^,:?X4
MO_"3ZQ_S^?\ D)/\*?\ :-+L_P"OF'.CT2BO._\ A)]8_P"?S_R$G^%*OBG5
MQUN0WUC7_"C^T:79_P!?,.=%_P 7ZCYMREA&WR1?-)CNQZ#\!_.K7@_4=\4F
MGR-RGSQY].X_/G\:Y*21YI7ED8L[DLQ/<FI+2ZDL;R*YB^_&<\]_:N&.)?M_
M:O\ I$\VMSU.BN5A\:Q''GV;K[HX;^>*T(?%6E38W3/$3V=#_3->M'%49;2-
M.9&U15:'4;*XQY-W"Y/8.,_E5FMDT]AA1113 **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH CGF
MCMX))YF"11J7=CV &2:\1\1ZG;:SK4UW:VJV\3<<#!?_ &F[9->X21I+&T<B
MAD<%65AD$'J#7DOB_P (2:)*U[9*SZ>YY'4Q'T/MZ'\/KVX*4%-WW.3%J3CI
ML<KTHH!S17JGG@@C65#*K-%N&X*<$CO@]J]R\._V8=$MY-)B$=HXR!CG/0[O
M4Y%>4^&?#-QXBO/XHK*,_O9<?^.K[_RKV.SLX-/LXK6UC$<,0PJCM7G8Z<7:
M*>IW82#5Y=">BBBO..T**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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
M([6UB6.&,851_GK4]%%<3=]6=25@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 *;+%'-$\4J+)&X*LC#(8'J".].KRWQA
MKOQ+\-^+;F[TC1EUKP[(B&.!$W21D* P&WY\D@GD,.: )/%GP-\*:_#-+IUO
M_9%^P)22VXB+=MT?3'^[BN?^ _B;5Y+W5_".K3O<'306A9V+&,*VQDR?X<XP
M.W/X5[7XQ^./%FG2+X6\$L9"3%]L#-+'&^,GDJJ@@$'!/IGK76?"7X<W?@NT
MO=0UB99=9U$@RA&W"-02<9[L222>G3'J0#TJO!/''_)R_AC_ '+?_P!#>O3/
M'/B_5_"BV)TKPG?Z^;DOYGV3=^YV[<;MJ-UW''3[IKQ'7-4\8:S\2],\8_\
M"O-<A^PB,?9/(F;?L+'[_E#&=WH>E 'T[5*[T;2[^X6XO--L[B=!M66:!78#
MT!(SW-<KX(\;ZWXIO[FWU7P7J.@QPQ!TFNB^V0YQM&Z->>_>N=UOXD^,O"GB
M'4+?4O!<]_I0F;['=V889CS\NX@,"<=N#0!L_$/X>>&M7\(:I/\ V5:6MY;V
MTD\-U!$L;*ZJ6Y(QD'&"#ZGOS7-? 34;K5_ASJ>EW$CR+:S/# 6_A1T!VCZ'
M<?QK*UWQWXZ^(>FR:!X>\&WFGP7JF*>[N-V-AX8;RJJH(R#U)&<<UZ=\._!<
M/@7PG#I8=9;IV,UU*O1Y2 #CV   ^F>] 'FW[-5PO]F>(;0\2QSQ.5/7!5A_
M[+7L?B&Y2S\-:K=2D".&SED8DXX"$UXEJ^C>*?A5\1;[Q)X?TF75-#U%F>:"
M!2=H8[BC8!*8;HV,8X]12^(_'7C'XE:8WAOP_P"$+VQBN\)=7,^[ 7()7<5
M4>I))(XQ0!J_LW6K)X2U>Z*D"6^" ^NU ?\ V:O::Y_P1X7B\'>$;#1(W61X
M$)FD48WR,<L?IDX'L!7%_#SQ/X[U;QWK&G^)-/E@TR".1H6>T,05A(H55;'S
M J6/?.,YH Y?Q\RV'[2/A:YDX29+8;CTR9'3_"O?*\O^,W@/4/%6F6.JZ&N[
M5M+8LD:G#2(<'"G^\" 0/<]ZYZU^-7BJVT];&^\!:C-K2*$W!'19'Q]XILR/
MH/S% %37@NI?M3:5!$-QM4C\S'."L32?R(HTQEL/VK;^*3C[0C!,]RUNK_T-
M;_PH\$ZY#K^I^-O%<?E:KJ 810,/FC5B"Q(_AZ  =0,YJ+XN^"M>DU_3?&_A
M2)IM2L0JRPQ+N=MI)5@O\74J1UQCWH ]BKP/P8%U+]IGQ'=1#<ELLX+#D J4
MC/ZYJY)\:O%5Y8&RL/ -^FLN-@)61T1O[VW8"?H3QZFND^#W@*_\)Z9?:GK>
M#K.J.'E4G<T:C)P3_>)8DX]O2@#TRBBB@ HHHH HZMID>KV)M9)9(E+!MT9P
M>*P/^$!M/^@C??\ ?0_PKK:* .!MM(CT7X@:;;132S*T+2;I3DY*R#'Z5WU<
MEJ'_ "4S2O\ KU;^4M=;0 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !12.ZQH7=@JJ,DDX %<+XA^(D%KOMM'"SS=#.WW%^G][^7UK
M2G2E4=HHB=2,%>1UFJZS8:-;>??3K&/X5ZLY] .]>8>(?'=]JV^WL]UI:'C"
MGYW'N>WT'ZUS5Y>W.H7+7%W.\TS=6<Y__4/:M?0/"6HZ\X>-/)M<_-/(./\
M@([G_.:]*GAJ=%<TV<,Z\ZKY8&''')-(L<2,\C'"JHR2?85WWA[X=22[+G6B
M8TZBV0_,?]X]OH.?I78Z%X8T[0(Q]FBWSD8:>3EC]/0>PK9K"MC6]*>AK2PJ
M6LR&VM8+*W2WMH4BB085$& *FHHK@;N=@4444 %%%% !1110 4444 %%%% !
M112%@H)8@ =2: %HK(O/$NF6F1Y_G./X8AN_7I^M8%YXRNI<K:PI"/[S?,W^
M%<]3%4H;L3DD=JS*BEG8*HZDG %8]YXGTRTR%E,[CM$,C\^E<+<WUU>MNN9Y
M)3V#'@?0=JA2-Y7"1HSL>BJ,DUPU,QD]((AS['17GC&\ERMK$D"_WC\S?X?I
M6%<7ES=ONN)Y)3_M-G%:EGX6U*ZPSQK A[R'G\NM;UGX0L8,-<.]PWI]U?R'
M/ZUG[+$U_BV\Q6DSB8XI)G"11L[GHJC)K9L_"FHW.&E5;=/60\_D/ZXKNH+6
M"U39!"D2^B+BI:Z:>717QNY2AW.?L_"-A!AIV>X?W.U?R'^-;D-O#;)L@B2-
M?1% J2BNV%*%/X58I)(****T&%%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 R6&.>)HI45XVZJPR#53^Q=,_Y\;?_O@5>HJ7"+W0%'^Q=,_Y
M\;?_ +X%']BZ9_SXV_\ WP*O44O9P[(5D4?[%TS_ )\;?_O@5<1%C1410J*,
M!0, "G44U&,=D,****H HHHH *AFL[:X_P!=;Q2?[Z U-12:3W R)O#.E39/
MV;8?5&(_3I6?-X+MFSY%U*G^^H;_  KIZ*QEAJ4MXBY4</-X-ODYBGAD'H25
M-9\WA[58,[K-V'JF&_E7I%%82R^D]KH7(CR>6&6%MLL3QGT92*97K3*&4JP!
M!Z@BJ4VC:;<9\RRA)/4JNT_F*PEEK^S(GD/.(;NYM_\ 4W$L?^XY%:$/B75H
M<#[3O'HZ@_KUKIYO".F29\OSHO\ =?(_7-9TW@INL%Z#[.F/U!K/ZKB:?PO[
MF'+)$4/C2Z7_ %]K$_\ N$K_ (UH0^,K%^)8)HS[ ,*Q)O">J19VI'*/]A_\
M<5G3:7?V^?-LYU [["1^='M\53^+\A7DCO8?$.E3XVWB*?1P5_G5^*>*<9BE
M20>J,#7E!&#@]:56*L&4D$="*N.8R^U$?.>M45YE#K&HV^/+O9@!V+;A^1K0
MA\7:G']_R9?]Y,?RQ6\<PIO=-#YT=[17)P^-5Z3V1'NCY_0BM"'Q9I<N-[R1
M'_;3_#-;QQ5&6TBN9&Y15.'5;"XQY5Y"Q/;> ?RJX#D9'2MU)2V8PHHHI@%%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !5:WO[6ZFEA@F5Y(CAP.W^-5M=U'^S=+DE4XE;Y(_J>_X=:X;
M1M0;3=3BN"3L)VR>ZGK_ (_A7)7Q2I5%#[R7*S/2Z*0$, 000>012UUE!111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %1W"/+;2QQL%=D*JQ[$C@U)10!QWPT\%R^ _"K:3/=1W,KW+S
MM)&I4<A1CGV45V-%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 <EJ'_)3-*_Z]6_E+76UR6H?\E,TK_KU;^4M=;0 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 445#=7=O96[7%U,D,2=7<X H
M2N!-6+KOBC3= C(N)/,N",K!'RQ^OH/K7&^(?B++-NMM&!BCZ&Y<?,?]T=OJ
M>?I7!R2/+(TDCL[L<LS'))]S7?1P3>M30XZN*2T@;>O>+-2U]RLK^3:Y^6WC
M/R_CZFLJRL;K4;E;>S@>:9NBH/U/H/>NF\/> [[5=EQ>[K2T//S#]XX]AV^I
M_6O3M+T>QT:V\BQMUC7^)NK,?4GO6]3$TZ*Y8(RA0G5?-,Y/P]\/+>TV7.KE
M;B;J(!_JU^O][^7UKN5544*JA5 P !@ 4M%>;4JRJ.\F=T*<8*T0HHHK,L**
M** "BBB@ HHHH ***.E !169>>(--LLA[@.X_@B^8_X5@7GC.9\K9VZQC^_(
M<G\NG\ZYZF*I4]V)R2.R) !). .I-95YXBTRSR#<"5Q_#%\WZ]/UK@[O4KV^
M/^DW,CC^[G"_D.*K*I9@J@DGH!7%4S%O2"^\AS['37GC*XDRMI D0_O/\Q_P
M_G6#=:A=WK9N;B23V)X'X=*O6?AK4[O!\GR4/\4OR_IUK?L_!MK'AKJ9YF_N
MK\J_XUE[/$U]]ON%:3.*5&=@J*68] !DFMBS\,:G=X+1"!#_ !2G!_+K7=VU
ME:V:[;:".(?[*\GZGO4]=%/+HK6;*4.YSEGX.LX<-=2/.WH/E7_']:W;:TM[
M1-EO!'$/]E<9^M345VTZ-.G\**22"BBBM1A1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110!%-:V]P,3012?[Z _SK.F\-Z5
M-R;4(?5&*_ITK6HJ)4X2^)7%9',S>"[1O]3<S1G_ &@&']*SYO!EXF3#<0R#
M_:RI_K7;45A+!49=!<J/.)O#NJP9S:,P]4(;^59\MO- <30R1GT=2/YUZO2$
M C! (]#6$LNA]F0N0\EJ6&YN+<YAGDC_ -QR/Y5Z3-I&G7'^LLH2?4( ?S%9
M\WA+2Y?N++%_N/G^>:P>7U8ZQ8N1G+0^)-5AZ71<>CJ&_P#KUHP^-+M?]=;0
MR?[I*G^M3S>"NI@O?H'3^H/]*SYO"6J19V+%+_N/C^>*7+BZ??\ ,7O(V8?&
M=F^!-;S1G_9PP_I6C#XCTJ?&+M5/HX*_SXKA9M)U"W_UEG,!ZA"1^8JF00<$
M8-"QU>&DD/F9ZM%<03C,,T<@_P!A@?Y5)7DH)!R#@U<AU;4+?_5WDP'H7)'Y
M&MHYDOM1'SGIU%<##XMU2+&]HI?]],?RQ6A#XUZ">R^I1_Z$?UK>..HO=V'S
MHZZBL*'Q;I<N-[2Q?[Z9_EFM"'5].N/]7>PD^A< _D:WC6IRVDAW1=HI 01D
M$$>HI:U&(S!5+,0 !DD]J2.6.:,21.KH>C*<@_C7/>+M1^SV*V<;?O)_O>R#
M_$_UJGX/U':\FGR-PWSQY]>X_K^=<SQ,565+^KD\VMCKZ***Z2@HHHH ****
M "BBB@ HH) &2<"HFN8$^]-&/JPI-I 2T55;4K!?O7ML/K*O^-1-K>F+UOH/
MP?/\JEU(+=BN7Z*RV\1Z2F<WJ\>BL?Y"HF\4Z0N<7#-](V_J*EUZ2^TOO"Z-
MFBL%O%^F#IY[?1/_ *]1-XSL/X;>Y/U"C^M2\517VD',CHZ*Y=O&L ^[9R'Z
MN!43>-^NVP^A,O\ ]:I>,H+[7YBYD=;17&-XUN#]VSB'U8FHF\9W_P##;VP^
MH8_UJ'CJ/<.='<45P3>+M4/3R5^B?_7J)O%.KMTN%7Z1K_45+S"EYBYT>A45
MYPWB+5GSF];GT51_(5$VMZFW6^G_  ?%2\QI]$PYT>F45Y<VI7[?>O;D_65O
M\:B:XG;[TTA^K&I>91Z1#G/52P498@#WJ)KJW3.ZXB7'7+@5Y422<GDT5#S)
M](_B+G/4&U/3T^]?6P/O*O\ C43:YI:];Z'\&S7FE%2\QGTB@YV>C-XDTA>M
MXOX(Q_I43>*M)7.)G;Z1G^M>?5(L$K_=B=OHI-3_ &A5>R0<[.X;QAIBYP)V
M^B#^IJ)O&EB/NV]P?J%']:Y%=/O7QML[AL],1,?Z5*NC:D_2PN/QC(_G1];Q
M#V7X!S,Z1O&L/\-E(?JX']*B;QN?X; #ZRY_I6*OA[5FZ64GXD#^M2KX7U<]
M;4+]9%_QH]OBWLG]W_ "\B^WC6Y.=MI$/3+$U$WC/4#G;#;*/]UC_6HE\(ZH
MW585^KU!J/A^ZTNU$]Q+!@MM"JQ+$_E2E/%I7=["O(@U+5KK57C-R5Q&"%5!
M@<]ZI4@I:XY2<G>6Y)W7A74?M>G?9W;,MO\ +]5[?X5OUYIH^H'3=3BGR?+/
MRR#U4]?\?PKTH$, 000>017M8*M[2G9[HUB[H6BBBNPH**** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@#DM0_Y*9I7_7JW\I:ZVN2U#_DIFE?]>K?REKK: "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ IKNL:,[L%11EF8X 'K0[K&C.[!4499F. !ZUY3XQ\8OK$C6%@
MY6P4_,XX,Q_^)]JVHT95961E5JJFKLNZY\1+G^TU72-@M86^9G3/G?X#Z<UV
MV@Z]::_8"XMSM=>)8B?FC/\ AZ&O#@,5)!=7-H7:VGEA+J4<QL5ROH<=J]&I
M@X2BE'1G%#$R4KRU/6?$/CC3]&WP08N[P<;$/RH?]H_T'Z5Y?J^N:AK=QYU]
M.7Q]V,<(GT%4(XWED6.-&=V.%51DD^PKO/#WPZEFV7.LDQ1]1;H?F/\ O'M]
M!S]*(PI897>XG*I7=EL<EI&AZAK=QY-C 7Q]Z0\(GU->H>'O ^GZ-LGGQ=W@
MYWN/E0_[(_J?TKH[6TM[*W6WM84AB3HB# %35QUL7.IHM$==+#1AJ]6%%%%<
MAT!1110 4444 %%%% !16?>:WIUCD37*%Q_ GS-^0Z?C6!>>-"<K96V/]N4_
MT'^-85,32I_$Q.21U]9UYKNFV61)<JSC^"/YC^G3\:X*\U>_OLB>Y<J?X <+
M^0JEUKBJ9CT@OO(<^QU=YXTD;*V=L%']^4Y/Y#_&L"[U6^OL_:+EW7^[G"_D
M.*L6?A_4KS!2W,:'^.7Y1_C6]9^#(4PUY<-(?[D8VC\^O\JQY<37WV^Y"]YG
M' $D #)/85J6?AS4[S!$!B0_Q2_+^G7]*[RTTVSL1BVMHXS_ '@,G\SS5JMZ
M>7+[;^XI0[G,6?@VWCPUW.\I_NI\H_Q_E6]:Z?:62XMK>./W Y/X]:LT5W4Z
M%.G\**22"BBBM1A1110 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 %%%% !1110 4444 %%%% !1110 4444 %%%% !4
M4MO!.,30QR#T=0?YU+10U?<#+F\.:5/G-HJGU0E?Y5G3>#+-\F&XFC/^UAA_
M2NEHK&6'I2WBA61Q4W@N[7_4W,,@_P!H%3_6LZ;PWJL/6U+CU1@W_P!>O1J*
MYY8"D]KH7(CRF:VN+<XF@DC_ -]"/YU%7K9 (P>15.;2M/N,^;9P,3WV '\Q
M6$LM?V9$\AYI%<30',,TD9]48C^5:$/B+58,8NV8>C@-_.NKF\)Z7+G8DD1_
MV'_QS7,Z]H\&D/$L=RTCR9.QE' ]<UA/#UZ"YKZ>3$TT9][>SZA=-<7# N0!
MP,  4R">2UN(YXCAXV#"HZ*Y>9M\W4DZ=O&LW\-E&/JY-1-XTOC]VWMQ]0Q_
MK6)8V,NH7(MX"GF$$@,<9Q6PO@[4CUDME^KG_"NN-7%5%>+;*O)C6\8:FV<"
M!?HA_J:B;Q5JS9Q.B_2,?UJXO@N\/WKF ?3)_I4J^"9#C=?(/7$>?ZU7)C'W
M^\=I&2WB35VZWC?@BC^E1-KFJ-UOIOP;%= O@E!]Z_8_2+']:E7P7:?Q74Q^
M@ H^KXI[M_>%I'*MJ>H/]Z^N3]96_P :A:ZN'SNGE;/7+DUVJ^#M-'62Y;ZN
M/\*E7PGI2]8Y6^LA_I1]2KO=_B'*S@2Q8Y8DGU-)7HB^&-(7'^B9([F1O\:E
M70-*7I91_CDTUEU3JT'(SS:BO3ETC35Z6%M^,0-3+8VB_=M8!](Q5++9=9!R
M'E=/6*1\;8V;/3 S7JRQQIC:BKCT&*=5++>\OP_X(<AY8MC=O]VUG;Z1DU*N
MD:DW2PN?QB(KTZBJ66QZR'R'FR^']5;I92?C@5*OAC5VQ_HN![R+_C7HE%6L
MNI]6PY$< OA+56QE(E^L@_I4J^#=1/66V7ZN?\*[JBJ6 H^8^1'%+X+N_P"*
MZA'T!-3+X)<_>OU'TBS_ %KKZ*I8&AV#E1RJ^"8AC=?.?7$8']:E7P79C&ZY
MG/KC _I72T52PE%?9#E1SZ^#M-'5[AOJX_PJ5?"FE#K%(WUD-;=%4L-17V4/
ME1DKX:TA>EF#]9&/]:E70=+7&+&+CU&?YUHT5:HTUM%?<%D4UTG3DQML;;CO
MY2_X5*ME:K]VVA'TC%3T52A%;(8BHJ_=4#Z"EHHJ@"BBB@ HHHH *X#Q1J/V
MS5#"I_=6^4'NW<_T_"N_JG)I.GRR-))9P,['+,4&2:Y\32E5ARQ=A25SS'(I
M<BO2_P"Q=,_Y\;?_ +X%']BZ9_SXV_\ WP*X/[.GW1'(SS/(KO/"FH_:]-^S
MN<R6^%^J]O\ #\*T/[%TS_GQM_\ O@5/;V5M:;OL\$<6[[VQ<9K?#X2=&?-?
M0<8M,GHHHKT"PHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** .2U#_ )*9I7_7JW\I:ZVN2U#_ )*9
MI7_7JW\I:ZV@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBLC5/$^CZ1E;J\3S1_RRC^=_P A
MT_'%.,7)V2$Y**NS7IKR)$A>1U1%Y+,< 5YMJGQ-GDW)I=HL2]I9_F;_ +Y'
M _,UQVH:QJ.JONOKR6;G(5F^4?0#@5V4\%.7Q:'-/%P7PZG9^/\ Q+;WEK#8
MZ;J"R)N/VA8\X;IM^;H1UX^E<",8XI88)KF4101/+(W1$4L3^ K9F\(:Y:Z8
M^H3692).63<"X'K@=J[X1A1BH7.*;G5;E8QJ*0'(K3T+0KOQ!?BVMAMC7F64
MCY4'^/H*UDU%79"3;LB]X)M=1F\202Z>-JQ,#.Y'RA#U!^HZ5[-5'2=)M-%L
M$M+1-J+RS'[SGN2?6KU>+B*WM9W1ZE&E[.-F%%%%8&P4444 %%4[O5;&QR+B
MY16'\ .6_(<U@7GC1!E;.V+'L\IP/R'^-8U,13I_$Q-I'5U1O-8L+'(GN4##
M^!?F;\A7!WFNZC>Y$MRP0_P)\H_3K^-9U<-3,?Y%]Y+GV.NO/&@Y6RML_P"W
M*?Z#_&L"\UK4+[(FN7V'^!?E7\AUI;/1-1OL&&V<(?XW^4?KU_"M^S\%J,->
M7)/JD0_J?\*Q_P!IK^GW(GWF<A6E9Z#J5[@QVS*A_CD^4?KU_"N\L](L+'!M
M[9%8?QD9;\S5VMZ>7?SO[BE#N<K9^#(UPUY<EC_<B&!^9K>M-+L;$#[/;1HP
M_BQEOS/-7**[:>'IT_A12204445L,**** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ 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 **** &NZQHSN0JJ
M"23V%>9ZI?-J.HRW+9VDX0'LHZ5Z7+$D\+Q2#<CJ58>H-9'_  BND_\ /!_^
M_C?XUQXNC4K)*.Q,DV<!17?_ /"*Z3_SP?\ [^-_C1_PBND_\\'_ ._C?XUQ
M?V?5[HCD9PD$[VMS'/$</&P85Z=9W4=[9Q7,?W9%S]/45F?\(KI/_/!_^_C?
MXUIVEI#8VRV]NNV-<X&<]>:Z\)0J46^9JS+BFB>BBBNXH**** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ 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 **** .2U#_DIFE?
M]>K?REKK:Y+4/^2F:5_UZM_*6NMH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHILDD<,9DE=41>2S' 'XT .HKE=
M3\?Z+8;D@D:\E':$?+_WT>/RS7&:G\0M8OMR6Q2RB/:/E_\ OH_T KHIX6I/
MI8PGB*<>MSU.^U*RTV+S+VZB@7MO;!/T'4_A7'ZI\2[*'*:;;/<M_P ])/D3
M\NI_2O,III;B4RSRO+(W5W8L3^)JWIVC:CJK[;&SEFYP6 PH^K'@5VPP=."O
M-W.:6*G+2"+VI^+]:U7*S7C1Q'_EE!\B_IR?Q)K#KT#2_AE,^U]4O%C7O%!R
MW_?1X'Y&NSTSPQH^D8-K91^:/^6LGS/^9Z?ABG+%4::M!?<)8>I-WD>4Z7X0
MUK5=K16C11'_ ):S_(O^)_ 5V>E_#2Q@P^I7+W+=XX_D3\^I_2NZHKDJ8RI+
M;0Z88:$=]2K9:;9:;%Y=E:Q0+WV+@GZGO5HC(P:**Y6V]6;I6V//?$'@"*;5
M8I;"YM[6*X?#Q2-C![[!W^G^1VFDZ3::+8):6B;47EF/WG/<D^M<3X@U,W^K
M,\3GRX3MC(/IU/Y_TKMM'U :EIL5QD;\;9!Z,.O^/XUC#'NO)TF]%MYF4(04
MFTB]15:ZU&SL1FYN(X_8GG\NM8%YXS@3*VENTI_O.=H_+K_*BI7IT_B9JVD=
M152[U.RL0?M%S&A_NYRWY#FN#O/$6IWF0UP8T/\ #%\H_/K^M99))R3DFN&I
MF*^POO)<^QV5YXSB7*V=NSG^_(<#\A_]:L"\U_4KW(>Y9$/\$?RC].3^-0V>
MDWU\1]GMG93_ !D87\S6]9^"W.&O+D+_ +$0R?S/^%8<V)K[;?<B?>9RE7K/
M1M0OL&"V<J?XV&U?S-=Y9Z'IUE@Q6R%Q_&_S']>GX5HUM3R[^=_<-0[G(V?@
MOHU[<_\  (A_4_X5OV>C:?8X,-LF\?QM\S?F:OT5VT\-2I_"BU%(****W&%%
M%% !1110 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 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 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 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 <EJ'_)3-*_Z]6_E+76UR6H?\E,TK_KU;^4M=;0 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 454O]4L=,C\R]NXH%[;VY/T'4_A
M7':I\3+2'<FF6KW#=I)?D7\NI_2M(49U/A1G.K"'Q,[RL;5/%6C:3N6YO$:4
M?\LHOG;Z8'3\<5Y3JGBS6=6W+/>,D1_Y90_(OTXY/XYK$ZUVT\!UFSEGC/Y4
M=]JGQ-N9=R:9:+"O:2;YF_+H/UKC;_5M0U23??7<LYZ@,W ^@Z#\*T],\&ZW
MJFUH[0PQ'_EI/\@_+J?P%=GI?PUL+?:^HW$ET_=$^1/\3^8K;GP]#;<SY:U7
M?8\Q@MY[J416\,DLAZ)&I8G\!75Z7\.]7O=KW92RB/\ ?^9_^^1_4BO4K/3[
M/3HO*L[:*!/2-0,_7UJS7/4QTG\"L;0PD5\3N<QI?@+1-.VO)";N4?Q3\C_O
MGI^>:Z5$2- B*JJHP%48 IU%<<YRF[R=SJC",=(H***IW.JV%IGS[N)2.J[L
MG\AS6<I**NV47**YNY\964>1;PRS'U/RC_']*R+GQ?J,V1"L4 ]57<?U_P *
MYIXVC'K?T)<D=WTK"U_6X+73Y8K>X1[B3Y $;)7/4G'2N*N+^[NS_I%S+(/1
MF./RJN*XZN8.2<8*Q+F JQ!?75K$\4%Q)&CG+!#C-04AKSDVM40!)8DDDD]2
M:M6FF7M\1]FMI''][&%_,\5UWAW3M+GTZ*Z2W5YNCF3YL,/;H/7\:Z(  8'
MKT:. YTI2EH^Q:@<=9^#)6PUY<J@_N1C)_,__7K?L] TVRP8[97<?QR?,?UZ
M?A6E17?3PU*GLBU%(****W&%%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !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 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !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 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 <EJ'_ "4S2O\ KU;^
M4M=;7):A_P E,TK_ *]6_E+76T %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%8FJ>+-&TG<L]XKRC_EE#\[?3C@?CBJC&4G:*N*4E%7;-NF2S1P1M)-
M(D<:\EG8 #\37FFJ?$R[EW)IEJD"]I)?G;\N@_6N.O\ 5+_4Y/,O;N6=NV]N
M!]!T'X5UT\#.7Q:'-/%Q7PZGJFJ?$'1K#<ENSWLH[1<+G_>/],UQ>J?$'6;_
M ');LEE$>T7+8_WC_3%<S;VMQ=S"*VADFD/1(U+'\A76:9\.=6O-KWCQV49[
M-\[_ )#C\S74J-"CK+\3G=6M5TB<C+-)/(TDTCR2-R6=B2?Q-7-.T34M6?%C
M9RRC."X&%'U8\5ZMI?@31-.VL\!NY1_'<?,/^^>E=(JJBA44*H&  , 5G/')
M:01<,(WK-GG&E_#*1MKZI>!!WB@Y/_?1_P #79Z9X;TG2,&TLHUD'_+5_F?\
MST_"M6H+B\MK49N+B./_ 'F KAJXB<OB>AU0HPALB>BL&Y\6Z;#D1&2=O]A<
M#\S61<^,[I\BWMXXAZL2Q_I7#/%T8=;^A;DCM:K7.HV=I_Q\7,49]"W/Y=:\
M[N=9U&[SYMW*0?X5.T?D*HURSS%?8C]XG,[JY\8:?%D0K+.>Q VC]>?TK(N?
M&-]+D0110CU^\?\ #]*P[>SN;HXM[>23_=4FM>V\):E-@R".!?\ ;;)_(9K#
MV^)J_#^!-Y,S+G5+Z[SY]U*X/\.[ _(<54KM;;P9:I@W%Q)*?10%']:V+;1M
M.M,&*TB!'\3#<?S-..!K3=YO]1\K>YYW;:?>7?\ Q[VTL@]0O'Y]*V+;P?J$
MN#,T4 [@G<?TX_6NZHKJAE]-?$[C4$</J^A66C:?O>:2:YD.U!PJ^YQ_]?O7
M.BO3K_2K34Q']JC+^7G;AB,9Z]/I5'_A%=)_YX/_ -_&_P :RK8&4I?N[)"<
M.QP%%=__ ,(KI/\ SP?_ +^-_C1_PBND_P#/!_\ OXW^-9?V?5[H7(SGO"FH
M_9=1-J[?NKC@>S=OSZ?E7=UD1>&M+AF25(&W(P9<N3R/QK7KT,+3G2ARS+BF
MD%%%%=)04444 %%%% !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 4444 %%%% !1110 4444 %%%
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 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 <EJ'_)3-*_Z]6_E+76UR6H?\E,T
MK_KU;^4M=;0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 444R::*WB:6>5(HUZN[!0/Q- #Z*
MY+5/B%H]CE+8O>RCM'PO_?1_H#7&:GX_UJ_RD$BV<1[0CYO^^CS^6*Z:>$JS
MZ6,)XBG'K<]4O]6T_2X]]]=Q0#J S<GZ#J?PKCM4^)MM%N33+1IF[23?*OY=
M3^E>:22R32&25V=VY+,<D_C5_3="U/5F LK.65>F_&$'_ CQ79'!TX*\W<Y9
M8J<M((L:IXJUG5MRW%XZQ'_EE%\B_D.OXYK& ). ,DUZ'I?PQ8X?5+W'K%;C
MG_OH_P"%=C8Z'HNA('@MH(2/^6TARW_?1HEBZ--6@@6'J3=YL\KTOP7K>J89
M;4V\1_Y:7'R#\NI_*NTTSX;:=;8?4)Y+M_[B_(GZ<G\ZW[GQ-I=MD>>96':)
M<_KT_6L>Y\:L<BUM /1I6S^@_P :\ROFRVYK>AT1H4X;ZG3VEC:6$/E6EM%!
M'_=C4#-/FN8+==T\T<8]78"O/;GQ%JESD&Z:-?2(;?U'-9KNTC%G8LQZDG)K
MRZF9+[*OZFO.EL=]<^*M+M\A9'F;TC7^IP*R+GQI,V1;6J)_M2'<?R&*YF.*
M29]D4;NWHJDFM2V\,ZI<X/D")3WE;'Z=?TKG^M8BK\'X(7-)D-SKVIW61)=N
MJG^%/E'Z5GDEB2223U)KKK;P4HP;J[)]5B7'ZG_"MBV\.Z7;8(M5D;UE.[]#
MQ36#KU-9O[Q\K>YY[#;SW#;8(9)&]$4FM6V\*ZI<8+1I"OK(W]!DUWZ(L:A4
M4*HZ # IU=$,N@OB=QJ".6MO!<*X-S=._P#LQC:/S.:V+;0=,M<&.T1F'\3_
M #']:T:*ZX8>E#:)220@ 4    = *6BBMAA1110 4444 %%%% !1110 4444
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 %%%% !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 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110!R6H?\E,TK_KU;^4M=;7):A_R4S2O
M^O5OY2UUM !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 452U#6-.TI-U]>10\9"LWS'Z <FN-U3XFP1Y33+-
MI6[2S_*O_?(Y/YBM84:E3X49SJPA\3._K#U/Q=HNE96:\624?\LH/G;].!^)
M%>4:IXHUC5\K=7C^4?\ EE'\B?D.OXYK) +,%4$D\ #O79# ]9LY9XS^1'<Z
MG\2[V;*:;;);+_STD^=_RZ#]:X^^U*]U*7S+VZEG;MO;('T'0?A5BUT6YGP9
M&2W3UE)S_P!\C)_2MNTTO1K/#2Q3W\@[2-Y4?Y#)/YBE/&8+"_:5_+5F5JM7
M<YBVM+F]F$-K!)-(?X8U+']*ZO3OAWJ4ZB749HK&'J=QW-^0X'YUI#7;J&'R
M;)(+*'^Y;Q!?UZU0FN)[AMT\TDC>KL37F5\_Z4HFL</%?%J;UII/A#1,,["]
MG'\3_O/R ^6K<_C.-%V6=EP. 9#@#\!_C7) %B  23T K0MM!U.ZP8[1U4_Q
M/\H_6O+GC\37>AT1TTBB:Y\3:I<Y'GB)3VB7'Z]?UK+DEDF??+([MZLQ)KIK
M;P7,V#<W2)_LQKN/YG%:]MX5TNWP6C>9O61OZ# J/JN(J_'^+'RMG HC2,%1
M2S'H ,FM*V\.ZI<X(M6C7UE.W]#S7H4-M!;KM@ACC'HB@5+71#+H_;92@<A;
M>"F.#=78'JL2Y_4_X5L6WAG2[;!\@RL.\K9_3I^E:]%=4,+1AM$I10R.*.%-
MD4:1KZ*H I]%%= PHHHH **** "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 **** "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 **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH ***Q?$WBS1O"&F?;]:O%@B)VQJ!N>1O15')
M/Z#O0!JO=6\4\<$D\2329V1LX#-CT'>I:^8_$7Q6T76/BGH'B:.RU'^RM+0H
MZM&@D9SO.5&['=>I'2OH#PIXMTCQGI!U/1IGD@60Q.LB%61P <$?0CID<T ;
ME%17-S!9VTES=31P01*6DDD8*J@=R3P!7G%K\;?#VI>-+3P[IEO<W:W$PA%X
MN%CW'T!Y(]^* /3***Y7QK\0=#\"6<<NJRR//-GR;6 !I),=3@D #W)_.@#J
MJ*\83]H6RAFC;4O"VJ6EG(?EGR&)'J 0 ?P->LZ/K%AKVE6^IZ9<+<6=PNZ.
M1>_8@@\@@\$'I0!>HKB/''Q2T'P-+':7?G7>HR*&6TM@"P!Z%B3A0?S]JY2T
M_:"TQ+^.WUSP]J6E12'Y96^? ]2N <?3/TH ]BHJ*UNH+VTANK65)K>9!)'(
MARK*1D$&I: "BL[7==TWPWI$^J:K<K;VD(^9SR2>P '))]!7E$O[0UF=\]GX
M5U2?3T.#<LP7 ^@!'ZT >T45S7@SQWHOCK3GN])E</$0L]O,H62(GID D8.#
M@@D58\5^+]'\&:0=1UBX,<9.V.-!NDE;^ZH[_H!W- &[17BQ_:&M$VW#^%-4
M73F.!<EAR/88Q_X]7J'ACQ3I7B_1H]4TBX\V!CM96&'C8=58=CS_ (9% &S1
M110 4444 %%%% '):A_R4S2O^O5OY2UUM<EJ'_)3-*_Z]6_E+76T %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 45PWC+QI?^'M6BLK.WMG#0B1
MFF5B<DD8&"/2N>_X6AKG_/II_P#W[?\ ^+K)U8IV.VG@*TX*:M9GK5%><P^.
M==ET\SFVL!*1E%\M\8_[[K+_ .%H:Z/^733_ /OV_P#\72]O#7RT,J.'E6;C
M3:=O,]:HKA?!_C;4-?UA[*\M[9%$)D#0A@001UR3ZUN:IXQT32MRR7:S2C_E
ME!\Y_P !^)K:G>I\"N9XBF\/+EJ:&]4<]Q#;1&6>6.*,=7D8*!^)KSB_^(&K
M7N4TJQ%NAZ2.-[?KP/UKF[BVU/5)?-U"\>1O]MBV/H.@_"M)*E3_ (TU'RW?
MW(XW7_D5ST'5/B)I%EN2U#WLH_N?*G_?1_H#7%ZGX]UO4,I%*MG$?X8!AO\
MOKK^6*JQ:-;IRY>0^YP*N1V\,/\ JXD7W YK&6:8.E_#BY/S_K]#)^VGN['/
M"VO+IS(4D=FY+OW_ !-6XM%E;F214]AR:VZMVVEWUWCR+65P?XMN!^9XKEJ9
MWBJFE))>BN_Z^0HX>/74Q8M(MDY8-(?<_P"%7(X8X1B.-4'L,5TUMX.OI<&>
M6*$>GWC_ (?K6O;>#]/BP9FEG/<$[1^G/ZURRAC,1_$;^;_0WC22V1PM7K;1
MM1N\>5:2D'^)AM'YFO1+;3K.T_X][:*,^H7G\^M6:N&7+[<ON-% XJV\&73X
M-S<1Q#T4%C_2M>V\):;#@RB2=O\ ;; _(5O45U0PE&'2_J-11!;V=M:C%O;Q
MQ_[J@5/1170DEHB@HHHI@%%%% !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 %%%% !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 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
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
M **** "BBB@ HHHH **** "BBB@ 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 **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ K@M8^+GASP[XPNO#VM?:;-X5C871B+Q/N4-_
M#EAUQTQP:[VL;Q#X>T;6[*1M4T:UU%XHV,8EA#N.,X4XR,^U ',ZE\:/ NGV
M+W$>LK=R!<I!;QN7<^G( 'XD5Q?P$T34)M5USQ?=6IMK;4"R6Z'@/N?>Q _N
MC@ _6K7P5^'NFCPD]]XA\.Q/J37C^7]OMOF5 % PKCU#'.*]H "J%4  #  [
M4 9.N^*-#\,K VM:G;V0G+"+S6QOQC./ID?F*\"\7>*]!OOCUH&MVNJ02Z9;
MK );E2=J89R<_F*]Y\0^$- \5BW&N:;'>?9MWD[V9=F[&<;2.NT?E6%_PI_P
M#_T+D'_?V3_XJ@#=T/Q?X>\2S2PZ-JUM>RQ*&=(FY4=,X]*\/N;P_"GX]WFH
MZBLBZ/K!D<S*I(V2,&)QWVN.0.<?45[7X?\  _AOPK<S7&B:5%9S3)L=U9F)
M7.<?,3WJ]K?A_2?$=B;+6+""\M\Y"RKG:?4'J#[B@#D?$OQ>\)Z/X>N+VQUF
MTO[PQG[-;V[[V9R.-P'W1GKG''X5@? #PQ<Z9X8O=<OT99M7D5HPXY,2YPW_
M  (LQ^F#WKJ+'X0> M.NTN;?P[ 9$.1YTTLR_P#?+L0?RKM@ H    X % 'S
MAX"U>+X1?$K6_#VON]OIUT0(KA@2N%),;G_9*L02.AZ]#CN/B9\5_#EKX,O[
M+1]5MK_4;^%K>-;9PX17&&9B.!@$X'7./?'?>(?"6@>*X$AUS2X+Q4^XS95T
M]<,I##\#63H_PM\$Z#?)>Z?H$"7"$%'ED>;81T(#L0#[B@#.^#/A:X\+?#ZW
MCO(S'>7LC7<L;#E-P 53[[5&1V)-6?"7Q2T3QCXEOM"L+>\BN+17??,BA)%5
M@I(P2>I'!'2NXK#TCP;X=T'5+G4]+TJ"UO+D%998\Y8$Y(P3@ D \>E 'DGQ
MXTN^TGQ'X?\ '%C&SK9,D4I7HC)(70GV)9AGZ#O7H-E\6_!%YHZZBVO6MN"F
MY[>9L3(<<KLZD_3-=C<VT%[;26UU#'-!*I62.10RL#U!!ZUQ+_!GX?O<F<^'
M8PY;=A;F8+G_ '0^,>V,4 >>_#I+CX@_&;4_'1@>/3+,LEN7'5MGEHOUV98^
MA(]:A^)2W/@+XU:9XW\F233[HIYI0=PGENGIG9@CUY]*]ZT_3K+2K**RT^UA
MM;6(82*% JK^ INI:98ZQ8R6.I6D-U:R??BF0,I_ T <I=?%KP1;:.VI+K]K
M,H3<L$39F8]EV=0?K@5P?P-TN]UCQ'K_ (]OX3&+]Y([<'HQ9][D>PPJ@_7T
MKMX?@U\/X+A9T\.QEU.0'N)G7_ODN0?IBNW@@AM8(X+>)(H8U"I'&H55 Z
M< 4 24444 %%%% !1110!R6H?\E,TK_KU;^4M=;7):A_R4S2O^O5OY2UUM !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 >5?$&W-UXTMHQT^RH6
M/H-S5$JA5  P!P!75>)M#O+W6EO+:W,H,"QD@CC!8XY^M9/_  CVK_\ /DW_
M 'TO^->-BU5G4:2=D5B*OM.5);*QF4&M+_A']6SC[$_YC_&E_P"$>U?_ )\F
M_P"^E_QKE]C4_E?W'/9F+H7AVTU3Q2]K>*YMG@:5=C;<$$?XUU4GPOT1Q\EQ
M?(?^NBD?^@T[P_I&I66LQ3RVI2/:RLQ(X!'U]0*[2O8PR<Z=ZBU\SOCC*JC%
M1=K*QY])\*K,_P"JU.=?]Z,-_A5.3X43#_5:NC?[T!7_ -F->FT5M[&'8T68
M8E?:_!'D\GPLU8?ZJ]LF_P!XNO\ [*:J2?#;Q GW4MI/]V7_ ! KV.BE["!H
MLSKKM]QXC)X#\2QG_D&EAZK*A_\ 9JIR>%=?B'S:1=GO\L1;^5>]44OJ\>YH
MLVJ]8H^>I-(U.$XETZ[3M\T##^E5'1XSAU93Z$8KZ0I&4,"& (/8U/U?S-%F
M[ZP_'_@'S=17T1)IEA,<RV5LYZ_-$I_I5.3POH,OWM(LAV^6%5_E2^KON:+-
MX=8L\#JQ'?WD/^JNYT[_ "R$?UKVF3P-X;E/S:6@_P!V1U_D:IR?#CP\_P!V
M&>/_ '9C_7-3[":V+_M2@]T_Z^9Y;'XCUN(835[X#T,[$?SJY'XV\1Q?=U24
M]_F56_F*[N3X7:,QS'=7R>Q=2/\ T&JDGPIMR/W6K2J?]J$-_44>SJK8/KF#
ME\2_ YJ/XB>(T'S744G^]"O] *N1_%#6U/SV]BX]XV!_]"J])\*;@']UJT3?
M[T)7^IJG)\+M949CNK%_8NP/_H-%JR#GP$NWW6+,?Q5O /WNF0-_NR%?\:N1
M_%>(G][I#K_NSAO_ &45S\GPX\0I]V&"3_=F']<53D\#>)(AEM+<_P"[(C?R
M-'-50>PP$MFOO_X)V\?Q3TDC][97JG_9"-_[,*MQ_$GP^Y^9[F/_ 'HO\":\
MRD\+Z]%][2+T]OEA9OY53DTR_A&9;&Y3O\T3#^E'MJBW#ZAA9;/\3V2/Q[X:
MD_YB04^C1./_ &6KD?BK0)3A=7M!_O2!?YUX,RE6*L"".H-)3^L2[">4TNDF
M?0L>L:9,,Q:C:/W^6=3_ %JVCI(,HRL/8YKYOI58JP9201T(I_6/(S>4+I/\
M#Z1HKYWCU._A_P!5>W*=OEE8?UJY'XGUV(_+J]Z>_P TS-_.J^L+L9O*)])(
M]\HKPZ/QSXDB^[JCGM\T:-_,5<C^(_B)#\TT$G^]"/Z8I_6(F;RJLMFOZ^1[
M+17DL?Q1UE>)+6Q?W",#_P"A5;C^*UP#^]TF)O\ =F*_T-5[>!F\MQ"Z?B>G
MT5YW'\5K<C][I,J_[LP;^@JY'\4=&;B2TOD]PBD?^A4_:P[F;P.(7V3N**Y*
M/XC^'G^]-/'_ +T)_IFKD?CGPW+]W5$'^]&Z_P Q5<\>YF\-66\']PSQ7XM7
MPP+4?8S<O<;L#S-@4+CO@^M<U_PM@_\ 0$_\FO\ ["J/Q'U6PU1],:QNXK@(
M)-WEMG;G;C/Y&N(KFJ59*329Z^%P-&5%2J1U^?<]%_X6P?\ H"?^37_V%'_"
MV#_T!/\ R:_^PKSJBH]M/N=']GX;^7\7_F>KZ%\1%UG68-/;2S!YV0)!/OP0
M">FT>E=O7AW@K_D<]-_WV_\ 06KW&NFC)RC=GD9A0A1J)05E8****U. ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** .2U#_DIFE?]>K?REKK:Y+4/^2F:5_UZM_*6NMH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH :Z)(,.JL
M/0C-5)-(TR88ETZT?M\T"G^E7:*+#4FMF8\GA70)?O:1:#O\L07^55)/ ?AJ
M0<Z:%/JLKC_V:NCHJ>2/8T5>JMI/[SD9/AMX??[J7,?^[+_B#5.3X6:2?]5>
MWJ_[Q1O_ &45W5%+V<.QHL977VV>=2?"B$_ZK5W7_>@#?^S"J<GPJO!_JM3@
M;_>C*_XUZC14^QAV-%F.)7VOP1Y')\+];4_)<6+C_?8'_P!!JG)\._$:?=M8
MI/\ =F7^I%>T44O80-%FE==CPR3P3XCB/S:7*?\ =96_D:IR>'-;B&7TB^ ]
M1 Q'Z"O?Z*GZO'N:+-JG6*/G62PO83B6TG3M\T9']*KU])4R2&*88EB1QT^9
M0:7U?S-%F_>'X_\  /G =:DKO?BA:V]M/IA@MXHBXDW&- N[&WKCK7!5A*/*
M['J4*WMJ:J)6N%%%%2:D]AJ$^EZC#>VQ431'*EAD=,=/QKKH/BCJZ<3VEG*/
M50RG^9_E7*Z3ICZQJ]OI\<BQO,2 S#(& 3_2NDG^&6N19,4EG,/19"#^H%:0
MY[>Z<N(^K.25:U_,VH/BM$<"XTEU]XY@WZ$"M.#XF:#+CS%NX#WWQ C]":\_
MN/!'B.WSNTR1AZQLK_R-9D^D:G:Y^T:?=18[O"P_I5>UJ+<Y_J6#J?"_N9[/
M!XU\.W&-FJ1+_P!= R?^A 5IP:II]U_Q[WUK-G_GG,K?R-?/%%-8A]41+*:?
MV9,^DJ*^=K?4+VUQ]GO+B''3RY67^1K3@\9>(;;&S59SC_GIA_\ T(&K6(75
M&,LIG]F2/=J*\=@^)6OP_P"L-K/_ -=(L?\ H)%:<'Q6N%Q]HTJ)_4QRE?Y@
MU2KP,)99B%LK_,]/HKA+?XIZ6^/M%C=QG_8VN/YBM.#X@^')_O7CPGTDA;^8
M!%6JD'U,)8.O'>#.HHK+@\2:)<_ZK5;,D]C,H/Y&M&.6.9=T<BNOJIR*I-/8
MPE"4?B5A]%%%,D**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "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@ HHH
MH **** "BBB@ HHHH **** "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@ HHH
MH **** .2U#_ )*9I7_7JW\I:ZVN2U#_ )*9I7_7JW\I:ZV@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH X;XB:#J6LG3WT^V,_E>8' 8 C.W'4^QKB/^$*\2_\
M0+D_[[3_ !KW"BLI48R=V=]',*E*"@DK(\/_ .$*\2_] N3_ +[3_&C_ (0K
MQ+_T"Y/^^T_QKW"BI^KQ[FO]JU?Y5^/^9Y1X3\)ZY9>)[*[N[!H8(BQ=V=>/
ME(['U->KT45I""@K(X\1B)5Y*4D%%%%6<Y!/96EU_P ?%K#-_P!=(PW\ZRY_
M"'A^YSOTFV&?^>:[/_0<5MT4G%/<N-2<?A;1R-Q\-O#TV?+2Y@_ZYS9Q_P!]
M9K+G^%5HV?L^J31_]=(@_P#(BO0J*ATH/H;QQN(CM)GE4_PLU)<_9[^UD_WP
MR?R!K+N/AYXCASMM(Y@.\<R_U(KVFBI="!O'-*ZWLSP.?PQKEMGS=)O,#NL1
M8?F,UF2PRP-MEB>-O1U(-?1]-=%D4JZAE/4$9%0\.NC-XYO+[43YOIT<CQ-N
MC=D8=U.#7OUQX?T:ZSYVEV;$_P 7DJ#^>,UF3^ ?#<^3]@,;'O'*P_3.*EX>
M71FT<VI/XHL\E@\1:U;8$.JWB@=%\YB/R)Q6I;_$#Q'!P;Y91Z21*?U !KLK
MCX7:0_,%W>1'T)5A_(?SK+G^%,HR;?5D;T$D)7]032]G56Q7UK!5/B2^:*D'
MQ2U5,">RM)1_LAE/\S6I;_%: X^T:5(GJ8Y@WZ$"L.X^&>O19\MK2<=MDA!_
M4"LR?P5XBM_OZ7*W_7,J_P#(FCFJH/8X&IM;[['H4'Q+T"7'F"Z@_P!^+/\
MZ"36I!XS\.W.-FJPC_KH"G_H0%>*SZ7J%K_Q\6-U#C_GI"R_S%5*/;S6X/*Z
M$M8MGT1;ZE8W6/L][;S9Z>7*K?R-6J^;:M0:E?VN/L][<PXZ>7*R_P C5K$=
MT8RRC^6?X'T117A4'C/Q%;8V:K,?^N@#_P#H0-:D'Q+U^+'F"UF_WXB/_02*
MI8B)A+*JRV:9[#17F5O\5IQ@7.E1OZF.8K^A!K3@^*6E/@3V=Y$?]D*P_F*M
M5H/J82P&(C]D[JBN9@^('AN?@WS1'TDB8?J!BM.#Q%HMU@0ZK9L3_#YR@_D3
MFJ4XO9F$J%6/Q1?W&G138Y$E7=&ZNI[J<BG51D%%%% !1110 4444 %%4M3U
M:QT:U%S?W AA+! Q4G)/; !/:LC_ (3[PQ_T$_\ R!)_\34N45NS2-&I-7C%
MM>ATE%<W_P )]X8_Z"?_ ) D_P#B:/\ A/O#'_03_P#($G_Q-'/'N5]6K?R/
M[F=)17/VWC;P[=W,5O#J(:65@B Q.N2>@R5Q704TT]B)TYPTFFO4****9 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !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 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% '):A_P E,TK_ *]6_E+76UR6
MH?\ )3-*_P"O5OY2UUM !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 %%%% !5:XT^RNL_:+
M.WFSU\R)6_F*LT4#3:V,.X\'>'KG._2H!G_GGE/_ $$BLN?X:Z!-_JQ=0?\
M7.7/_H0-=A14N$7T-HXFM':3^\\\G^%-NV?L^JRIZ"2(-_(BLNX^%FJ)G[/>
MVDH_V]R'^1KU>BH=&#Z&\<QQ"^U?Y'BL_P /O$</W;))1ZQS+_4@UEW'AO6[
M;F72KP =Q"2/S%>_45+P\>C-XYM57Q),^<)(I(FVR(R-Z,,&F5](21QRKMD1
M77T89%9T_AS1;G)ETJS8GN(5!_,<U#P[Z,VCF\?M1_$\#CEDA;=%(R-ZJ<&M
M&#Q)K=M_JM5O !V,Q8?D:]7N/A_X<GY%DT1]8Y6'Z$D5ES_"W2GR8+V[B/\
MM;6'\A4^QFMC7^T<-/XE]Z.0@^(/B.'&Z\24#M)"O] #6G;_ !3U1,?:+&TD
M'^QN0_S-6;CX4SC/V?58W]!)"5_D367/\--?ASY?V6?_ ')<?^A 46JH?-@*
MG;\O\C?@^*UNV/M&E2IZF.4-_,"M.#XE>'YL;S=0?]=(L_\ H)->=3^#?$5M
MG?I4Y_ZYX?\ ]!)K+N-.OK3/VBSN(<=?,B9?YBCVM1;A]1PE3X7]S_X<]M@\
M8^'KG&S5;<9_YZ93_P!" K3@U"RNL?9[RWFST\N56_D:^=J*:Q#ZHSEE,/LR
M9ZS\4O\ D7K3_K['_H#5Y3@>E*UQ,\0B>:1HP<A"Q(!^E%9SESRN=N&H>PI\
ME[B8'I1@>E+14'06](&-=T[_ *^8_P#T(5]!U\^Z1_R'=._Z^8__ $(5]!5U
M8?9GB9M\40HHHKH/("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 **** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH Y+4/
M^2F:5_UZM_*6NMKDM0_Y*9I7_7JW\I:ZV@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** *L^F:?=9^T6-M-G
M_GI$K?S%9<_@OP[<9WZ5"O\ US+)_P"@D5O44G%/=&D:LX_#)KYGE7CKPGI>
MA:7!=V"2H[SB,JS[AC:Q[_2N&KU;XI*3X=M2 <"[&3Z?(U>3[A7%524]#Z'
M3E.@G)W8ZBF[A1N%9G:2V]PUI>07* %H9%D /0D'->OZ%X_TK5]L-PWV*Z/&
MR4_(Q]F_QQ7CL44ES/'#"C/+(P5% Y)/04DT,MO*T4T;QR*<,CJ00?<&KA4<
M-CFQ&%IXA6ENCZ/ZT5X=H7C/5M"VQQR^?:C_ )83'( _V3U'\O:O3="\;Z3K
M>V+S/LMT>/)F.,G_ &3T/\_:NJ%6,CP\1@*M'7==T=)1116IQ!1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110!R6H?\E,TK_KU;^4M=;7):A_R4S2O^O5OY2UUM
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% ",JNI5E# ]B,TS[/!_SQC_[Y%244#NR/[/!_P \8_\
MOD4?9X/^>,?_ 'R*DHH"[&+#$C!EB0$=PHK.UCP]IFNQ;+ZV5V PLJ\.OT/]
M.E:E%)I/1CC.47S1>IY%KOPYU'3]TVG$WMN.=H&)%'T[_A^5<6RLCE74JP."
M",$&OI&L;6_"VE:\A-W;A9\8$\?RN/Q[_CFL)T%O$]7#YI):55?S/+M"\=ZM
MHVV*1_MEJ./+E/*C_9;J/QR*]-T/Q=I.O!4@G\JY/6"7AOP['\*\WUWX?ZKI
M.Z:V'VVV'.Z-?G4>Z_X9_"N3!*MD9!!_*LU4G3=F=<\+A\4N>F[/R_5'TC17
MCNA?$/4],VPWN;ZV''SG]XH]F[_C7I>B^)M+UZ,&SN!YN,M"_P KC\._U&:Z
M(58RV/(KX.K1U:NNYKT445H<@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 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 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 %%%% !1110 4444 %%%% '):A_R4S2O^O5
MOY2UUM<EJ'_)3-*_Z]6_E+76T %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 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 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !7/ZYX-TG70TDL/D7)_Y;P\,3[CH?QY]ZZ"BDTGHRX5)4WS0=F>):[X'U
M;1-THC^U6HY\Z$9P/]I>H_4>]<Y'(\4BR1NR.IR&4X(/UKZ0KF-=\"Z3K.Z5
M$^R71Y\V$<$_[2]#^AKGG0ZQ/7H9I]FLOG_P#C-"^)%_8[8=40WD X\P<2*/
MKT;\>?>O2=)UW3=;A\RPN4D(&6C/#K]1UKQS7/"&K:"6>>'S;8=)XN5_'N/Q
MK%@GFM9EF@E>*5#E71B"/Q%1&K*&DC:K@:&(7/2=O38^CJ*\MT+XF7-OM@UB
M+[1'T\^, ./J.A_3\:]%TW5K#5[?S["Y29.^T\K]1U'XUTPJ1EL>/7PM6B_?
M6G?H7:***LYPHHHH **** "BBB@ 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 **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@#DM0_Y*9I7_7JW\I:ZVN2U#_DIFE?]>K?REKK
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 **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****  @$$$9!Z@U
MR&N_#W2]4W368%C<GG,8_=L?=>WX8_&NOHJ914M&:4JTZ3YH.QX+K7AC5=!<
M_;+<^3G"SQ_,A_'M]#BLZTO;FPN%N+2>2&5>CHV#7T2Z)(C(ZJR,,%6&017%
M:[\-["_W3:8PLISSLQF)C].J_A^5<\J#6L3V*&9QDN6LO\C+T+XFL-L&M0[A
MT^TPKS_P)?\ #\J]"LK^TU*V%Q9W$<\1_B0YQ['T/M7A&K:#J6B3>7?VS1@G
M"R#E&^A_R:@T_4[W2KD7%C<R02>J'@^Q'0CZTHUI1TD76RZE57/1=OR/H>BO
M/-"^)L,NV#68?*;I]HB&5/U7J/PS]*[ZVNH+R!9[:9)HF^ZZ,"#73&<9;'C5
ML/4HNTT2T4451B%%%% !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 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 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 %%%% '):A_R4S2O^O5OY2UUM<EJ'_)3-*_Z]6_E+76T %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 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 %%%% !1110 4444 %%%% !1110!'/!#<PM
M#/$DL3C#(Z@@_4&N$UWX9VUQNGT>7[/)U\B0DH?H>H_7\*[^BIE!2W-J.(J4
M7>#/GK4M(O\ 1[CR+^V>%^Q8<-]#T/X4[2]:U#1I_.L+IXB?O*.5;ZCH:]\N
M[.VO[=K>[@CFB;JCKD5P&N_#)6W3Z+-M/7[/,>/^ M_C^=<TJ,HZQ/8HYE3J
MKDK*WY%O0OB59W>V'5H_LLQX\U<F,_7NOZ_6NXBECGB66&1)(V&5=#D$>Q%?
M/-]I]WIMR;>]MY()1_"XQGW'J*MZ/XBU/0I=UC<LJ$Y:)OF1OJ/ZCFG&NUI(
M5?+(37-1=OR/?J*XO0OB-IVH[8=0 L;@\;F.8V/U[?C^==FK*ZAE8,I&00<@
MBNB,E+5'CU:,Z3M-6%HHHJC(**** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH 1F5%+,P50,DDX KR_P#X3ZYF^.$>@P:Q:?V$EEN= 8RK
MRX)X?KGD< ]NE<K\0[J^\<_&.S^'[:A+9:3&%,PC./-;RO-)(Z$XP!G(!YKI
MYOV??!,EIY48U&*3'$RW.6S]",?IWH ]4JC?:UI6F2+'?ZG9VCN-RK/.L9(]
M0":S?!?AJ7PCX9@T:349-0$#OY<TB[2$+$A<9/0<?X5XO\6=,MM;^/'AS2[P
M,;:ZM[>&0*V#M,L@.#VH ]P_X2SPW_T,&E?^!L?^-:=M<V]Y;I<6L\4\#C*2
M1.&5OH1P:\T_X4#X&_YX7W_@4?\ "N^\/Z#8^&=#MM'TU&2SM@PC5VW'EBQR
M?J30!;O+VUT^V>YO;F&V@3[TLT@15^I/%9FG^,/#6JW7V73]?TRZN,X$4-TC
M,WT .3^%>)&&?XT_%J^L[RZE3PWHY8+#&V-X4[01VW.<G/7:,5O>/?@EX<M_
M"EWJ'ANUFL=1L8C<*%G>02A1D@[B<' .",<T >TT5YW\&/%MSXL\"1M?RF6^
ML93:RR,<M(  58^^#C/<J37HE !6%=^-?"MC=&UN_$>DPS@X:.2\C!4^_/'X
MUY]\=?%VH:98:=X:T>5XKW5W(D>-L,(\A0H/;<QQGT!'>K6D? /P=;:'%;:G
M;2WFH&,>;=BXD3#XY*J"!C/3(/O0!ZA!/#<P)-;RI+$XRKQL&5A[$=:>S!5+
M,0% R2>U?/\ \/)[[X=?&"\\!SW4D^EW9)@\P\!MF]''H2,J<=3CTK1^,>MZ
MGK_B_2?AWI%R;=;PHUVX)PVX\*V.=JJ"Q'?(]* /43XY\)K=_93XFT@3YQL^
MVQYSG&.O7VZUO*RN@=&#*PR"#D$5YBWP#\$'1S9K:W*W>S:+[[0_F;O[VW.S
M\-M<W\$=:U+1O%&M> -4G,JV1=[8L?NE&"LJ_P"R00P';!]: /<Z*** "BBB
M@ HHHH Y+4/^2F:5_P!>K?REKK:Y+4/^2F:5_P!>K?REKK: "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@"K?
MZ;9:I;&WOK:.>(]G'3W!Z@^XKSO7?AE+'NGT6;S5Z_9Y3AO^ MT/XX^M>G45
M$H1EN=%#%5:+]QZ=NA\YW-K<64[074,D,J]4D4@BM31/%6JZ"P%K.6@SDP2_
M,A^@[?A7M.J:-I^LP>3?VJ3 ?=8\,OT(Y%><:[\-+RTW3Z3(;J(<^2^!(/IV
M;]*YI4I0UB>Q2Q]&NN2JK>NQU6A>/]*U?;#<-]BNCQLE/R,?9O\ '%=9UKYP
MEAEMY6BFC>.1#AD=<$'W!K>T+QGJVA%8TE^T6H_Y83'( _V3U'\O:JA7Z2,:
M^5I^]1?R/<:*YO0O&VDZWMB\S[+='CR9CC)_V3T/\_:NDKI4DU='D5*<Z;Y9
MJS"BBBF0%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% 'DGQ0^&6K:S
MKEMXM\*77DZW;!=T1?89"OW65CP&QP0>"/UQ;#XWZ]X;N8[#Q[X9N('Z?:88
MS&S8[[&^5OJK >U>W6]]:74L\5O=0320-LF2.0,8V]& Z'V-9GBRQT?4/"^H
M0Z\L1TX0LTKR ?NP!]X'L1V- %G0]=TWQ)I,.J:3=)<VDH^5UX(/<$'D$>AK
MRGXF>"/&&J?$K2_$WAJSMY_L5O%L:695 D1W;!!(R.15']FDW7]E>(0X;[()
MX3$>Q?:V_P#39^E>Z @YP0<'!Q0!X9J7COXN^#8!?>(/#MA<Z<K#S98P#M'^
M]&YV>F67%>H^$?&6G^,O"ZZUIZLN-RRV['+12 <J?T(/<$58\87=E8^#=9N-
M19!:+9RB0.>&RI 7ZDD >YKR_P#9MMIT\*ZQ<OGR);P)&".,J@W'_P > _"@
M"C^S4N^+Q-<MS)));@G_ +^'^M>Y7L:S6-Q$XRKQ,I'L17@WP%G&@>-?%'A>
M[/EW)8;$;C)A9U8#UX<'Z"O9?%^LP^'_  AJNJ3R!!!;.4R<;G(PJCW+$#\:
M /(_V:'8Z=XBC.=BRP,/J0^?Y"O=Z\<_9TTJ:T\%7^H2H56]N_W61]Y44#/_
M 'T6'X5ZU!J%E<W,UM;WEO+/"<2Q1RJS1G_: .1^- 'AGQ*/VG]H?P=;N/DC
M%H0#T)\]S_0?E7OE> _&UGT+XH>$?$TB'[-%Y89@.OE3;V'Y/7O<4L<\*31.
MKQ2*&1U.0P/((- '@GQ 'D?M)>%I(Q\T@M=V/>5U/Z"G0'[5^UI*SCB%3M!]
MK3']2:2ZE_X2W]I^U%F?-M](4++(O(7RU);_ ,B-M^M1^)9QX7_:>T_5;PB.
MUOEC_>-PN'B,&2?9ADT ?0-> Z8/L_[6%['&/E</NQ[VP8_K7OQ( ))P!U)K
MP+X=2?\ "5?'_P 1^(K8^98VZR*LPY5LXC3!]U5B/84 >^T444 %%%% %+5-
M4M](LC=W(<QA@OR#)R:P_P#A/]&_NW7_ '['^-=0RJXPR@CT(IGD0_\ /)/^
M^10!PT&L6VM_$'3;FU$@C6!HSO7!R%D/]17>UR%\BI\2]*"J%'V5N ,=I:Z^
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@#+UCP]IFNQ;+ZV5G PLJ\.OT/\ 3I7FNN_#G4=.
MW3:<3>VXYV@8D4?3O^'Y5Z]16<Z<9;G50QE6C\+T['S<RLCE74JP."",$&NH
MT+QYJVC;8I7^V6HX\N5OF4?[+=1^.17I^M^%=*UY";JW"SXXGB^5Q^/?\<UY
MIKO@#5=)W36R_;;4<[HE^=1[K_AFN=TYTW='KT\7A\4N2HK/S_1GI&A^+M)U
MX*EO/Y5P1S!+\K?AV/X5NU\W E6!!((/Y5U^A?$/4],VPWN;ZV''SG]XH]F[
M_C5PK])'-B,K:UHOY'L5%9&B^)=+UZ/-E<#S<9:%_E=?P[_49%:]=":>J/)E
M"4'RR5F%%%%,D**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ 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 **** "BBB@#QWXA?">V\[6?&6E:
M]?:5>)!+=SK'RKE4+$ @J5SCU/T[5S7@GX::E\1O"]CK?B3QCJ\]G.[XLWD:
M0X1RN=[L0.0?X>*]_OK*VU*PN+&\B$MM<1M%+&2<,I&"./:H]*TJQT/3(--T
MVV6VLX 1'$I)"@DD]>>I)H AT+0=-\-:/!I6DVRV]I"#M0$DDGDDD\DGUKSS
MQ#\)]9F\2WVN^&/&%YI,U])YDUO\VPL<9.58<<="#]:]5HH \5D^"WB/Q%)#
M_P )?XYNKRWC;<;>%68?@6.%/OM->MZ+HNG^'M(M]+TNW6WL[==J(.?<DGN2
M>2:OT4 >9>.OA#!XFUM?$&BZI+HVMK@M-$#B1@,!LJ05;'&1Z=*PO^%,>)=?
MN+=/&'C:XO["!MPMXBS%NW5N <=\$_SKVJB@"KIVG6FDZ=;Z?80+!:VZ".*-
M>BJ/\]:\]\&_"B7PK\0-3\2OJXN([H3". 1%6'F.&^8Y.<8_'KQTKTRB@#G_
M !CX/TSQMH+Z5J:L!G?#,F-\+CHP_D1W%>80?!_QWIUL=,T[X@S1Z7@JJ9D4
MJOH%!(7J> :]OHH XWP!\.=*\ 6,J6LCW5]<8^T7DJX9\= !_"OMD^Y/&'>/
M_AWI?Q TR."\=K:[@)-O=QJ&9,]01_$IXXR.G6NPHH \0_X5!X\GLSI-S\0I
MFTD@(R9E8E.FW:3TQCC=BO3?!G@O2O ^B#3=,5F+'?//)]^9_4^WH.WYFNBH
MH **** "BBB@ HHHH Y+4/\ DIFE?]>K?REKK:Y+4/\ DIFE?]>K?REKK: "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "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 Y[7?!NDZ[NDDB\BZ/_ "WA&"3[CH?Y
M^]>9Z[X(U;1-TOE_:K4<^=",X'^TO4?R]Z]MHK*=*,CMP^.JT=+W79GS?'(\
M4BR1NR.IR&4X(/UKMM"^)-_8[8=40WD X\P<2+_1OQ_.NRUWP)I.L[I8T^QW
M1Y\V$<,?]I>A_0UYGKGA#5M!+//#YML.D\7*_CW'XU@X3IZH]6-?#8Q<LUKY
M_HSV/2==TW6X?,L+E)"!ED/#K]1UK1KYQ@N)K699K>5XI4.5=&((_$5WFA?$
MRYM]L&L1&XCZ>?& ''U'0_I^-:0KIZ2.+$97..M+5?B>I453TW5K#5[<3V%S
M'.G?:>5^HZC\:N5T)W/+<7%V84444""BBB@ HHHH **** "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 **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH Y+4/^2F:5_U
MZM_*6NMKDM0_Y*9I7_7JW\I:ZV@ 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 **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ I" 000"#U!I:* ./UWX>Z7JFZ:S_ -!N3SE!F-C[KV_#]:\TUKPSJF@N
M?MEN?*SA9X_F0_CV^AQ7O=-=$EC:.1%=&&&5AD$>]93HQEMH=^'S"K2TEJCY
MVM+VYL+A;BTGDAE7HZ-@UZ!H7Q-8;8-:AR.GVF$<_P# E_P_*M37?AO87VZ;
M3&%E.>?+QF-C].J_A^5>;:MH.I:)-Y=_;/&"<+(.4;Z'I_6N>TZ1ZBGAL:K/
M?\3WBRO[34K87%G<1SQ'^)#G\#Z'VJQ7SQI^IWNE7(N+&YD@D[E3P?8CH1]:
M]$T+XFPR[8-9B\I^GVB(94_5>H_#/X5M"NGOH>?B,LJ4]:>J_$]#HJ*VNH+R
M!9[:9)HFY5T;(-2UN>8U;1A1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%4=9NI+'1+Z[AQYL,#R)D9&0I(KR'_ (3WQ.?^8G_Y C_^)K.=
M10W.O#X.IB$W%K3N>V45XG_PGGB?_H)_^0(__B:/^$\\3_\ 03_\@1__ !-1
M]8B=']E5NZ_'_(]LHKQ(^/?$X_YB?_D"/_XFO7=#NY;_ $*QNYR#+- CN0,
MDCFKA44W9'/B,'4PZ3DUKV-"BBBM#D"BBB@ HHHH **** "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 **** "BBB@ HHHH **** "BBB@#DM0_Y*9I7_7JW\I:ZVN2U#_D
MIFE?]>K?REKK: "BBB@ HHHH **** "BBB@ HHHH **** "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 **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M *CG@AN86AGB26)AAD=00?P-244!L<!KOPSMKC=/H\OV>3KY$A)0_0]1^OX5
MYSJ6DW^D7'D7]L\+]MPX;W!Z'\*^A:@N[.VO[=K>[@CFB;JDBY%83H1>VAZ6
M'S*I3TGJOQ/ ]+UK4=%G\VPNGB)^\HY5OJ#P:](T+XE6=WMAU:,6DQX\U<F,
M_P!5_7ZU3UWX9*VZ?19MIZ_9ICQ_P%O\?SKSV^T^[TVY-O>V\D$H_A<8S[CU
M'O6-YTCT7'#8U76_XGT-%+'/$LL4BR1L,JZ'((]C3Z^=X=2O;>SFM(;J5+>8
M8DB#?*W.>E5PO%:?6/(Y?[(?\_X?\$^D**^;]HHVBCZQY!_9']_\/^"?2%%?
M-_*$,I(8'(([5]&0$M;Q$G)* DGZ5I3J<]]#CQ>#^KV]Z]R2BBBM3B"BBB@
MHHHH **** "BBFO(D>-[JN>F3B@!U%5VO[-"0]W I'4&0"H&US24&7U2R4>I
MN$']:5T4H2>R+]%93^)M"0X.L6/X3J?Y&H&\8^'DSG5K?CT)/\A2YH]RE1J/
M:+^XW**YU_'7AI,9U13GTB<_R6H6^(7AM20+UV]Q _\ 44<\>Y:PU9_8?W,Z
MBBN0;XD^'U&0URQ]!%_B:A?XH:&IP(+]O<1K_5J7M(=RE@Z[^PSM:*X1OBGI
M8SLL;P^F=HS^M0/\5K0 ;-+F/UE _I2]K#N4L#B']D]"HKS=OBPH;Y=&)'J;
MG'_LE0-\5KDK\NE1 ^IF)_I2]M#N4LNQ/\OXH]/HKRI_BIJ1/R:?:@>Y8_UJ
M%OBCK9SMM;!0>G[MR1_X]2]O M99B.WXGK=%>.O\2]?8<?95^D7^)J%OB+XC
M9LBYB4>@A7^HH]O I977\CVBBO$&\>^)F!!U,@>T,8_]EJ%_&?B)R"=5F'T"
MC^0I?6(]BEE-;JU^/^1[K17@C>*=>?.=7O.?24C^50/KVLR##ZM?L/>Y<_UI
M?6%V*64SZR1]!45\\-JFH.<O?7+'U,S'^M0-/*X(>5V!Z@L32^L>1:RA]9_A
M_P $^C'ECCQO=5SZG%0-J%DF=]Y;KCKF51C]:^=J*7UCR*64+K/\/^">X^(]
M8TQ_#>I1KJ-HSO;2*BB=26)4X &>37B*]*93UZ5E.ISNYW8;"K#Q:3O<6BBB
MH.D1NE>\>%O^15TO_KV3^5>#MTKT7PW\1+&RTVUT^_M98A!&(Q-&=X('<C@C
M\,UM1DHRU//S&C.K37(KV9Z515'3M:TW5DW6-[#/WVJWS#ZJ>15ZNQ.^Q\]*
M+B[-6"BBB@04444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110!R6H?\E,TK_KU;^4M=;7):A_R4S2O^O5OY2UUM !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 54U#3++5;8V]]
M;1SQGLXY'N#U!^E6Z*-QIM.Z/)O%W@./1;*74K&Y+6R$!H9?O+DXX/?D]_UK
MB1T%>T?$'_D2[W_>C_\ 0UKQ<=!7%6BHRT/H\OK3JT;S=VF+11161W#6Z5W0
M^*.HI&B1Z?:C:,?,6.?UKA6Z5UD7PWU^50V+500"-TO^ JX.?V3GQ"H-+VUO
M*Y9;XI:T2=MI8 =LHY/_ *%4+?$O7V& +1?<1'^IJ5?A?KC#)N+!?8R/_P#$
MU.OPKU(M\VH6@'J Q_I5_OCEO@%V,UOB+XC8Y%S"OL(5_K4#>/?$S C^TR ?
M2&,?^RUOI\*;HCY]5A!]HB?ZU,OPGZ%]9^H%M_7?1RU0]M@%T7W?\ Y1_&GB
M)\9U688_NA1_(5"WBK7W))U>[Y])2/Y5W"?"FU!._59C](@/ZU*OPKTP+\U_
M=D^H"C^E'LZH?6\$MDON/.VU_67&'U>_8>AN7/\ 6H7U34)#E[^Z8^IF8_UK
MU)?A?H:MDW%^P]#(G]%J5/AKX?4'(NF^LO\ @*/8U _M#"K9?@>0M<3."'FD
M;/7+$YJ.O:5^'GAM<9M)&QZS/S^1J9/ GAI#D:8OXS2'^;4?5Y!_:M!;)_A_
MF>(45[JO@WPZ@P-*@Q[Y/\S4Z^&-"0@C2++CUA4_S%/ZO+N2\VI](L\#HKZ"
M30M(CSLTJQ7/I;H/Z5.NG6*8V65NN.F(E&/TI_5WW)>;QZ1_$^=J>L,KC*1N
MP]0I-?1B11QG*1JI]ABGT_J_F2\W[0_'_@'SNNF7[D!+&Y8GH!$Q_I4R:#K$
MF=FDWS8ZXMW/]*^@J*/JZ[D/-Y=(_B>!KX7UYP,:1>\^L)'\ZG3P9XB<X&E3
M_B0/YFO=:*?U>/<EYM4Z11X@O@/Q,XR-,/XS1C^;5.OP[\1L0#:Q+[F9>/R-
M>T44_J\27FM;LOQ_S/'4^&NOMG(M4_WI>OY"IE^%VMD FYL%]09'R/\ QVO7
M**?L($O-*_E]QY4GPKU(GY]0M /8,?Z5,OPIN2/GU6('VA)_K7I]%/V,"7F6
M([_@CS=?A.,C?K)([@6W_P!G4R?"FU&=^J3'TQ$!_6O0J*?L8=B'F&)?VOP1
MP:_"S3 !OO[PGOC:/Z5.GPOT-3DW%^WL9%_HM=K11[*'8EXW$/[3.07X:^'U
M&"MTWN9?\!4Z_#SPVI&;.1L>L[\_D:ZBBG[./8EXJN_MO[SG4\">&DSC3%.?
M[TLA_FU3+X.\/( !I4''KD_S-;E%/DCV)>(JO>3^]G,:]X=T:V\.ZE-#I=HD
MJ6LA5Q$,J=IY'H:\77I7T-J-F-1TRZLF<H)XFCW 9VY&,UYW_P *IG_Z"\?_
M 'X/_P 56%6FVURH]+ 8N$(M59:_,\^HKT'_ (53/_T%X_\ OP?_ (JC_A5,
M_P#T%X_^_!_^*K+V4^QW_7\/_-^#//6Z59GTJ_M;6*YFM)DMY5#)*5^5@>G/
M2NY_X53/_P!!>/\ [\'_ .*KT+3;!=/TFVL-WFK#$L98C&[ QTJHT&]]#"MF
M5."7L_>/GE':-PZ,58'((."*Z73/'FO:;M4W(NHA_!<#=_X]U_6O2M3\#Z#J
MFYFM!;RG_EI;G8?RZ?I7&:G\+[^#+Z;=1W*]HY/D?_ _I0Z52&J''&X6NK5%
M;U_S-S2_B=IESM34();1^[K^\3].?TKK[+4K+4HO,LKJ&=.YC<''U':O [_2
M=0TN39?6<T![%UX/T/0U7AGEMY1+!*\4B]'1BI'XBFJ\EI(BIEE*:YJ3M^*/
MHZBO&M,^(FN6&U)Y$O8AVF'S8_WAS^>:[/3/B3H]YM2\66RD/]\;T_[Z']0*
MVC6@SSJN7UZ?2Z\CLJ*AMKNVO81+:W$4\9_BC<,/TJ:M3C::T84444""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@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** .2U#_ )*9I7_7JW\I:ZVN
M2U#_ )*9I7_7JW\I:ZV@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "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@ HHH
MH **** "BBB@ HHHH **** .8^(/_(EWO^]'_P"AK7BX(QUKZ&U#3[;5+&6S
MO(_,@D W+DCH<CD>XKG_ /A7GAO_ )\Y/^_S_P"-85:4I2NCU,%C:="FX3ON
M>,Y'K1D>M>S?\*\\-_\ /G)_W^?_ !H_X5YX;_Y\Y/\ O\_^-9>PD=G]J4.S
M_KYGC#'BOHRW_P"/:+_<'\JYL?#WPV"#]C<X[&9_\:Z< *  , < 5M2IN%[G
M!C\7"OR\E]+BT445L><%%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 V2..:,QRHKHW!5AD'\*YC4_A_H6HY:.!K.4_Q6YP/^^3Q^6*ZFBDXI
M[FE.K.F[P=CR/4_AGJUKE[&6*]0?P_<?\CQ^M<C>6-WI\WE7EM+!)_=D0KG\
MZ^BJBN+:"[A,5S#'-&>J2*&!_ UC+#I['HTLUJ1TJ*_X'SS:WES8S":TN)8)
M!_%&Y4_I76:9\2M8L]J7B17L8[L-C_F./S%=?J?PXT6^R]J)+*4_\\SN7_OD
M_P!"*XS4_ASK5CN>V$=[$.\1PV/]T_TS67)4AL=JQ.$Q.D]_/_,[?3/B'H>H
M;4FE>SE/:<?+G_>''YXKJ89HKB)989$DC;HZ,"#^(KYUN+:>UE,5Q#)#(.J2
M*5(_ U-8ZG?:9+YEE=S0-W\MR ?J.A_&JCB&OB1E5RJ$M:4K'T/17D^F?$_4
MK?:FH6\5VG=U_=O^G!_(5V>F>.]!U+"_:OLLI_@N!L_\>Z?K6T:L9=3S:N!K
MT]U=>1TM%(K*ZAD8,IY!!R#2UH<@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 %%%% !1110 4444 %%%% !1110 4444
M <EJ'_)3-*_Z]6_E+76UR6H?\E,TK_KU;^4M=;0 4444 %%%% !1110 4444
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 %%%% !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 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% %>\L+34(O*O+:*=/21 V/IZ5R&I_#/2KK+V,LMFY_A^^GY'G]:[>BI
ME",MT;4J]2E\$K'BNI^ -=T[+) MW$/XK<[C_P!\]?R!KF9(WBD:.1&1U."K
M#!'X5](52U#2=/U2/9?6<,XQ@%UY'T/4?A6,L.NC/1I9M):5%?T/"=.UO4])
M;-C>S0C.=H;*GZJ>#79:9\4;J+:FIV:3+WDA.UOR/!_2M34_A?8S[GTVZDMF
M[1R?.GY]1^M<9J?@C7=+W,UF;B(?\M+?YQ^74?E6=JD-CK]I@\5O:_W,]2TS
MQEH6J[5AO5BE/_+*?Y&^G/!_ FM[K7S<058@@@C@@]JU-,\2:QI&!9WTJ1C_
M )9L=R?]\GBJCB/YD85<I6].7WGOM%>:Z9\4V&U-5L<^LMN?_93_ (UV>F>*
M-&U? M+Z(R'_ )9.=C_D>OX5O&I&6S/-JX2M2^*.AKT4459S!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 4444 %%%%
M!1110!R6H?\ )3-*_P"O5OY2UUM<EJ'_ "4S2O\ KU;^4M=;0 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !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 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !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 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% &;J6@:5JX/VZQAE8_P >,/\ ]]#F
MN-U/X6POE]+OFC/:.X&X?]]#D?D:]$HJ)4XRW1T4L56I?!(\(U/PEK>DY:XL
M9&B'_+6+YUQZ\=/QQ6)7TE6/J?A;1M7W-=6,?F'_ ):QC8_YCK^-8RP_\K/2
MI9MTJ1^X\ATSQ=KFDX6WOG>(?\LIOG7]>GX8KL],^*4#X35+%HSWDMSN'_?)
MY'YFJ^J?"QAN?2[X-Z17 P?^^A_A7&ZGX<U?2"3>V,J(/^6BC<G_ 'T.*B]2
MF='+@\5M:_W,]LTW7M*U=1]AOH96/.S.''_ 3S6C7S<"58,I((.01VKH=,\<
M:]I>%6[-Q$/^6=P-X_/K^M7'$?S(Y:N4M:TY?>>X45P6F?%"PGVIJ5K);-W>
M/YT_Q'ZUV-AJVGZI'OL;R&<=PC<CZCJ*WC.,MF>;5P]6E\<;%RBBBJ,0HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH Y+4
M/^2F:5_UZM_*6NMKDM0_Y*9I7_7JW\I:ZV@ HHHH **** "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 **** "BBB@ HHHH **** "BBB@ HHHH **** "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 **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH *",C!Z444 8&I^#-"U7<TMDL4I_Y:P?
M(WUXX/X@UQFI_"Z[BR^F7B3KVCF&QOS'!_2O4J*SE3C+='52QE:E\,M/,^?-
M1T74]);;?64T'.-S+E3]&'!_.J4<DD,@DB=D=>0RG!'XU]'NBR(4=0RD8((R
M#7-ZGX#T'4MS"U^RRG^.W.W_ ,=Z?I6,L._LL]*EFL7I4C]QYWIGQ UW3L+)
M.MY$/X;@9/\ WT.?SS79Z9\3-)N\)?12V4A_B/SI^8Y_2N=U/X8ZE;;GT^XB
MNT'1&_=O^O'ZBN/OM-OM-E\N]M)H&[>8A&?H>]3S5(;FWL,'B=8[^6C^X^@+
M.^M-0A\VSN8IX_[T;AL?E5BOG*WN9[282VTTD,@Z/&Q4C\175Z9\1]:L<)=&
M.]B'_/0;6Q_O#^H-:1Q"ZG'5RJ:UINY[%17(:9\1M$OMJ7)DLI3VE&5_[Z']
M<5U5O<P74(EMYHYHST>-@P/XBMHR4MF>=4HU*;M-6):***HR"BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HKE_!?CBS\;1:E+96L\"6-T;<M+C]YCN,5U% !1110 4444 %%%% !1110
M 4444 <EJ'_)3-*_Z]6_E+76UR6H?\E,TK_KU;^4M=;0 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 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 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %,FABN
M(FBGB26-NJ.H8'\#3Z* .3U/X>:'?[G@C>SE/>$_+_WR>/RQ7&:G\-=8L\O9
MM%>QC^X=C_D>/R)KU^BLY4HR.RECZ]/K=>9\YW5I<V4QBNK>6"0?PR(5/ZTZ
MSO[O3Y?-L[F6!_6-RN?KZU]"75G;7L)BNK>*>,_PR(&'ZUR6I_#71[S<]FTM
ME(>RG>GY'G\C6$J$E\+/2IYI3FK55;\4<OIGQ-U6UPE]%%>(/XON/^8X_2NS
MTSQ_H6HX5[AK24_PW VC_OKI^9%<#J?P\URPW/!&EY$.\)^;_OD\_EFN6FAE
MMY3%-$\<B]4=2I'X&E[2I#<MX3"XA7I_A_D?1L<B2QK)&ZNC#(93D'\:=7SU
MI^KZAI<F^QO)H#G)"-P?J.A_&NPTSXH7T.U-2M8[E>\D?R/^70_I6L:\7N<-
M7*ZL=8.YZK17.Z9XWT+5-JK>"WE/_+.X^0_GT/YUYCK7B'6#KVH+'JUXD:W$
MBHL<[*H4,0, ''2JE5C%7W,:&!J5).+TMW/<**\!_M_6_P#H,ZA_X$O_ (T?
MV_K?_09U#_P)?_&H^L+L=/\ 9,_YD>_45X#_ &_K?_09U#_P)?\ QKTSX;ZA
M>:AHERUY<RW#)<%5:5RQ V@XR>:J%92=K&.(R^5&'.W<[*BBBMCSPHHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH *\/D^('CCXA^([[3?A^MK9:;9-
MM>_N%!W D@,=P. <' "D\?E[>ZAT9&Z,,&OFCP=X@N?@EXOU71/$=C<-IUVR
ME+B)<Y"D[9$S@,I#<]QCU&* -C1?"7Q8^&5M(^D?V9JMG)+Y]Q:0'>7; !/S
M*KYP!]TGZ5[^I)4$C!(Y'I6)X?\ &/A[Q3%OT75K:Z8#+1*VV11[H<,/RK<H
M **** "BBB@ HHHH **** "BBB@#DM0_Y*9I7_7JW\I:ZVN2U#_DIFE?]>K?
MREKK: "BBB@ HHHH **** "BBB@ 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 **** "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 **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ JK?:;8ZE%Y=[:0SKV\Q 2/H>U6J*
M!IM.Z.%U/X8Z;<;GT^XEM'[(W[Q/UY_4UQFI^ ]>TW+"U^U1#^.V.[_QWK^E
M>VT5E*C%G=2S&O3T;NO,^;F1D<JZE6!P01@BE7O7T#J.B:9JR[;ZRAG/3<RX
M8?1AR/SKPG4H([76+ZWB!$<4[H@)S@!B!7-4IN!Z^%QD<1=6LT5J***S.P*]
M3^%G_("O/^OG_P!E6O+*]3^%G_("O/\ KY_]E6M:/QG#F7^[OY'=T445VGS8
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %4]3TC3M:LVM-3L;>\M
MSUCGC#C/J,]#[TNJ0W=QI%[#83""\D@=()3TCD*D*WX'!KPV^^(WQ0^']DJ^
M*=#M+N#>(H[UB!O8@D#<AP>%)^Z#QS0!6^*OPPLO!5@GB[PG<7&G/;3()(5E
M/R;C@-&WWAR>1D]>V.?5-!U?6O%GPJM=2TZXAM=;N[(^7/(GR+,"5+$8/&03
MT/7I7FVK:5\3OBP;>PU738/#^AJXE</P6/J0268\G P!ZU[;HVDVNA:-9Z59
M*5MK2)8H]QR2 .I]SUH \M_X1[XY_P#0YZ'_ -^5_P#D>O4-#AU.WT.RAUFY
MBNM32)1<S1+M5W[D# X_ ?05H44 %%%% !1110 4444 4=6TJ#6;$VEP\BQE
M@V8R <CZ@U@?\*[TC_GXO?\ OM/_ (FNMHH \UNO"MC!XPLM(66X-O/"9&8L
MN\$!^AQC^$=JW?\ A7>D?\_%[_WVG_Q-.OXI#\2-+E$;F,6S N!P.).]=70!
MR7_"N](_Y^+W_OM/_B:/^%=Z1_S\7O\ WVG_ ,376T4 <E_PKO2/^?B]_P"^
MT_\ B:/^%=Z1_P _%[_WVG_Q-=;10!R7_"N](_Y^+W_OM/\ XFC_ (5WI'_/
MQ>_]]I_\376T4 <E_P *[TC_ )^+W_OM/_B:/^%=Z1_S\7O_ 'VG_P 376T4
M <E_PKO2/^?B]_[[3_XFC_A7>D?\_%[_ -]I_P#$UUM% ')?\*[TC_GXO?\
MOM/_ (FC_A7>D?\ /Q>_]]I_\376T4 <E_PKO2/^?B]_[[3_ .)H_P"%=Z1_
MS\7O_?:?_$UUM% ')?\ "N](_P"?B]_[[3_XFC_A7>D?\_%[_P!]I_\ $UUM
M% ')?\*[TC_GXO?^^T_^)H_X5WI'_/Q>_P#?:?\ Q-=;10!R7_"N](_Y^+W_
M +[3_P")H_X5WI'_ #\7O_?:?_$UUM% ')?\*[TC_GXO?^^T_P#B:/\ A7>D
M?\_%[_WVG_Q-=;10!R7_  KO2/\ GXO?^^T_^)H_X5WI'_/Q>_\ ?:?_ !-=
M;10!R7_"N](_Y^+W_OM/_B:/^%=Z1_S\7O\ WVG_ ,376T4 <E_PKO2/^?B]
M_P"^T_\ B:/^%=Z1_P _%[_WVG_Q-=;10!R7_"N](_Y^+W_OM/\ XFC_ (5W
MI'_/Q>_]]I_\376T4 <E_P *[TC_ )^+W_OM/_B:/^%=Z1_S\7O_ 'VG_P 3
M76T4 <E_PKO2/^?B]_[[3_XFC_A7>D?\_%[_ -]I_P#$UUM% ')?\*[TC_GX
MO?\ OM/_ (FC_A7>D?\ /Q>_]]I_\376T4 <E_PKO2/^?B]_[[3_ .)H_P"%
M=Z1_S\7O_?:?_$UUM% 'FNO>%;'2[_2H();AENYO+D+LI(&5'& /4UN_\*[T
MC_GXO?\ OM/_ (FG>+8I)-6T!DC=@MSEBHSCYDZUU= ')?\ "N](_P"?B]_[
M[3_XFC_A7>D?\_%[_P!]I_\ $UUM% ')?\*[TC_GXO?^^T_^)H_X5WI'_/Q>
M_P#?:?\ Q-=;10!R7_"N](_Y^+W_ +[3_P")H_X5WI'_ #\7O_?:?_$UUM%
M')?\*[TC_GXO?^^T_P#B:/\ A7>D?\_%[_WVG_Q-=;10!R7_  KO2/\ GXO?
M^^T_^)H_X5WI'_/Q>_\ ?:?_ !-=;10!R7_"N](_Y^+W_OM/_B:/^%=Z1_S\
M7O\ WVG_ ,376T4 <E_PKO2/^?B]_P"^T_\ B:/^%=Z1_P _%[_WVG_Q-=;1
M0!R7_"N](_Y^+W_OM/\ XFC_ (5WI'_/Q>_]]I_\376T4 <E_P *[TC_ )^+
MW_OM/_B:/^%=Z1_S\7O_ 'VG_P 376T4 <E_PKO2/^?B]_[[3_XFC_A7>D?\
M_%[_ -]I_P#$UUM% ')?\*[TC_GXO?\ OM/_ (FC_A7>D?\ /Q>_]]I_\376
MT4 <E_PKO2/^?B]_[[3_ .)H_P"%=Z1_S\7O_?:?_$UUM% ')?\ "N](_P"?
MB]_[[3_XFC_A7>D?\_%[_P!]I_\ $UUM% ')?\*[TC_GXO?^^T_^)H_X5WI'
M_/Q>_P#?:?\ Q-=;10!R7_"N](_Y^+W_ +[3_P")H_X5WI'_ #\7O_?:?_$U
MUM% ')?\*[TC_GXO?^^T_P#B:/\ A7>D?\_%[_WVG_Q-=;10!R7_  KO2/\
MGXO?^^T_^)H_X5WI'_/Q>_\ ?:?_ !-=;10!R7_"N](_Y^+W_OM/_B:/^%=Z
M1_S\7O\ WVG_ ,376T4 <E_PKO2/^?B]_P"^T_\ B:/^%=Z1_P _%[_WVG_Q
M-=;10!YMXI\*6.B:4EU;2W+NTP0B1E(P03V ]*VE^'NDE0?M%[R/[Z?_ !-3
M>/HI)M C6*-G;[0IPHR?NM73I_JU^@H Y3_A7>D?\_%[_P!]I_\ $T?\*[TC
M_GXO?^^T_P#B:ZVB@#DO^%=Z1_S\7O\ WVG_ ,31_P *[TC_ )^+W_OM/_B:
MZVB@#DO^%=Z1_P _%[_WVG_Q-'_"N](_Y^+W_OM/_B:ZVB@#DO\ A7>D?\_%
M[_WVG_Q-'_"N](_Y^+W_ +[3_P")KK:* .2_X5WI'_/Q>_\ ?:?_ !-'_"N]
M(_Y^+W_OM/\ XFNMHH Y+_A7>D?\_%[_ -]I_P#$T?\ "N](_P"?B]_[[3_X
MFNMHH Y+_A7>D?\ /Q>_]]I_\31_PKO2/^?B]_[[3_XFNMHH Y+_ (5WI'_/
MQ>_]]I_\31_PKO2/^?B]_P"^T_\ B:ZVB@#DO^%=Z1_S\7O_ 'VG_P 31_PK
MO2/^?B]_[[3_ .)KK:* .2_X5WI'_/Q>_P#?:?\ Q-'_  KO2/\ GXO?^^T_
M^)KK:* .2_X5WI'_ #\7O_?:?_$T?\*[TC_GXO?^^T_^)KK:* .2_P"%=Z1_
MS\7O_?:?_$T?\*[TC_GXO?\ OM/_ (FNMHH Y+_A7>D?\_%[_P!]I_\ $T?\
M*[TC_GXO?^^T_P#B:ZVB@#DO^%=Z1_S\7O\ WVG_ ,31_P *[TC_ )^+W_OM
M/_B:ZVB@#DO^%=Z1_P _%[_WVG_Q-'_"N](_Y^+W_OM/_B:ZVB@#DO\ A7>D
M?\_%[_WVG_Q-'_"N](_Y^+W_ +[3_P")KK:* .2_X5WI'_/Q>_\ ?:?_ !-'
M_"N](_Y^+W_OM/\ XFNMHH Y+_A7>D?\_%[_ -]I_P#$T?\ "N](_P"?B]_[
M[3_XFNMHH Y+_A7>D?\ /Q>_]]I_\31_PKO2/^?B]_[[3_XFNMHH X#7O!>G
M:7HES>P37321!=H=U(Y8#G"CUJ?3/ NF7NE6EU)/>!YH5=@KK@$C/'RUN^+D
M>3PO>HBLS$+@*,D_.M6]"5DT#3U8%6%N@((P1\HH PO^%=Z1_P _%[_WVG_Q
M-'_"N](_Y^+W_OM/_B:ZVB@#DO\ A7>D?\_%[_WVG_Q-'_"N](_Y^+W_ +[3
M_P")KK:* .2_X5WI'_/Q>_\ ?:?_ !-'_"N](_Y^+W_OM/\ XFNMHH Y+_A7
M>D?\_%[_ -]I_P#$T?\ "N](_P"?B]_[[3_XFNMHH Y+_A7>D?\ /Q>_]]I_
M\31_PKO2/^?B]_[[3_XFNMHH Y+_ (5WI'_/Q>_]]I_\31_PKO2/^?B]_P"^
MT_\ B:ZVB@#DO^%=Z1_S\7O_ 'VG_P 31_PKO2/^?B]_[[3_ .)KK:* .2_X
M5WI'_/Q>_P#?:?\ Q-'_  KO2/\ GXO?^^T_^)KK:* .2_X5WI'_ #\7O_?:
M?_$T?\*[TC_GXO?^^T_^)KK:* .2_P"%=Z1_S\7O_?:?_$T?\*[TC_GXO?\
MOM/_ (FNMHH Y+_A7>D?\_%[_P!]I_\ $T?\*[TC_GXO?^^T_P#B:ZVB@#DO
M^%=Z1_S\7O\ WVG_ ,31_P *[TC_ )^+W_OM/_B:ZVB@#DO^%=Z1_P _%[_W
MVG_Q-'_"N](_Y^+W_OM/_B:ZVB@#DO\ A7>D?\_%[_WVG_Q-'_"N](_Y^+W_
M +[3_P")KK:* .2_X5WI'_/Q>_\ ?:?_ !-'_"N](_Y^+W_OM/\ XFNMHH Y
M+_A7>D?\_%[_ -]I_P#$T?\ "N](_P"?B]_[[3_XFNMHH Y+_A7>D?\ /Q>_
M]]I_\31_PKO2/^?B]_[[3_XFNMHH Y+_ (5WI'_/Q>_]]I_\31_PKO2/^?B]
M_P"^T_\ B:ZVB@#DO^%=Z1_S\7O_ 'VG_P 31_PKO2/^?B]_[[3_ .)KK:*
M.)O_  'I=KIUU<)<7A>*%W4,ZX) )Y^6JGAWP;IVK:)!>W$UTLDA;(C90.&(
M[J?2NUU=2VBWZJ"2;>0 #O\ *:S?!L;Q>%[5)$9&!?(88/WS0!0_X5WI'_/Q
M>_\ ?:?_ !-'_"N](_Y^+W_OM/\ XFNMHH Y+_A7>D?\_%[_ -]I_P#$T?\
M"N](_P"?B]_[[3_XFNMHH Y+_A7>D?\ /Q>_]]I_\31_PKO2/^?B]_[[3_XF
MNMHH Y+_ (5WI'_/Q>_]]I_\31_PKO2/^?B]_P"^T_\ B:ZVB@#DO^%=Z1_S
M\7O_ 'VG_P 31_PKO2/^?B]_[[3_ .)KK:* .2_X5WI'_/Q>_P#?:?\ Q-'_
M  KO2/\ GXO?^^T_^)KK:* .2_X5WI'_ #\7O_?:?_$T?\*[TC_GXO?^^T_^
M)KK:* .2_P"%=Z1_S\7O_?:?_$T?\*[TC_GXO?\ OM/_ (FNMHH Y+_A7>D?
M\_%[_P!]I_\ $T?\*[TC_GXO?^^T_P#B:ZVB@#DO^%=Z1_S\7O\ WVG_ ,31
M_P *[TC_ )^+W_OM/_B:ZVB@#DO^%=Z1_P _%[_WVG_Q-'_"N](_Y^+W_OM/
M_B:ZVB@#DO\ A7>D?\_%[_WVG_Q-'_"N](_Y^+W_ +[3_P")KK:* .2_X5WI
M'_/Q>_\ ?:?_ !-'_"N](_Y^+W_OM/\ XFNMHH Y+_A7>D?\_%[_ -]I_P#$
MT?\ "N](_P"?B]_[[3_XFNMHH Y+_A7>D?\ /Q>_]]I_\31_PKO2/^?B]_[[
M3_XFNMHH Y+_ (5WI'_/Q>_]]I_\31_PKO2/^?B]_P"^T_\ B:ZVB@#DO^%=
MZ1_S\7O_ 'VG_P 31_PKO2/^?B]_[[3_ .)KK:* .2_X5WI'_/Q>_P#?:?\
MQ-'_  KO2/\ GXO?^^T_^)KK:* .2_X5WI'_ #\7O_?:?_$T?\*[TC_GXO?^
M^T_^)KK:* .2_P"%=Z1_S\7O_?:?_$UA>%_"MCK=A//<RW"-',8P(V4#& >X
M/K7I5<IX"BDATFZ66-T)N6(##'\*T -_X5WI'_/Q>_\ ?:?_ !-'_"N](_Y^
M+W_OM/\ XFNMHH Y+_A7>D?\_%[_ -]I_P#$T?\ "N](_P"?B]_[[3_XFNMH
MH Y+_A7>D?\ /Q>_]]I_\31_PKO2/^?B]_[[3_XFNMHH Y+_ (5WI'_/Q>_]
M]I_\31_PKO2/^?B]_P"^T_\ B:ZVB@#DO^%=Z1_S\7O_ 'VG_P 31_PKO2/^
M?B]_[[3_ .)KK:* .2_X5WI'_/Q>_P#?:?\ Q-'_  KO2/\ GXO?^^T_^)KK
M:* .2_X5WI'_ #\7O_?:?_$T?\*[TC_GXO?^^T_^)KK:* .2_P"%=Z1_S\7O
M_?:?_$T?\*[TC_GXO?\ OM/_ (FNMHH Y+_A7>D?\_%[_P!]I_\ $UY/J4"V
MNKWMNA)2*=T4MU(#$<U]"UQE]\-M+OK^XNS=W:-/(TC*I7 ).3CCUK&M!R2L
M>AE^(A1E)SZGDE%>I_\ "K-*_P"?Z\_\=_PH_P"%6:5_S_7G_CO^%8>QF>G_
M &EA^_X'EE=QX&\+V6NZ7<SW4MPC)-L B90,;0>X/K6W_P *LTK_ )_KS_QW
M_"ND\/>'K7PY8R6MK)+())/,9I",YP!V'M6E*E*,KLY<;C:-6BX0>ID_\*[T
MC_GXO?\ OM/_ (FC_A7>D?\ /Q>_]]I_\376T5TGC')?\*[TC_GXO?\ OM/_
M (FC_A7>D?\ /Q>_]]I_\376T4 <E_PKO2/^?B]_[[3_ .)H_P"%=Z1_S\7O
M_?:?_$UUM% ')?\ "N](_P"?B]_[[3_XFC_A7>D?\_%[_P!]I_\ $UUM% ')
M?\*[TC_GXO?^^T_^)H_X5WI'_/Q>_P#?:?\ Q-=;10!R7_"N](_Y^+W_ +[3
M_P")H_X5WI'_ #\7O_?:?_$UUM% ')?\*[TC_GXO?^^T_P#B:/\ A7>D?\_%
M[_WVG_Q-=;10!R7_  KO2/\ GXO?^^T_^)H_X5WI'_/Q>_\ ?:?_ !-=;10!
MR7_"N](_Y^+W_OM/_B:;X*#6][K6GK([6]K.$B#'I\S@GZG KKZY3PK%)'KW
MB-GC=5>YRI88!^:3I0!U=%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 5QOQ%\#/X\TS3[ 7ZVD5M>+<R;HM^\!2,#D8^\:[*
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH ***JZCJ-EI-C+?:A=16MK$,O+*P510!:HKC?"/Q-\/\ C;5[
MO3M'^UM);(9#)+$$1UR!E><]3W KLJ "BO._$7QK\&>';M[1KN>_N(VVR)8Q
MAPI[C<2%_(FI_"OQ@\)>+;]+"TN)[2\DXCAO(PAD/HI!*D^V<^E '>T44$@#
M).!0 45Y!\-?%&N>-?B/XCU+^T9CX<M,Q6UM@;"2V$/3KM0L?=A73^*_BUX2
M\(7;V5[>27%[']^VM$\QD]B20H/L3F@#N**\VT'XY^#->OX[+S;O3Y93M0WT
M2JK'L-RLP'XXKTF@ HK-USQ!I7AK3'U#5[V*TMD_B<\L?11U8^PK(\%>/]'\
M>0WDND)=*MHZK)]HC"D[LX(P3Z&@#J:*** "BO']/\4ZYXG^/=SI>G:C-%H.
MD(PN(DQMD91M.>.OF-CZ+74>*OBSX2\(W3V=[>R7%[']^VM$\QU/H3D*#[$Y
MH [BBO-M ^.7@S7K^.R\Z[T^64[4-]&J*Q]-RLP'XXKTF@ HKF/%WC_P]X)A
MC;6+PK-*,QVT*[Y7'KCL/<X%<EIO[0/@O4+U+>5=2L5<X$UU NP'W*.Q'UQB
M@#U2BF12QSPI-#(LD4BAD=#E6!Y!!'450USQ!I7AK3'U#5[V*TMD_B<\L?11
MU8^PH TJ*Y;P5X_T?QY#>2Z0ETJVCJLGVB,*3NS@C!/H:ZF@ HKSWQ)\:/!W
MAF_DL9;FXO;J(E9([*,/L8=06)"Y]@>*=X8^,OA#Q5J$>GV]Q<6=W*0L45[&
M$\QCV!!*Y]L\]J /0**** "BBB@ HHHH **** "BBB@ HHHH ***CGGAMH'G
MN)4BAC4L\DC!54#J23T% $E%</HWQ9\+^(/%R^'-+FN;BY?=LG6+$+;5+'#$
MYZ \XP:[B@ HKB/%?Q8\)^$+I[.^O9)[Y/OVUHGF.OL3D*#[$YK,T+XZ>#-<
MOH[,S7>GR2':C7T2HA/IN5F _'% 'I5%%% !17D%GXJUOQ-\?)M(TW498M"T
MB-A<Q1XVR,HPV??S& ^BUVGBWXC^&?!;K#JU\?M3+N6U@0O(1ZD#@#ZD9H Z
MNBO*]-_:!\%7]VD$HU*Q#G'FW4"[!]2C,1^5>HPS1W$$<T,BR12*'1T.0RD9
M!![B@!]%5M0U&RTFQEO=0NHK6UB&7EE8*JCZFN5\)_$_P]XTUN[TO1S=O+;1
MF4R2Q;$= P7*\YZL.H% '9T444 %%>0>,?%6MZA\9-"\'Z!J,MK#$5DOS%CY
M@?G8'/I&HQ[M7:>+/B-X9\%LL6KW^+IEW+:PJ7D(]<#@#ZD4 =717EFF_M >
M"M0NTMY?[1L0QP);J!=@^I1FQ^5>H0S17$$<T,B212*'1T.592,@@CJ* 'T5
MB^)O%FB^$--%]K5ZMO$QVQK@L\A]%4<G^0[UP$'[1'@R:Z6%[?5X$)P9I+="
M@]_E<MC\* /6:*JZ=J-GJ^GP7^GW,=S:3KNCEC.0P_SVI=0U&RTFQEO=0NHK
M6UB&7EE8*JCZF@"S17&>$_B?X>\::W=Z7HYNWEMHS*9)8MB.@8+E><]6'4"N
MSH **X?Q=\6/"O@V[^QWUS+<WH&7MK-!(Z?[V2 #[$YJIX9^-7A#Q/J4>GPS
M75E=2L%B2]C""1CT4,K,,_4C- 'H=%%% !1110 4444 %%%% !1110 4444
M%%%!( R3@4 %%<'/\7_",?BJU\/074MY=W$Z6XEM4#Q+(S!0"V1GD]1D5WE
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
MK]>'+?I0!ZQ1533-4L=:TZ'4--NH[JTF&Z.6,Y#=OSSP1VJW0 4444 %%%%
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
MO9]<\)Z-X@T*;2+RPM_L[QE$VQ*#"<<,GH1VQ7C_ ,)-Q^.7C<RX\[==9_\
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
MZS;2,QMX;M6B!/ ++\P'Y*?QKVRN2^''@Y/!'@ZVTMB&NW)GNW'0RL!D#V
M4?3-+\2_$?\ PBW@#5=11]MP8O(MSW\Q_E!'TR6_"@#S3PC_ ,5]\?=7\1-^
M\T[15,=N>JY&43'U_>/]:]=\0>$]%\4M9?VS9B[2SE,L4;L=A8C'S =1['BN
M.^!OAS^POAU;W4J;;G4W-T^1SL/"#Z;1N_X$:[S6XM2GT2]BT>XBMM2>%A;3
M2KE4DQP2,'C/L?H: *^H>']!N-#FT^]TZQ73!&=\9B54C7')']W&,Y'3%>+?
MLW&87WB5(2[:?^YVELXW9?'XXZ_A2^*O!?QEU/37AU#7+;5;4C][:V,P@,J]
MU/[M ?H<_C73?!;Q3X?N+"?PS9:0VC:G:%GGMI'+-,0=K-N."6!P""..,<=
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
MRP)]!G 'H/K7G/[2^_[!X<Q]SS9\_7"8_K7NT858U"?=  'TH ^=_B9I]O\
M#SXL^'O$FCQ+:073B2:*(;5)5@)0 . &1AD>I)[U[;XE\'Z-XN%DFM6S7$5G
M,9DBWE59L8^;'4>U>1?M+*7B\,*HRS/<@#_OU7O*@A &.6QR?4T 8\WA'PY/
MIC:=)H>G?8V7;Y2VRJ /; X/N*\7^ Z/IOQ"\5Z/:RO)IT(<*2<ABDNU#]2I
M->B?%3X@0^"?#K1VSAM:O5,=G$.2N>#(1Z#MZG ]<4_@SX%G\'^&)+K44*ZK
MJ;++.C=8T&=B'WY)/N<=J .GUSP/X?\ $NL66IZQ8K>2V:,D4<IS'R0<LO1O
MQX]JC\2>#?#NK>&[RQNM+LHH1"VV1(54PD X92!P1735Y1\9?'#:?IH\(:+N
MN-=U8"$QQ#+1Q/P?^!-T ]"3QQD QOV:[FYDT'7+9V8VT5S&T0)X#,IW8_[Y
M6O<*Y#X:>#1X(\&V^FR$->2,9[MEY'F,!D#V  'X9[UU] !1110 4444 %%%
M% !1110 4444 %172S/:3);2".=HV$;L,A6QP3^-2T4 >"^*/A1;:'X U_Q#
MKVH3ZUXB, ;[3*QV1G<!\H)R>#C)_ "NR^!7_)*--_ZZS_\ HQJU/BU_R2OQ
M!_U[C_T-:R_@5_R2C3?^NL__ *,:@#LO$GAO3O%>COI6JQO):.Z.RHY4G:P(
M&1SCBF6OA+P[96'V&WT/3DM=NTQ_9D(8>^1S^-;-<YXV\8V'@GPY/JEZP:3!
M6V@S\TTF.%'MW)["@#QOP?80^&?VEK_1]'RFGLLBM&K':JF(2;?H'P!]*^AZ
M\>^"GA2_\V_\=:\&_M+5RQA5AC$;,&+X[;B!CV'O7K\DB0Q/+(P2-%+,Q/
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
MM<ZJ;M7BCB<.\2@$,3CH#P,=_P *Z?6?@CX(UB\>Z^P2V4DG+"SE\M<^H7!
M_ "K?AWX0^#?#5['>VNFM<749!CENY#(4([@?=!SSG&1VQ0!M^!K*ZT[P)H5
MG?!A=0V,2R*XP4.T?*?<=/PK?HHH **** "BBB@ HHHH **** "BBB@ JC?:
MSI>F.B7^I6=H[C*K<3K&6'J,FKU<KXI^'7AKQE?0WFMV4D\\,?E(R3NF%R3C
M ([DT >0QZOIH_:HEU'^T;3["5_X^?.7RO\ CS"_>SCKQ]:]]L=4T[5%=M/O
M[6[5" YMYEDVYZ9P3BN"_P"%%> ?^@7/_P"!<G_Q5=+X4\#:!X*6[70[1X/M
M90S;I6?=MSM^\3C[Q_.@#RSXH?$J36=9/@;P[J-O9*\A@U#4KB=88U[,@<D8
M YW'J>@]^R\$3?#WP-H*:;8>*=#>1L-<7+7\(>=_4_-P!V'8?B3)??!;P-J-
M_<WMQIDQGN)6ED(NI "S')XSQR:K_P#"BO /_0+G_P# N3_XJ@#OM/U.PU:U
M%UIM];7EN25$MM*LB9'494D5XEX0_P"*^^/NK^(F_>:?HP,=L>JY&43'U_>/
M]:['Q+#I/PG^%FKC0HFMA)N$"M(SL9Y $# DYX S_P !J/X&^'/["^'5O<RI
MMN=3<W;YZ[#P@^FT9_X$: /2JYE/B#X6;7+S19=8M[:_M)/+DBN6\K)QGY2V
M WX&NFKCO$_PN\)>+;I[S4M-VWKXW7-O(8W; QSC@\8Y(/2@!/&WCGPWHOA;
M4)+G4K.=Y+=XXK:.97>9F4@#:#G'J>@KD/V=M)N['P5>WUPCQQ7UUN@5OXD5
M0-P]B<C_ (#6QIGP*\#:;<I.]E<7K(=P6ZG++^*C (]C7HT4,=O"D,,:1Q(H
M5$10%4#H !T% %&\U_1M/N#;WNK6%M, "8YKE$8 ]."<UX1\,M7TVT^./C.\
MN=1M(;69KORII)E5'S<J1M8G!R.>*]5\0_"OPEXIUB75=5L)9;R555W6X= 0
MHP. <=!65_PHKP#_ - N?_P+D_\ BJ /0+._L]1@\^QNX+J'.WS() ZY],BO
M$-<_XK_]HBQTH?O--T!0\PZKN3#-^;E$/TKTJ+3="^%W@G4YM,MS#96ZR7;(
M\C.7DV@ 9)SSM45Q'[/^C3-I&K>*[[+W>K7+!9&ZE5)+-^+EO^^10![)7C_Q
M;^*3Z-,?"OA^=$UF?:D]T\BHMJK=!N8@!B"#D\*#GKT]@KB-<^$G@[Q%K-QJ
MVI:?+)>7!!D=;EU!(  X!QT H Y_X;VO@3P)I3%_%N@W.KW0W7=V=0BY/78N
M6SM!_$GD]@/2=,UK2M:CDDTK4[*_2,[7:UG64*?0E2<5PO\ PHKP#_T"Y_\
MP+D_^*KIO"G@?0?!:72:':O +HJ9=\K/NVYQ]XG'WC0!XS->K\-?VBKN^U(M
M#I>K;V,Y&1LEPV?H)%P?89KV'7?'_AK0="FU275[*=%0M%'!.KM,V.%4 G.?
M7H.]6_$WA#0_%]BMIK=@ERB$F-\E7C)[JPY'0<=#CFN-LO@)X'M+M9WM[VZ"
MG(BGN/D_': 3^= &)^S[HMY]AUGQ3?(5;5)@L)(QN"EB[#V+-C_@)KUB\U_1
MM/N#;WNK6%M, "8YKE$8 ]."<U=M[>&TMX[>VB2&")0D<<:A551T  Z"N0\0
M_"OPEXIUB75=5L)9;R555W6X= 0HP. <=!0!Y5\,M7TVT^./C.\N=1M(;69K
MORII)E5'S<J1M8G!R.>*]_M-0LM0MS<65W;W, )!DAD#J".HR#BN _X45X!_
MZ!<__@7)_P#%5UOAGPGH_A'2I--T:V,-K)*9G1Y&?+$ $Y8GLHH FL_$^@ZA
M!Y]GK6G3Q8SNCN4('UYXKQ_XO>,H?%S6G@/PI(-1O+NX4W#P$-& O(3<..#A
MF/0!>O7'37?P#\#7-V9TM[VW4G)AAN3L^GS G'XUU?A?P%X;\'*YT;34AF<8
M>=R7D8>FX\@>PP* -+P_H\7A_P .Z=I$+;DL[=(0W]X@8)_$Y/XUI444 %%%
M% !1110 4444 %%%% !1110 55OM3L-,1'U"^MK1'.%:XE6,,?09-6JY[Q5X
M)T+QI#;1:Y:O.MLS-%LE9,$XS]TC/04 >,?$W5]-N_CCX,O+;4;2:UA:T\V:
M.961,7+$[F!P,#GFO>K'6M*U.1H[#4[.[D4;F6"=9"!ZD UPO_"BO /_ $"Y
M_P#P+D_^*K<\+_#;PQX.U*74-%LI(;F6$P,SSN_R$AB,$XZJ/RH X[XM_%)M
M!D_X1?09D76[C:DMR[A%M%;&/F;@,00<GA0<U+\-K7P+X%TIGE\6Z#=:U=#=
M>79U&(Y/78I+9V@_B3R>P'0Z[\)?!_B/6;C5M2TZ62\N"#(ZW#J"0H4< XZ
M5G?\**\ _P#0+G_\"Y/_ (J@#NM,UK2M:21]*U.ROTC(#M:W"RA2>@.TG%>+
M>(O^+@?M":=HH_>:;H*B2<=5)7#O^;&-#]*]#L_#OAGX5^'M:U;2[1X(A!YT
MX>9G,GEAMJC<3CEB/QKCO@!H\\NFZQXNO_GN]6N6"N>I4$EV'U<G_OF@#V6N
M;O\ Q[X:TKQ&=!U+5(;.^$:R 7'R(0V<?.?ESQT)KI*YGQ3\/_#7C$J^LZ:L
MMPB[$N$8I(H]-P/(Z\'(YH LZGXT\-:1I\E]>:W8+"B[OEG5F;V50<L?85Y%
M\ ;*YO/$7B7Q'' T&FW+&.)3P"Q??@?[HP/^!5U=I\ O UM.))+>^N0#GRYK
MD[?I\H!_6O1["PL]+LHK.PM8;:VB&$BA0*JCV H BOM9TO3'1-0U*SM&<95;
MB=8RP]LD9KP235]-/[5$6H_VC:?80O\ Q\^<OE?\>97[V<=>/K7KWBGX=>&O
M&5[!=ZW9R3S0Q^4C).Z87)., CN36#_PHKP#_P! N?\ \"Y/_BJ .]L=4T[5
M%=M/O[6[5" YMYEDVYZ9P3BO%_C%-)XN^(/AKP':N=AD$]UM_AW=_JL8=O\
M@5>F>&O!7ASP%;W\VD6[6L<ZJ]R\DS/P@8@_,3C&YJ\S^#L,GB[X@^)?'ETA
MV&0P6N[^'=V^JQA%_P"!4 >X0PQV\$<$*!(HU"(HZ* , 5YY\5?B=!X%TX65
MGMEURZCS C#*PKR/,;\0<#N1Z"O1JY'Q/\-/"WB_4TU'6;&2:Z2(0ATG=/E!
M) P#CN: ."^&-EX3\/&3Q%XA\7:'>>)KW+R22:E"WD!NJ@[N6/<_@.,Y]9TW
MQ%HFM2O%I6LZ??21KN=+6Z24J/4A2<"N)_X45X!_Z!<__@7)_P#%5N>%_AMX
M8\':C+J&BV4D-S+"86=YW?Y"0Q&"<=5'Y4 >5?%#SO!7QKT/QFT;FPGV>:ZC
M.-H\N11[^601Z\^E>Q/XX\+)I!U0Z_IYLPF_>)U)QC.-N<Y]L9]JO:WH.E^(
M],DT[5[**[M7.2D@Z'U!'*GW!!KS]/@!X'6Z$IBU!TSGR6NOD^G W?K0!S'P
MBAN/%WQ0\1>.GA>.R)>*WW#!+,1M'N5C49]V%;?Q;^*3:#)_PB^@S(NMW&U)
M;EW"+:*V,?,W 8@@Y/"@YKU'2]*L-%TZ'3]-M(K6TA&$BB7 '^)]2>37*:[\
M)?!_B/6;C5M2TZ62\N"#(ZW#J"0H4< XZ 4 <]\-K7P+X%TIGE\6Z#=:U=#=
M>79U&(Y/78I+9V@_B3R>P'I6F:UI6M)(^E:G97Z1D!VM;A90I/0':3BN%_X4
M5X!_Z!<__@7)_P#%5TOA3P+H'@H78T.T>#[7L\XO*S[MN=OWB<?>/YT >+^
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
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 07=E
M::A 8+VUAN8203'-&'7(Z'!XJ955$"(H55&  , "EHH **** "BBB@ HHHH
MCN+>"[@>"YACFA<8>.10RL/0@\&B"WAM8$@MX8X84&$CC4*JCT '2I** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** (YX(;J!X+B*.:%QAXY%#*P]"#UHM[>"TMT@MH8X84&$
MCC4*JCT ' J2B@ HHHH **** "BBB@!&574JRAE(P01D$5#9V-II\'D65K!;
M0@D^7#&$7)ZG XJ>B@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@!&574JP!4C!!'!%0V=C::?
M!Y%E:P6T.2WEPQA%R>IP*GHH **** "BBB@ HHHH *KVNGV5BTK6EI;VYF;?
M(8HPF]O4X')^M6** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "J]KI]E9/,]I:6\#3-OE:*,
M(9&]6P.3]:L44 %%%% !1110 4444 %5X]/LH;R6\BM+=+J48DF6,!W'H6QD
M]*L44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %5X]/LHKR2\CM+=+J48DG6,!W'H6QDU8HH
M **** "BBB@ HHHH *KMI]D]\M\UI;F[1=JSF,>8H] V,XJQ10 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%8,GC3P['(R-JD6Y3@X
M5C^H%-_X3?PW_P!!2/\ [X?_  J>>/<U^KU?Y7]S.@HKG_\ A-_#?_04C_[X
M?_"KNF^(=)U>9X;"]CFD1=Q4 @X]>10I1>S"5&I%7<7]QIT4451D%%%% !11
M7%:G\6_ VD:G<Z=?:ZL=U;2&.5%MIGVL.",JA''UH [6BO/_ /A=OP\_Z&'_
M ,DKC_XW71>*?%^D^#]"&L:H\OV5G6-!"FYG9@2 !QV!/X4 ;U%9^AZU9>(M
M$M-7T]V>TNDWQEEP>N""/4$$5R?@3XBOXSU_7],?3%M!I<NQ9!-O\P;F7D;1
MC[OZT =Y1110 4444 %%%% !115>]OK33;22[OKF&VMHQEY9G"*H]R: +%%>
M>7/QO\ VT[1?VR\I7@M%;2,OX';S70^'?'7AGQ6=FC:O;W,P&XPG*2 >NQ@#
MCWQB@#HJ*** "BBB@ HHHH **** "BBL$>-/#Y\7'PJ-0']M 9-KY3]-F_[V
MW;]WGK0!O4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !11445S!/))'%/'(\1Q(J."4/H1VH EHHHH **** "BBB@ HK!\3>
M-/#W@^.W?7M16S%R6$0\IY"VW&>$!/&1^=:.DZOI^NZ9#J6EW4=U9S#,<J=#
MV/7D$>AY% %VBL_6];T[P[I$^JZK<?9[&#;YDNQFV[F"CA02>2!P*=H^KV.O
M:3;ZIID_GV=PI:*7:R[@"1T8 CD'J* +U%%% !1110 4444 %%8'C;Q,/!WA
M"^UXVGVO[+Y?[CS/+W;I%3[V#C[V>G:G^#_$7_"6>%-/US[+]E^UH6\GS-^S
M#%?O8&>GI0!N4444 %%%% !1110 445!>WMKIUI)=WMS%;6T0W/+,X55'N30
M!/17GD_QO\ 07#0G67?:<%X[65E_/;S^%=?H?B31O$MH;K1M2M[V)>&,3<H?
M1EZK^(H U**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HKD_"/Q%
M\/\ C:\OK71Y)VDL\%_-BVAU)(#+SR..^#S764 %%%% !1110 445@^(O&?A
M_P *36<.MZ@+22])6 &)WWD$ _=4X^\.N.M &]1110 4444 %%%<A\1_'0^'
M_AV#5CIWV_S;I;81>=Y6,J[9SM;^YTQWH Z^BJ>DWW]J:/8Z@(_+^U6\<^S=
MG;N4-C/?&:N4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%(S!5+,0 !DD]J %HIL<L<T8DB=70]&4Y!_&G4 %%%% !1110 445RE]\
M2_!VF^(&T.\UR&'4%<1M&T;[58] 7V[1U[GB@#JZ**P=;\9^'_#FIV.G:MJ
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
M(!;)8'C/0=!6MX>\&:%X5O=1NM%LQ:'4"AFB1OW8*;L;5_A^\>!Q0!OT444
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
MG;QNSABP;)^E8GQ\\!:)HNFVGB/2K9+*6>Z%M/!"@6-\H[!P!PI^0@XZY_,
M]O\ "?\ R)NA_P#8/M__ $6M8?BGXJ>$_"-V;+4+]I+U1EK>V0R.G^]V4^Q.
M:9=ZW+X<^"\>K0%1/;:-$T1;H',:A3^9%>9?"#4O 6BZ ^J^(-3T]M?O)G>1
MKL;Y(E#8 &0<9P6)ZG(]* /5?"GQ-\+>,KDVNEWY%X%W?9KA#&Y'MGAOP)J_
MXL\9:1X+L8+S67G2">7RE:*$N V,\XZ< UX9\7=8\'R3Z1XB\'W]D-;MKH&0
MV8VE@!N5V& "05 S[\]J]SU;2++QSX)-E?)B'4+9) 0.8F(#*P]P<&@#8L+Z
MVU/3[>^LIEFMKB,212+T92,@UA:?X[T'5/%UUX9L;B6?4+56:;9$3&FT@$%N
MF02!]>.M>"Z-\0];^&6@Z_X*OH7.I6SE-.D'(B+'YC[K@[U]S[UZ[\(_ S>#
M_"_VB^0G6=1Q/=L_+)_=3/MDD^Y/M0!Z%1110 4444 %%%% !1110 445%<N
M\5K-)&NYU1F4>I XI-V5P):*\IN+F:ZE,L\K2.3DECFHJ\UYDND?Q_X!'.>M
MT5Y)12_M+^[^/_ %SGK=<YXNU'[/8K9QM^\G^][(/\3_ %KAZ45G5Q[G!Q4;
M7\P<[G5^#]1VO)I\C<-\\>?7N/Z_G77UY*:2E1QSIPY&KB4K(];HKR2BM?[2
M_N_C_P  ?.>MT5Y)4D%Q-;2B2"5HW!R"IQ0LR[Q_'_@#YSU>OD[7_"\OBSXK
M^-;*VW&[@6>Z@0?QNC+\OX@L![D5]5VDCS6<$LB[7>-68>A(YKPKP/\ \G+^
M)_\ <N/_ $-*]-.ZN6=I\%_&?_"5^"X[:ZDW:EIFVWGR<ETQ\C_B!@^ZGUKB
MOC?_ ,E+\&?[Z?\ HY:K:\C?"#XSP:W"A3P_K)/G*HX4,1Y@QZJV''L<58^-
MCI+\1_!,D;!T8QLK*<@@S+@BF![U--%;P23SR)%%&I=Y'8*JJ.223T%>=:E\
M=/ NGW)@2_N+P@X9[6 LH_$X!_#-=[JFFVNLZ5=:;>QF2UNHFBE4,5)4C!Y'
M(KEROPY\&PC3I&\/Z<4',,KQ^81ZMN^9OJ<T :'A7QUX>\9PR-HM^LTD0S)
MZE)$'J5/./<9%:FLZWIOA[3)=1U:\BM+2/[TDA[]@!U)]AS7@&AWNB6W[2-G
M+X4FA.EWJ,KK:_+'EH6W*!Z;E#8Z9KI?VB;2\DT?0KY89)],M+IS>1KG&2%V
M$XZ<!QG_ &O>@#=@^/7@6:\$#7EW$A.!/);-L_3)_2O28IHIH$GBD5XG4.KJ
M<@J1D'/IBN'\.ZY\/O'6CII]C#IDL9C .FS0HDD8 Z;#Z>JY'O67\;M5;PY\
M+6L[#]R+N2.P4*>5CVDD#_@*;?H: +.I_''P/IFHM9&_GN61BCRVT!>-2.OS
M<9'N,UY]\5]<TSQ%XO\  FI:3>1W5I+*-LB'H?-3@@\@^QYKT/X:_#[0-*\"
MZ:]SI-G=7E[;I/<S7$"R,2ZAMN6'"@$#'3C/>O*/B3X*TSPA\3_#LFDJ8;;4
M+F.4VP^[$PD4';['/3M],  'TQ--%;P23SR)%%&I=Y'8*JJ.223T%>=:E\=/
M NGW)@2_N+P@X9[6 LH_$X!_#-=[JFFVNLZ5=:;>QF2UNHFBE4,5)4C!Y'(K
MEROPY\&PC3I&\/Z<4',,KQ^81ZMN^9OJ<T :'A7QUX>\9PR-HM^LTD0S) ZE
M)$'J5/./<9%;\\\-K;R7%Q*D4,:EWD=@JJ!U))Z"OG70[W1+;]I&SE\*30G2
M[U&5UM?ECRT+;E ]-RAL=,UTW[1.L7,&@:1H5LV!J=PS2@'[RQ[<*?8LX/\
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
M *&*],K!\8>%+/QIX=FT6^GGAAD=7WP$!@5.1U!% %7X;_\ )-?#G_8/A_\
M017C7PF\4Z5X?^)GB>RU2X6V.HW3)!+(0$WK(_RD]L[N/I]*]^T/28-!T*QT
MFV>1X+.%84:0@L0HQDX &:XA/@KX5:WUF&[^U77]IW'VC>[*'MVRQ_=D 8^^
M<YR#@9% &K\3O$EEX=\ ZK-/.BSW-L]O;)N^:21U*C [XSD^PK ^ >D3:7\-
M4FG38;^ZDND!ZE,*@/X[,_C5+3?V>_#5IJ4=S?:AJ&H0Q$;+>9E52!T#$#)'
ML,5ZU##%;01P01I%%&H1(T4!54<  #H* /#O@;_R/7CK_KX'_HV2O:=4L_[1
MTB]LC_R\0/#_ -]*1_6N=\)?#[3/!^KZQJ5C=7<TNJ2;Y%F92J?,S87 '=CU
MKK: /!_V?M;ATEM9\'ZFPM=22[,L<,K %V ".H_VAL''?\*]*^)/B>Q\+^"-
M2GNIT6>>W>"VBW?-)(RD# ]!G)] *H^,/A%X7\97AOKJ*>SOF^_<6;!#)Z;P
M00?KC/O6+HWP"\,:?J*7NHW5]JSQG*Q7+ 1GTW #)^F<>U "_ ?P_)I_PU>2
M]A &J7#SJK#[T154&?8[2?H17GWA35G^"GQ)U31=;25=&O2-LX7=\@)\N4 =
M1@D,!WSUQBOI2.-(HUCC141 %55&  .@ K'\2^$M$\76 L]:L([E%R8WY5XR
M>ZL.1_7O0!H6&IV.J627EA=P7-LXW++$X92/J*\&\<WUI??M'>%FM+J&X6(V
MT;F*0.%82N2IQT."./>MNX_9N\./<;K?6-3BB)R4;8YQZ [1_6NI\*?!SPGX
M2OHM0MX;B\OHCNCGNY VP^H50%S[D$B@#F_VB](GO?!ECJ,,1=;"Z_>D?P(X
MQGZ;@H_&NG\(Z1X"\5>&K/5++PYH$OF1+YRBPA+1R8&Y6&W@@UVUW:6]_:2V
MEW!'/;S*4DBD4,KJ>H(/6O++SX >'3>O=:1JFJZ4S$G9#,&51Z+D;O7J30!V
M\'A_P9I>KVJ6^D:#::FQ+6PCMH8YB0"24P W STKS7]I/_D5=&_Z_6_] -=;
MX1^$'ASPAK":Q!+?7NI1AMD]U*#LRI4X"@#H2.<]:U?'7@+3O'VG6MEJ-S=6
MZ6\WFJUN5!)P1@[@?6@#HK#_ )!UM_UR3^0KQ"X_Y.VM/^N1_P#2-J]TBC6&
M%(ESM10HSZ"N3D^'FF2?$B+QN;J[%_''L$(9?*)\LQYZ9^Z?7K^5 &WX@\1Z
M3X6TPZCK5XMI:!Q'YA1FRQZ !02>A[5;T[4+35M.M]0L9UGM;A!)%(N<,IZ'
MGFO(_CG<2Z_/H/@73(O.U.^N1='TC0!E!/MRQ)[!#7J7AW1HO#WAW3M'A<NE
MG D.\C&\@<M^)R?QH TZ\$C_ .3N9O\ <_\ ;(5[W7'CX=:6OQ);QP+J\_M!
MDVF'<OE9\KRLXVY^Z/7K^5 &'\>O^25WG_7Q#_Z&*Z3X;_\ )-?#G_8/A_\
M015KQAX4L_&GAV;1;Z>>&&1U?? 0&!4Y'4$5?T/28-!T*QTFV>1X+.%84:0@
ML0HQDX &: /%_BM_R77P)_UUM?\ TIK0_:.TJ>Z\):;J443.EE=%96 ^XKC&
M3[;E4?B*[CQ%\/-,\2^+M&\1W5U=QW6E,C1QQ,NQ]C[UW9!/7K@]*Z>^L;74
M[&:RO;>.XM9E*212+E6![$4 9/@WQ'9>*/"MAJ=E.D@>%1,H8$Q2 #<K>A!_
MQ[U8TSQ-HVM:E?:?IM_%=7%AL^TB([E0MG W="?E.0#QWKS6\_9V\,RW3R66
MIZI9PR$[X%=7&/[H)&<?7-=[X0\#Z'X'L)+71K=U,Q!FFE?=)*1G&X].,G@
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
MS7<QR=K,H_('%1_\(QH__/G_ .17_P :UZ*R=&D_LK[A61D?\(QH_P#SY_\
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
M &DRP:%#IR:?*SJXT]4$9;[K?<XSQ@_2O-4_9[T4XAG\0ZW+9*1MM_,0 ?\
MCI'Z"O2_#GAW3?"NB0Z3I,+16D1) 9RQ))R22>Y- 'B?P%U./PYXB\0>$=5D
M6WOFF7RDD.W>Z%E=1ZGH1Z@&O:];\2Z-X<2!M5OXK8SR+'"C'+R,2 -JCD]>
M3V[US7C/X2>&?&MY]NNTGM+\C#W%HP4R>F\$$''KU]ZR_#?P+\,Z'J<6I7<]
MYJMU$P>/[4P$:D=#M YQ[DCVH Y?]HO_ )"/@W_KK<?S@KW>N1\;?#S3/'<^
ME2ZC<W<!TZ1WC^SLHW!BN0<@_P!P?K774 >%^'O^3I->_P"O=O\ T7'7NE<E
M9?#[3+'X@WGC*.ZNVOKJ,HT+,OEC(49'&>BCO76T 9?B7_D5=7_Z\IO_ $ U
MY7^S=_R)NK?]A#_VFE>PWMI'?V%Q9REA%<1-$Y4X.&!!Q^=<]X&\"Z=X!TJX
ML-.N;J>.><S,UP5)!P!@;0., 4 >86__ "=M=_\ 7(?^D:U[??\ _(.N?^N3
M_P C7,I\/-,3XD2>-Q<W?V^2/88=R^5GRQ'GIG[H]>OY5U<L:S0O$V=KJ5./
M0T >+?LV?\BKK/\ U^K_ .@"LGP9=P^#?VA/$6FZFRVZ:G)*+=G.%)D<21C/
MN#CZ\5ZQX%\!:=X!TZZLM.N;JX2XF\UFN"I(. ,#:!Z5!XW^&>@>/%BDU%)8
M+R(;4NK8A9-O]TY!!'UZ=L9- %OQWXJTGPKX8O+G4[E4:6)XX801YDSD8 4?
MCR>@KSG]FS_D5=9_Z_5_] %=#X8^"7AO0-2CU*[FNM7NXB#$;P@I&0<@A0.2
M/<D=\5T/@;P'IW@'3[JSTVXNIX[F;SF-P5)'   P!Z4 >-Z#8Z)H7QY\0:5X
MKT^QDM=0DE>T:_A1XP7?S$(+C RI*Y]>*]M;P-X.52S>%=""@9).GP\?^.U7
M\8_#WP]XY@1=7MF%Q&-L=W P29!Z9P01R>"".:XA/V>]%.(9_$.MRV2D;;?S
M$ '_ (Z1^@H ]-T*#0[?3R/#\6G1V1D8D:>J",N.&^YQGC!^E>+>)YYOC'\3
M8O"]A.Z^'-(8O=SQ]'<<,P/0G/R+_P "/(KURP\'Z=H_A"3PWI$EQ8VKQN@E
MBDS*I?.6#-GGG\.V*K^!_ >D^ M+FLM,,TK3R>9-/.07<XP!P!P.P]SZT >7
M?"O6KSP%XVO_ (=:[)B)YBUA*W"ESR,>SC!'HW'4U[S7%^-OAGH_CB]L;^ZN
M+NSOK/A+BT958KG(!R#T/(/;)KLHU*1HA=G*@ LV,M[G'>@!U%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!G)H6EQZY)K:V,
M/]IR1B)KHC+[..,]AP.E:-%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% ',^.?!-AX\T.+2M0N+B".*X6X5X
M"H;<%9><@\88UNZ=91Z;IEI80LS16T*0H7.6*J !GWXJS10 4444 %%%% !1
M110 4444 %%%% !67XCT*V\3>'KW1KN26."[CV.\1 9>0<C((ZBM2B@#$\)>
M&;7P?X:M=#LIIIH+<N5>8@L2S%CG  ZFMNBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "N0O_AYIFH_$&R\8RW5VM[:(%6%2OEM@
M, 3QG^+UKKZ* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
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 **** "BBB@ HHHH **** "BBB@ HHHH ****
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 2BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
9HH **** "BBB@ HHHH **** "BBB@#__V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>10
<FILENAME>fgen-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-26T13:40:22.1742+00:00 -->
<!-- Copyright (c) 2024 Donnelly Financial Solutions, Inc. All Rights Reserved. -->
<xsd:schema targetNamespace="http://www.fibrogen.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:fgen="http://www.fibrogen.com/20231231" 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: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:stpr="http://xbrl.sec.gov/stpr/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.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/stpr/2023/stpr-2023.xsd" namespace="http://xbrl.sec.gov/stpr/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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation" id="Role_DocumentDocumentAndEntityInformation">
        <link:definition>100000 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets" id="Role_StatementConsolidatedBalanceSheets">
        <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.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim1" id="DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim1">
        <link:definition>100020 - Disclosure - Balance Sheet Components - Summary of Available for Sale Securities in Unrealized Loss Position, Fair Value and Gross Unrealized Loss By Length of Time Security in Continual Unrealized Loss Position (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.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical" id="Role_StatementConsolidatedBalanceSheetsParenthetical">
        <link:definition>100030 - 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.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations" id="Role_StatementConsolidatedStatementsOfOperations">
        <link:definition>100040 - Statement - Consolidated Statements of Operations</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.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical" id="Role_StatementConsolidatedStatementsOfOperationsParenthetical">
        <link:definition>100050 - Statement - Consolidated Statements of Operations (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.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss" id="Role_StatementConsolidatedStatementsOfComprehensiveLoss">
        <link:definition>100060 - Statement - Consolidated Statements of Comprehensive 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.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit" id="StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit">
        <link:definition>100070 - Statement - Consolidated Statements of Changes in Stockholders' Equity (Deficit)</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.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows" id="Role_StatementConsolidatedStatementsOfCashFlows">
        <link:definition>100080 - 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.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlowsParenthetical" id="Role_StatementConsolidatedStatementsOfCashFlowsParenthetical">
        <link:definition>100090 - Statement - Consolidated Statements of Cash Flows (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureTheCompany" id="Role_DisclosureTheCompany">
        <link:definition>100100 - Disclosure - The Company</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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies" id="Role_DisclosureSummaryOfSignificantAccountingPolicies">
        <link:definition>100110 - 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.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenues1" id="DisclosureCollaborationAgreementsLicenseAgreementAndRevenues1">
        <link:definition>100120 - Disclosure - Collaboration Agreements, License Agreement and Revenues</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.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeutics1" id="DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeutics1">
        <link:definition>100130 - Disclosure - Exclusive License and Option to Acquire Fortis Therapeutics</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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntity" id="Role_DisclosureEquityMethodInvestmentVariableInterestEntity">
        <link:definition>100140 - Disclosure - Equity Method Investment - Variable Interest Entity</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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurements" id="Role_DisclosureFairValueMeasurements">
        <link:definition>100150 - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeases" id="Role_DisclosureLeases">
        <link:definition>100160 - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponents" id="Role_DisclosureBalanceSheetComponents">
        <link:definition>100170 - Disclosure - Balance Sheet Components</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.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilities" id="DisclosureSeniorSecuredTermLoanFacilities">
        <link:definition>100180 - Disclosure - Senior Secured Term Loan Facilities</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.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenues" id="DisclosureLiabilityRelatedToSaleOfFutureRevenues">
        <link:definition>100190 - Disclosure - Liability Related to Sale of Future Revenues</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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligations" id="Role_DisclosureProductDevelopmentObligations">
        <link:definition>100200 - Disclosure - Product Development Obligations</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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingencies" id="Role_DisclosureCommitmentsAndContingencies">
        <link:definition>100210 - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensation" id="Role_DisclosureEquityAndStockBasedCompensation">
        <link:definition>100220 - Disclosure - Equity and Stock-based Compensation</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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShare" id="Role_DisclosureNetLossPerShare">
        <link:definition>100230 - Disclosure - Net Loss Per Share</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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxes" id="Role_DisclosureIncomeTaxes">
        <link:definition>100240 - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactions" id="Role_DisclosureRelatedPartyTransactions">
        <link:definition>100250 - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformation" id="Role_DisclosureSegmentAndGeographicInformation">
        <link:definition>100260 - Disclosure - Segment and Geographic Information</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.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEvent1" id="DisclosureSubsequentEvent1">
        <link:definition>100270 - Disclosure - Subsequent Event</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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccounts" id="Role_DisclosureScheduleIIValuationAndQualifyingAccounts">
        <link:definition>100280 - Disclosure - Schedule II - Valuation and Qualifying Accounts</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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies" id="Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies">
        <link:definition>100290 - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesTables" id="Role_DisclosureSummaryOfSignificantAccountingPoliciesTables">
        <link:definition>100300 - 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.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables" id="DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables">
        <link:definition>100310 - Disclosure - Collaboration Agreements, License Agreement and Revenues (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.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsTables" id="DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsTables">
        <link:definition>100320 - Disclosure - Exclusive License and Option to Acquire Fortis Therapeutics (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityTables" id="Role_DisclosureEquityMethodInvestmentVariableInterestEntityTables">
        <link:definition>100330 - Disclosure - Equity Method Investment - Variable Interest Entity (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsTables" id="Role_DisclosureFairValueMeasurementsTables">
        <link:definition>100340 - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesTables" id="Role_DisclosureLeasesTables">
        <link:definition>100350 - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsTables" id="Role_DisclosureBalanceSheetComponentsTables">
        <link:definition>100360 - Disclosure - Balance Sheet Components (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.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesTable" id="DisclosureSeniorSecuredTermLoanFacilitiesTable">
        <link:definition>100370 - Disclosure - Senior Secured Term Loan Facilities (Table)</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.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesTables" id="DisclosureLiabilityRelatedToSaleOfFutureRevenuesTables">
        <link:definition>100380 - Disclosure - Liability Related to Sale of Future Revenues (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesTables" id="Role_DisclosureCommitmentsAndContingenciesTables">
        <link:definition>100390 - Disclosure - Commitments and Contingencies (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationTables" id="Role_DisclosureEquityAndStockBasedCompensationTables">
        <link:definition>100400 - Disclosure - Equity and Stock-based Compensation (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareTables" id="Role_DisclosureNetLossPerShareTables">
        <link:definition>100410 - Disclosure - Net Loss Per Share (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesTables" id="Role_DisclosureIncomeTaxesTables">
        <link:definition>100420 - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationTables" id="Role_DisclosureSegmentAndGeographicInformationTables">
        <link:definition>100430 - Disclosure - Segment and Geographic Information (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" id="Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail">
        <link:definition>100440 - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail" id="Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail">
        <link:definition>100450 - Disclosure - Summary of Significant Accounting Policies - Schedule of Significant Balance of Accounts Receivable (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail" id="Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail">
        <link:definition>100460 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Astellas Agreements - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail" id="Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail">
        <link:definition>100470 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Accounting for the Astellas Agreements - Additional Information 2 (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail" id="Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail">
        <link:definition>100480 - Disclosure - Collaboration Agreements, License Agreement and Revenues - AstraZeneca Agreements - Additional Information 1 (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail" id="Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail">
        <link:definition>100490 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Accounting for the AstraZeneca Agreements - Additional Information 3 (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail" id="Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail">
        <link:definition>100500 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Eluminex Agreement - Additional Information 2 (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail" id="Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail">
        <link:definition>100510 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Summary of License Revenue and Development Revenue Recognized under Agreement (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail" id="Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail">
        <link:definition>100520 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations along with Associated Deferred 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail" id="Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail">
        <link:definition>100530 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Summary of Revenue Recognized Under the Collaboration Agreements - Additional Information 4 (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail" id="Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail">
        <link:definition>100540 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations Deferred 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail" id="Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail">
        <link:definition>100550 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations Deferred Revenue (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.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail" id="DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail">
        <link:definition>100560 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Summary of Amounts Recognized as 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.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail" id="DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail">
        <link:definition>100570 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Summary of Product Revenue, Net (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.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail" id="DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail">
        <link:definition>100580 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Product Revenue, Net - Additional Information 1 (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.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail" id="DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail">
        <link:definition>100590 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Roll-forward of Related Contract 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.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail" id="DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail">
        <link:definition>100600 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Drug Product Revenue - Summary of Drug Product 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.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail" id="DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail">
        <link:definition>100610 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Drug Product Revenue - 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.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail" id="DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail">
        <link:definition>100620 - Disclosure - Collaboration Agreements, License Agreement and Revenues - 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.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail" id="DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail">
        <link:definition>100630 - Disclosure - Exclusive License and Option to Acquire Fortis Therapeutics - 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.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu" id="DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu">
        <link:definition>100640 - Disclosure - Exclusive License and Option to Acquire Fortis Therapeutics - Schedule of Allocation of Purchase Consideration Based on Estimated Fair Values of Acquired Assets (Details)</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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail" id="Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail">
        <link:definition>100650 - Disclosure - Equity method investment - Variable Interest Entity - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail" id="Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail">
        <link:definition>100660 - Disclosure - Equity method investment - Variable Interest Entity - Summary of Equity Method Investment (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail" id="Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail">
        <link:definition>100670 - Disclosure - Fair Value Measurements - Fair Values of Financial Assets Measured on 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2" id="Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2">
        <link:definition>100680 - Disclosure - Leases - Schedule of Maturities of 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail" id="Role_DisclosureFairValueMeasurementsAdditionalInformationDetail">
        <link:definition>100690 - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail" id="Role_DisclosureLeasesAdditionalInformationDetail">
        <link:definition>100700 - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail" id="Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail">
        <link:definition>100710 - Disclosure - Leases - Schedule of Lease Assets and Related 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail" id="Role_DisclosureLeasesComponentsOfLeaseExpenseDetail">
        <link:definition>100720 - Disclosure - Leases - Components of Lease 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail" id="Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail">
        <link:definition>100730 - Disclosure - Leases - Schedule of Supplemental Cash Flow Information Related to 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseTermAndDiscountRateDetail" id="Role_DisclosureLeasesScheduleOfLeaseTermAndDiscountRateDetail">
        <link:definition>100740 - Disclosure - Leases - Schedule of Lease Term and Discount 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail" id="Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail">
        <link:definition>100750 - Disclosure - Leases - Schedule of Maturities of 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail" id="Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail">
        <link:definition>100760 - Disclosure - Balance Sheet Components - Schedule of Cash and Cash Equivalents (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail" id="Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail">
        <link:definition>100770 - Disclosure - Balance Sheet Components - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail" id="Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail">
        <link:definition>100780 - Disclosure - Balance Sheet Components - Summary of Amortized Cost, Gross Unrealized Holding Gains or Losses, and Fair Value of Available-for-Sale Investments (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.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim" id="DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim">
        <link:definition>100790 - Disclosure - Balance Sheet Components - Summary of Available for Sale Securities in Unrealized Loss Position, Fair Value and Gross Unrealized Loss By Length of Time Security in Continual Unrealized Loss Position (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail" id="Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail">
        <link:definition>100800 - Disclosure - Balance Sheet Components - Schedule of Inventory (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail" id="Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail">
        <link:definition>100810 - Disclosure - Balance Sheet Components - Schedule of 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail" id="Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail">
        <link:definition>100820 - Disclosure - Balance Sheet Components - Schedule of Property 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail" id="Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail">
        <link:definition>100830 - Disclosure - Balance Sheet Components - Schedule of Accrued and Other Current 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfOtherLongTermLiabilitiesDetail" id="Role_DisclosureBalanceSheetComponentsScheduleOfOtherLongTermLiabilitiesDetail">
        <link:definition>100840 - Disclosure - Balance Sheet Components - Schedule of Other Long-term 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.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail" id="DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail">
        <link:definition>100850 - Disclosure - Liability Related to Sale of Future Revenues - 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.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail" id="DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail">
        <link:definition>100860 - Disclosure - Liability Related to Sale of Future Revenues - Schedule of Activity of Liability Related to Sale of Future Revenues (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.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail" id="DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail">
        <link:definition>100870 - Disclosure - Senior Secured Term Loan Facilities - 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.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail" id="DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail">
        <link:definition>100880 - Disclosure - Senior Secured Term Loan Facilities - Summary of Senior Secured Term Loan Facilities (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.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRoyaltiesScheduleOfRevenuePaymentCapMaturityDetails" id="DisclosureLiabilityRelatedToSaleOfFutureRoyaltiesScheduleOfRevenuePaymentCapMaturityDetails">
        <link:definition>100890 - Disclosure - Liability Related to Sale of Future Royalties - Schedule of Revenue Payment Cap Maturity (Details)</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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail" id="Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail">
        <link:definition>100900 - Disclosure - Product Development Obligations - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail" id="Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail">
        <link:definition>100910 - Disclosure - Commitments and Contingencies - Summary of Outstanding Non-cancelable Purchase Obligations (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail" id="Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail">
        <link:definition>100920 - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationCommonStockAdditionalInformationDetail" id="Role_DisclosureEquityAndStockBasedCompensationCommonStockAdditionalInformationDetail">
        <link:definition>100930 - Disclosure - Equity and Stock-based Compensation - Common Stock - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail" id="Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail">
        <link:definition>100940 - Disclosure - Equity and Stock-based Compensation - Summary of Common Stock Reserved for Future Issuance (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.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails" id="DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails">
        <link:definition>100950 - Disclosure - Equity and Stock-based Compensation -At-the-Market Program-Additional Information (Details)</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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail" id="Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail">
        <link:definition>100960 - Disclosure - Equity and Stock-based Compensation - Stock 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail" id="Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail">
        <link:definition>100970 - Disclosure - Equity and Stock-based Compensation - Stock Plans - Summary of Stock Option Transactions (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.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail" id="DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail">
        <link:definition>100980 - Disclosure - Equity and Stock-based Compensation - Summary of RSU,PRSU and TSR Awards (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail" id="Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail">
        <link:definition>100990 - Disclosure - Equity and Stock-based Compensation - Employee Stock Purchase 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail" id="Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail">
        <link:definition>101000 - Disclosure - Equity and Stock-based Compensation - Schedule of Recorded 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail" id="Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail">
        <link:definition>101010 - Disclosure - Equity and Stock-based Compensation - Schedule of Assumptions used to Estimate Fair Value of Stock Options Granted and Employee Stock Purchase Plans (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail" id="Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail">
        <link:definition>101020 - Disclosure - Equity and Stock-based Compensation - Stock-Based Compensation - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationWarrantsAdditionalInformationDetail" id="Role_DisclosureEquityAndStockBasedCompensationWarrantsAdditionalInformationDetail">
        <link:definition>101030 - Disclosure - Equity and Stock-based Compensation - Warrants - 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.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails" id="DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails">
        <link:definition>101040 - Disclosure - Equity and Stock based compensation - Schedule of Assumptions used to Estimate Fair Value of TSR Awards (Details)</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.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail" id="DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail">
        <link:definition>101050 - Disclosure - Equity and Stock-based Compensation - Subsidiary Stock and Non-Controlling Interests - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail" id="Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail">
        <link:definition>101060 - Disclosure - Net Loss Per Share - Schedule of Weighted Impacts of Outstanding Anti-dilutive Securities Excluded from Calculation of Diluted Net Loss Per Share (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesComponentsOfLossBeforeIncomeTaxesDetail" id="Role_DisclosureIncomeTaxesComponentsOfLossBeforeIncomeTaxesDetail">
        <link:definition>101070 - Disclosure - Income Taxes - Components of Loss 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail" id="Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail">
        <link:definition>101080 - Disclosure - Income Taxes - Schedule of Components of Provision For 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail" id="Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail">
        <link:definition>101090 - Disclosure - Income Taxes - Schedule of Reconciliation Between Statutory Federal Income Tax Rate and Effective 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail" id="Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail">
        <link:definition>101100 - Disclosure - Income Taxes - Schedule of Significant Components of Deferred Tax 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail" id="Role_DisclosureIncomeTaxesAdditionalInformationDetail">
        <link:definition>101110 - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail" id="Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail">
        <link:definition>101120 - Disclosure - Income Taxes - Reconciliation of the Beginning and Ending Amounts of Unrecognized Income 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail" id="Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail">
        <link:definition>101130 - 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:roleType roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail" id="Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail">
        <link:definition>101140 - Disclosure - Segment and Geographic Information - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail" id="Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail">
        <link:definition>101150 - Disclosure - Segment and Geographic Information - Schedule 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByGeographicAreaDetail" id="Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByGeographicAreaDetail">
        <link:definition>101160 - Disclosure - Segment and Geographic Information - Schedule of Inventory 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByInventoryOwnershipDetail" id="Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByInventoryOwnershipDetail">
        <link:definition>101170 - Disclosure - Segment and Geographic Information - Schedule of Inventory by Inventory Ownership (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail" id="Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail">
        <link:definition>101180 - Disclosure - Segment and Geographic Information - Schedule of 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail" id="Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail">
        <link:definition>101190 - Disclosure - Segment and Geographic Information - Summary of Finance and Operating Lease Right of Use Assets by Geographical Location (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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail" id="Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail">
        <link:definition>101200 - Disclosure - Segment and Geographic Information - Schedule of Customer Concentration by Collaboration Partners and Distribution Entity (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.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail" id="DisclosureSubsequentEventAdditionalInformationDetail">
        <link:definition>101210 - Disclosure - Subsequent Event - 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail" id="Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail">
        <link:definition>101220 - Disclosure - Schedule II - Valuation and Qualifying Accounts (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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation" xlink:href="fgen-20231231.xsd#Role_DocumentDocumentAndEntityInformation" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets" xlink:href="fgen-20231231.xsd#Role_StatementConsolidatedBalanceSheets" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical" xlink:href="fgen-20231231.xsd#Role_StatementConsolidatedBalanceSheetsParenthetical" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations" xlink:href="fgen-20231231.xsd#Role_StatementConsolidatedStatementsOfOperations" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical" xlink:href="fgen-20231231.xsd#Role_StatementConsolidatedStatementsOfOperationsParenthetical" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss" xlink:href="fgen-20231231.xsd#Role_StatementConsolidatedStatementsOfComprehensiveLoss" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit" xlink:href="fgen-20231231.xsd#StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows" xlink:href="fgen-20231231.xsd#Role_StatementConsolidatedStatementsOfCashFlows" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlowsParenthetical" xlink:href="fgen-20231231.xsd#Role_StatementConsolidatedStatementsOfCashFlowsParenthetical" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureTheCompany" xlink:href="fgen-20231231.xsd#Role_DisclosureTheCompany" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies" xlink:href="fgen-20231231.xsd#Role_DisclosureSummaryOfSignificantAccountingPolicies" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenues1" xlink:href="fgen-20231231.xsd#DisclosureCollaborationAgreementsLicenseAgreementAndRevenues1" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeutics1" xlink:href="fgen-20231231.xsd#DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeutics1" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntity" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityMethodInvestmentVariableInterestEntity" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurements" xlink:href="fgen-20231231.xsd#Role_DisclosureFairValueMeasurements" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeases" xlink:href="fgen-20231231.xsd#Role_DisclosureLeases" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponents" xlink:href="fgen-20231231.xsd#Role_DisclosureBalanceSheetComponents" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilities" xlink:href="fgen-20231231.xsd#DisclosureSeniorSecuredTermLoanFacilities" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenues" xlink:href="fgen-20231231.xsd#DisclosureLiabilityRelatedToSaleOfFutureRevenues" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligations" xlink:href="fgen-20231231.xsd#Role_DisclosureProductDevelopmentObligations" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingencies" xlink:href="fgen-20231231.xsd#Role_DisclosureCommitmentsAndContingencies" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensation" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityAndStockBasedCompensation" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShare" xlink:href="fgen-20231231.xsd#Role_DisclosureNetLossPerShare" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxes" xlink:href="fgen-20231231.xsd#Role_DisclosureIncomeTaxes" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactions" xlink:href="fgen-20231231.xsd#Role_DisclosureRelatedPartyTransactions" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformation" xlink:href="fgen-20231231.xsd#Role_DisclosureSegmentAndGeographicInformation" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEvent1" xlink:href="fgen-20231231.xsd#DisclosureSubsequentEvent1" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccounts" xlink:href="fgen-20231231.xsd#Role_DisclosureScheduleIIValuationAndQualifyingAccounts" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies" xlink:href="fgen-20231231.xsd#Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesTables" xlink:href="fgen-20231231.xsd#Role_DisclosureSummaryOfSignificantAccountingPoliciesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables" xlink:href="fgen-20231231.xsd#DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsTables" xlink:href="fgen-20231231.xsd#DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityTables" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityMethodInvestmentVariableInterestEntityTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsTables" xlink:href="fgen-20231231.xsd#Role_DisclosureFairValueMeasurementsTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesTables" xlink:href="fgen-20231231.xsd#Role_DisclosureLeasesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsTables" xlink:href="fgen-20231231.xsd#Role_DisclosureBalanceSheetComponentsTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesTable" xlink:href="fgen-20231231.xsd#DisclosureSeniorSecuredTermLoanFacilitiesTable" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesTables" xlink:href="fgen-20231231.xsd#DisclosureLiabilityRelatedToSaleOfFutureRevenuesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesTables" xlink:href="fgen-20231231.xsd#Role_DisclosureCommitmentsAndContingenciesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationTables" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityAndStockBasedCompensationTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareTables" xlink:href="fgen-20231231.xsd#Role_DisclosureNetLossPerShareTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesTables" xlink:href="fgen-20231231.xsd#Role_DisclosureIncomeTaxesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationTables" xlink:href="fgen-20231231.xsd#Role_DisclosureSegmentAndGeographicInformationTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail" xlink:href="fgen-20231231.xsd#Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail" xlink:href="fgen-20231231.xsd#Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail" xlink:href="fgen-20231231.xsd#Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail" xlink:href="fgen-20231231.xsd#Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail" xlink:href="fgen-20231231.xsd#Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail" xlink:href="fgen-20231231.xsd#DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail" xlink:href="fgen-20231231.xsd#DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail" xlink:href="fgen-20231231.xsd#DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail" xlink:href="fgen-20231231.xsd#DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail" xlink:href="fgen-20231231.xsd#DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu" xlink:href="fgen-20231231.xsd#DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureFairValueMeasurementsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureLeasesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureLeasesComponentsOfLeaseExpenseDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseTermAndDiscountRateDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureLeasesScheduleOfLeaseTermAndDiscountRateDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim" xlink:href="fgen-20231231.xsd#DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfOtherLongTermLiabilitiesDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureBalanceSheetComponentsScheduleOfOtherLongTermLiabilitiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail" xlink:href="fgen-20231231.xsd#DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail" xlink:href="fgen-20231231.xsd#DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRoyaltiesScheduleOfRevenuePaymentCapMaturityDetails" xlink:href="fgen-20231231.xsd#DisclosureLiabilityRelatedToSaleOfFutureRoyaltiesScheduleOfRevenuePaymentCapMaturityDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationCommonStockAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityAndStockBasedCompensationCommonStockAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails" xlink:href="fgen-20231231.xsd#DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail" xlink:href="fgen-20231231.xsd#DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationWarrantsAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureEquityAndStockBasedCompensationWarrantsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails" xlink:href="fgen-20231231.xsd#DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesComponentsOfLossBeforeIncomeTaxesDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureIncomeTaxesComponentsOfLossBeforeIncomeTaxesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureIncomeTaxesAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByGeographicAreaDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByGeographicAreaDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByInventoryOwnershipDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByInventoryOwnershipDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail" xlink:href="fgen-20231231.xsd#DisclosureSubsequentEventAdditionalInformationDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail" xlink:href="fgen-20231231.xsd#Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim1" xlink:href="fgen-20231231.xsd#DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim1" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2" xlink:href="fgen-20231231.xsd#Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2" 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: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:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:title="labelLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebt" xlink:label="us-gaap_ConvertibleDebt"/>
          <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_VariableInterestEntityDisclosureTextBlock" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock"/>
          <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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccountsReceivableFromDistributorsMember" xlink:label="fgen_AccountsReceivableFromDistributorsMember"/>
          <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="fgen-20231231.xsd#fgen_WarrantExercisedDuringPeriodShares" xlink:label="fgen_WarrantExercisedDuringPeriodShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation"/>
          <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="fgen-20231231.xsd#fgen_SeniorSecuredLoanAgreementMember" xlink:label="fgen_SeniorSecuredLoanAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ClinicalDevelopmentMilestonesMember" xlink:label="fgen_ClinicalDevelopmentMilestonesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_InitialIssuanceCostsRelatedToSaleOfFutureRevenues" xlink:label="fgen_InitialIssuanceCostsRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent" xlink:label="us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent"/>
          <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_AccountingStandardsUpdate201409Member" xlink:label="us-gaap_AccountingStandardsUpdate201409Member"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_APIShipmentMember" xlink:label="fgen_APIShipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_HiFiBiOAgreementMember" xlink:label="fgen_HiFiBiOAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember"/>
          <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_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList"/>
          <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_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonredeemableNoncontrollingInterest" xlink:label="us-gaap_NonredeemableNoncontrollingInterest"/>
          <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_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock" xlink:label="fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock"/>
          <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_ConstructionInProgressExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_ConstructionInProgressExpendituresIncurredButNotYetPaid"/>
          <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.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate"/>
          <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="fgen-20231231.xsd#fgen_OwnershipInChinaMember" xlink:label="fgen_OwnershipInChinaMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NonCashAcquisitionInFortis" xlink:label="fgen_NonCashAcquisitionInFortis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationDeductions" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationDeductions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationTechniqueDiscountedCashFlowMember" xlink:label="us-gaap_ValuationTechniqueDiscountedCashFlowMember"/>
          <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_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract"/>
          <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="fgen-20231231.xsd#fgen_AccruedProductDevelopmentCostsExcludingInterest" xlink:label="fgen_AccruedProductDevelopmentCostsExcludingInterest"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <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="fgen-20231231.xsd#fgen_RevenuePaymentCapAmountDueAfterYearFive" xlink:label="fgen_RevenuePaymentCapAmountDueAfterYearFive"/>
          <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.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock" xlink:label="fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock"/>
          <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="fgen-20231231.xsd#fgen_SharedDevelopmentCosts" xlink:label="fgen_SharedDevelopmentCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesEPreferredStockMember" xlink:label="us-gaap_SeriesEPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BiosyntheticCorneaMember" xlink:label="fgen_BiosyntheticCorneaMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DebtInstrumentAccruedInterest" xlink:label="fgen_DebtInstrumentAccruedInterest"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract" xlink:label="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_InventoryByGeographicAreasTableTextBlock" xlink:label="fgen_InventoryByGeographicAreasTableTextBlock"/>
          <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="fgen-20231231.xsd#fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts" xlink:label="fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommercialSalesAndOtherEventsMilestone" xlink:label="fgen_CommercialSalesAndOtherEventsMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfLeasesLineItems" xlink:label="fgen_ScheduleOfLeasesLineItems"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent" xlink:label="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnconditionalPurchaseObligationsExcludingCapitalStockRedemptionsAbstract" xlink:label="us-gaap_UnconditionalPurchaseObligationsExcludingCapitalStockRedemptionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend" xlink:label="us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement" xlink:label="fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement"/>
          <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="fgen-20231231.xsd#fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember" xlink:label="fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember"/>
          <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_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromSalesOfAvailableForSaleSecurities" xlink:label="fgen_ProceedsFromSalesOfAvailableForSaleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests" xlink:label="fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ReversalOfAccruedCoPromotionExpenses" xlink:label="fgen_ReversalOfAccruedCoPromotionExpenses"/>
          <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.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred" xlink:label="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransactionDomain" xlink:label="us-gaap_TransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FairValueAssetsLevel2ToLevel1TransferAmount" xlink:label="fgen_FairValueAssetsLevel2ToLevel1TransferAmount"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredTaxAssetsIntangibleAssets" xlink:label="fgen_DeferredTaxAssetsIntangibleAssets"/>
          <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_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_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_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
          <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_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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingCostsAndExpensesAbstract" xlink:label="us-gaap_OperatingCostsAndExpensesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenueInterestFinancingAgreementMember" xlink:label="fgen_RevenueInterestFinancingAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccountsReceivableNetCurrentRelatedParties" xlink:label="fgen_AccountsReceivableNetCurrentRelatedParties"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract" xlink:label="us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockVotingRights" xlink:label="us-gaap_PreferredStockVotingRights"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsideration" xlink:label="fgen_CollaborativeArrangementAggregateConsideration"/>
          <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="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityDeduction" xlink:label="fgen_ContractWithCustomerLiabilityDeduction"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" xlink:label="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfSecuredDebt" xlink:label="us-gaap_RepaymentsOfSecuredDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesGPreferredStockMember" xlink:label="us-gaap_SeriesGPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RepaymentsOfFinanceLeaseLiabilities" xlink:label="fgen_RepaymentsOfFinanceLeaseLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ExpirationYearTwoThousandTwentySixMember" xlink:label="fgen_ExpirationYearTwoThousandTwentySixMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BankOfFinlandInterestRateMember" xlink:label="fgen_BankOfFinlandInterestRateMember"/>
          <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_ForeignCountryMember" xlink:label="us-gaap_ForeignCountryMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TotalShareholderReturnAwardsMember" xlink:label="fgen_TotalShareholderReturnAwardsMember"/>
          <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_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="fgen-20231231.xsd#fgen_MaximumSalesMilestonesReceivable" xlink:label="fgen_MaximumSalesMilestonesReceivable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRoyaltiesTextBlock" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
          <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="fgen-20231231.xsd#fgen_RepaymentDescription" xlink:label="fgen_RepaymentDescription"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedAndOtherCurrentLiabilitiesMember" xlink:label="fgen_AccruedAndOtherCurrentLiabilitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractLiabilitiesMember" xlink:label="fgen_ContractLiabilitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock"/>
          <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_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DueToRelatedPartiesDeferredRevenueNoncurrent" xlink:label="fgen_DueToRelatedPartiesDeferredRevenueNoncurrent"/>
          <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_ClassOfWarrantOrRightOutstanding" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock"/>
          <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="fgen-20231231.xsd#fgen_DevelopmentAndOtherRevenueMember" xlink:label="fgen_DevelopmentAndOtherRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedProductDevelopmentCosts" xlink:label="fgen_AccruedProductDevelopmentCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember"/>
          <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="fgen-20231231.xsd#fgen_OtherLiabilitiesCurrentDueToRelatedParties" xlink:label="fgen_OtherLiabilitiesCurrentDueToRelatedParties"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FinanceLeaseAccumulatedAmortization" xlink:label="fgen_FinanceLeaseAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FalikangCollaborationAgreementMember" xlink:label="fgen_FalikangCollaborationAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions"/>
          <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_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_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_InventoryRawMaterials" xlink:label="us-gaap_InventoryRawMaterials"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesBPreferredStockMember" xlink:label="us-gaap_SeriesBPreferredStockMember"/>
          <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_CashAcquiredFromAcquisition" xlink:label="us-gaap_CashAcquiredFromAcquisition"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger"/>
          <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/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="fgen-20231231.xsd#fgen_InterestRateOptionTwoMember" xlink:label="fgen_InterestRateOptionTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DebtFinancingAgreementMember" xlink:label="fgen_DebtFinancingAgreementMember"/>
          <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="fgen-20231231.xsd#fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost" xlink:label="fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts"/>
          <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="fgen-20231231.xsd#fgen_PaymentCapDateInTwoThousandThirtyOneMember" xlink:label="fgen_PaymentCapDateInTwoThousandThirtyOneMember"/>
          <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_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_SeriesAPreferredStockMember" xlink:label="us-gaap_SeriesAPreferredStockMember"/>
          <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_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent" xlink:label="fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock" xlink:label="fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable"/>
          <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_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent"/>
          <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="fgen-20231231.xsd#fgen_DescriptionOfSalesReturn" xlink:label="fgen_DescriptionOfSalesReturn"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasuryAndGovernmentMember" xlink:label="us-gaap_USTreasuryAndGovernmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets"/>
          <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="fgen-20231231.xsd#fgen_HighlyLiquidInvestmentMaturityPeriod" xlink:label="fgen_HighlyLiquidInvestmentMaturityPeriod"/>
          <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="fgen-20231231.xsd#fgen_LesseeOperatingLeaseExpirationPeriod" xlink:label="fgen_LesseeOperatingLeaseExpirationPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities" xlink:label="fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesFPreferredStockMember" xlink:label="us-gaap_SeriesFPreferredStockMember"/>
          <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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:label="us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued"/>
          <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="fgen-20231231.xsd#fgen_AdditionalConsiderationBasedOnNetSales" xlink:label="fgen_AdditionalConsiderationBasedOnNetSales"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" xlink:label="fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
          <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_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PropertyTaxesAndOtherCurrent" xlink:label="fgen_PropertyTaxesAndOtherCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAdditionalUpfrontPayments" xlink:label="fgen_CollaborativeArrangementAdditionalUpfrontPayments"/>
          <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="fgen-20231231.xsd#fgen_LicenseFeesAndMilestonesRevenue" xlink:label="fgen_LicenseFeesAndMilestonesRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateDomain" xlink:label="us-gaap_AwardDateDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_InitialUpfrontPayment" xlink:label="fgen_InitialUpfrontPayment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredRevenuesFromAssociatedContracts" xlink:label="fgen_DeferredRevenuesFromAssociatedContracts"/>
          <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="fgen-20231231.xsd#fgen_InitialTermLoanMember" xlink:label="fgen_InitialTermLoanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MiscellaneousReceivables" xlink:label="fgen_MiscellaneousReceivables"/>
          <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="fgen-20231231.xsd#fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:label="fgen_ShareholdersEquityAndStockBasedCompensationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance" xlink:label="fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo" xlink:label="fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ShortTermInvestmentsMaximumMaturityPeriod" xlink:label="fgen_ShortTermInvestmentsMaximumMaturityPeriod"/>
          <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="fgen-20231231.xsd#fgen_NonKeyAccountHospitalListingAwardMember" xlink:label="fgen_NonKeyAccountHospitalListingAwardMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract"/>
          <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_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NonCashInterestExpenseRelatedToDrugProductRevenue" xlink:label="fgen_NonCashInterestExpenseRelatedToDrugProductRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_GrossProceedsReceivedFromSaleOfRevenue" xlink:label="fgen_GrossProceedsReceivedFromSaleOfRevenue"/>
          <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_AssetBackedSecuritiesMember" xlink:label="us-gaap_AssetBackedSecuritiesMember"/>
          <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems"/>
          <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_RecordedUnconditionalPurchaseObligationLineItems" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationLineItems"/>
          <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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss"/>
          <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="fgen-20231231.xsd#fgen_PrepaymentAmount" xlink:label="fgen_PrepaymentAmount"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommercialMilestone" xlink:label="fgen_CommercialMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RestrictedTimeDepositsNoncurrent" xlink:label="fgen_RestrictedTimeDepositsNoncurrent"/>
          <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_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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetsFinitelived" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsFinitelived"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommonStockSharesReserved" xlink:label="fgen_CommonStockSharesReserved"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
          <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_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TwoThousandAndFourteenEquityIncentivePlanMember" xlink:label="fgen_TwoThousandAndFourteenEquityIncentivePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BondsMember" xlink:label="us-gaap_BondsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues"/>
          <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_EntityWideRevenueMajorCustomerLineItems" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems"/>
          <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_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability"/>
          <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription"/>
          <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="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="fgen-20231231.xsd#fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember" xlink:label="fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember"/>
          <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_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenuePaymentCapAmountDueInYearFour" xlink:label="fgen_RevenuePaymentCapAmountDueInYearFour"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseRevenueMember" xlink:label="fgen_LicenseRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" xlink:label="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings"/>
          <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="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_SubleaseIncome" xlink:label="us-gaap_SubleaseIncome"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_GrossProceedsFromSaleOfFutureRevenues" xlink:label="fgen_GrossProceedsFromSaleOfFutureRevenues"/>
          <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.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_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_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityTable" xlink:label="fgen_ContractWithCustomerLiabilityTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesAndRestOfWorldMember" xlink:label="fgen_UnitedStatesAndRestOfWorldMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LossOnAssetAcquisition" xlink:label="fgen_LossOnAssetAcquisition"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BeijingEconomicTechnologicalDevelopmentAreaMember" xlink:label="fgen_BeijingEconomicTechnologicalDevelopmentAreaMember"/>
          <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="fgen-20231231.xsd#fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments" xlink:label="fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments"/>
          <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset" xlink:label="fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable"/>
          <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="fgen-20231231.xsd#fgen_PercentageOfExciseTaxOnStockBuyback" xlink:label="fgen_PercentageOfExciseTaxOnStockBuyback"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NetTransferPriceMember" xlink:label="fgen_NetTransferPriceMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DiscountsAndRebatesMember" xlink:label="fgen_DiscountsAndRebatesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:label="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LaboratoryEquipmentMember" xlink:label="fgen_LaboratoryEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInDeferredRevenueMember" xlink:label="fgen_IncreaseDecreaseInDeferredRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember"/>
          <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_RecordedUnconditionalPurchaseObligationDueInSecondYear" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfRevenueInterestOnGlobalNetSales" xlink:label="fgen_PercentageOfRevenueInterestOnGlobalNetSales"/>
          <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="fgen-20231231.xsd#fgen_ContractualSalesRebateMember" xlink:label="fgen_ContractualSalesRebateMember"/>
          <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="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_RevenuePerformanceObligationDescriptionOfPaymentTerms" xlink:label="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember" xlink:label="fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock" xlink:label="fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredTaxLiabilitiesFixedAssets" xlink:label="fgen_DeferredTaxLiabilitiesFixedAssets"/>
          <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="fgen-20231231.xsd#fgen_CommitmentsAndContingenciesLineItems" xlink:label="fgen_CommitmentsAndContingenciesLineItems"/>
          <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_LossContingencyReceivableCurrent" xlink:label="us-gaap_LossContingencyReceivableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtSecuritiesMember" xlink:label="us-gaap_ConvertibleDebtSecuritiesMember"/>
          <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="fgen-20231231.xsd#fgen_MilestonePaymentsMember" xlink:label="fgen_MilestonePaymentsMember"/>
          <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="fgen-20231231.xsd#fgen_NoncashInterestExpenseRelatedToSaleOfFutureRevenue" xlink:label="fgen_NoncashInterestExpenseRelatedToSaleOfFutureRevenue"/>
          <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="fgen-20231231.xsd#fgen_OfficeSpacesMember" xlink:label="fgen_OfficeSpacesMember"/>
          <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/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsAbstract" xlink:label="srt_ValuationAndQualifyingAccountsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted" xlink:label="fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense"/>
          <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_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_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="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_BusinessCombinationPriceOfAcquisitionExpected" xlink:label="us-gaap_BusinessCombinationPriceOfAcquisitionExpected"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember" xlink:label="fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember"/>
          <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_LicenseMember" xlink:label="us-gaap_LicenseMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NovaquestCapitalManagementMember" xlink:label="fgen_NovaquestCapitalManagementMember"/>
          <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/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/>
          <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="fgen-20231231.xsd#fgen_ProductDevelopmentObligationsDisclosureTextBlock" xlink:label="fgen_ProductDevelopmentObligationsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DueToRelatedPartiesDeferredRevenueCurrent" xlink:label="fgen_DueToRelatedPartiesDeferredRevenueCurrent"/>
          <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="fgen-20231231.xsd#fgen_DrugProductRevenueFromRelatedParty" xlink:label="fgen_DrugProductRevenueFromRelatedParty"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredApprovalMilestoneMember" xlink:label="fgen_DeferredApprovalMilestoneMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:label="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaABMember" xlink:label="fgen_AstraZenecaABMember"/>
          <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="fgen-20231231.xsd#fgen_RecentlyIssuedAndAdoptedAccountingGuidancePolicyTextBlock" xlink:label="fgen_RecentlyIssuedAndAdoptedAccountingGuidancePolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract"/>
          <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="fgen-20231231.xsd#fgen_MaximumPaymentCapAmount" xlink:label="fgen_MaximumPaymentCapAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USGovernmentSecuritiesAtCarryingValue" xlink:label="us-gaap_USGovernmentSecuritiesAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherLiabilitiesNoncurrentDueToRelatedParties" xlink:label="fgen_OtherLiabilitiesNoncurrentDueToRelatedParties"/>
          <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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
          <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="fgen-20231231.xsd#fgen_DebtInstrumentInterestRatePayableKindStatedPercentage" xlink:label="fgen_DebtInstrumentInterestRatePayableKindStatedPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive"/>
          <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="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="fgen-20231231.xsd#fgen_FinanceLeaseAndOperatingLeaseAssets" xlink:label="fgen_FinanceLeaseAndOperatingLeaseAssets"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasAndAstraZenecaMember" xlink:label="fgen_AstellasAndAstraZenecaMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock" xlink:label="fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasAgreementMember" xlink:label="fgen_AstellasAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AlternativeInvestmentMeasurementInput" xlink:label="us-gaap_AlternativeInvestmentMeasurementInput"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation" xlink:label="fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ExperienceHistoricalOwnershipChanges" xlink:label="fgen_ExperienceHistoricalOwnershipChanges"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockRedemptionTerms" xlink:label="us-gaap_PreferredStockRedemptionTerms"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ManufactureAndSupplyOfPamrevlumabMember" xlink:label="fgen_ManufactureAndSupplyOfPamrevlumabMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommitmentsAndContingenciesTable" xlink:label="fgen_CommitmentsAndContingenciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivableRelatedParties" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivableRelatedParties"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProvisionForCoDevelopmentServices" xlink:label="fgen_ProvisionForCoDevelopmentServices"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesAndRestOfWorldAndChinaMember" xlink:label="fgen_UnitedStatesAndRestOfWorldAndChinaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesDPreferredStockMember" xlink:label="us-gaap_SeriesDPreferredStockMember"/>
          <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.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommercialSalesMilestone" xlink:label="fgen_CommercialSalesMilestone"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations" xlink:label="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member" xlink:label="fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ReceivedFromSaleOfRevenue" xlink:label="fgen_ReceivedFromSaleOfRevenue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfRevenueCurrent" xlink:label="fgen_LiabilityRelatedToSaleOfRevenueCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain"/>
          <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_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain"/>
          <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="fgen-20231231.xsd#fgen_CashConsiderationReceivedUnderCollaborationAgreement" xlink:label="fgen_CashConsiderationReceivedUnderCollaborationAgreement"/>
          <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_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:label="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice"/>
          <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_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesReturnsAndAllowancesMember" xlink:label="us-gaap_SalesReturnsAndAllowancesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo"/>
          <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="fgen-20231231.xsd#fgen_DeferredForFutureRecognitionMember" xlink:label="fgen_DeferredForFutureRecognitionMember"/>
          <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="fgen-20231231.xsd#fgen_RevenuePaymentCapAmountDueNextTwelveMonths" xlink:label="fgen_RevenuePaymentCapAmountDueNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentToOptionsExercised" xlink:label="fgen_PaymentToOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_HiFiBiOAgreementsMember" xlink:label="fgen_HiFiBiOAgreementsMember"/>
          <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="fgen-20231231.xsd#fgen_AssetAcquisitionPolicyPolicyTextBlock" xlink:label="fgen_AssetAcquisitionPolicyPolicyTextBlock"/>
          <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="fgen-20231231.xsd#fgen_RegulatoryMilestonesMember" xlink:label="fgen_RegulatoryMilestonesMember"/>
          <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="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityAbstract" xlink:label="fgen_AcquisitionAndVariableInterestEntityAbstract"/>
          <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="fgen-20231231.xsd#fgen_TwoThousandAndFiveStockPlanMember" xlink:label="fgen_TwoThousandAndFiveStockPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ChinaPerformanceObligationMember" xlink:label="fgen_ChinaPerformanceObligationMember"/>
          <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="fgen-20231231.xsd#fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses" xlink:label="fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncomeTaxesTable" xlink:label="fgen_IncomeTaxesTable"/>
          <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_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_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="fgen-20231231.xsd#fgen_ScheduleOfLeasesTable" xlink:label="fgen_ScheduleOfLeasesTable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasEuropeAgreementMember" xlink:label="fgen_AstellasEuropeAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedCoPromotionExpensesCurrent" xlink:label="fgen_AccruedCoPromotionExpensesCurrent"/>
          <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="fgen-20231231.xsd#fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues" xlink:label="fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues"/>
          <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="fgen-20231231.xsd#fgen_CorneaProductsMember" xlink:label="fgen_CorneaProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation" xlink:label="fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation"/>
          <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_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeDividend" xlink:label="us-gaap_InvestmentIncomeDividend"/>
          <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="fgen-20231231.xsd#fgen_ProductDevelopmentCosts" xlink:label="fgen_ProductDevelopmentCosts"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CorporateAlternativeMinimumTaxPercentage" xlink:label="fgen_CorporateAlternativeMinimumTaxPercentage"/>
          <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_LeaseCostAbstract" xlink:label="us-gaap_LeaseCostAbstract"/>
          <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="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration" xlink:label="fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <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_DeferredTaxAssetIntraEntityTransferAssetOtherThanInventory" xlink:label="us-gaap_DeferredTaxAssetIntraEntityTransferAssetOtherThanInventory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditConcentrationRiskMember" xlink:label="us-gaap_CreditConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DelayedDrawTermLoanMember" xlink:label="fgen_DelayedDrawTermLoanMember"/>
          <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="fgen-20231231.xsd#fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember" xlink:label="fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate" xlink:label="fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate"/>
          <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="fgen-20231231.xsd#fgen_ProductRevenuePolicyPolicyTextBlock" xlink:label="fgen_ProductRevenuePolicyPolicyTextBlock"/>
          <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_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenuePolicyTextBlock" xlink:label="fgen_DrugProductRevenuePolicyTextBlock"/>
          <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="fgen-20231231.xsd#fgen_TransactionCostsRelatedToSaleOfFutureRevenues" xlink:label="fgen_TransactionCostsRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DevelopmentAndRegulatoryApprovalMilestones" xlink:label="fgen_DevelopmentAndRegulatoryApprovalMilestones"/>
          <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="fgen-20231231.xsd#fgen_ProfitShareMember" xlink:label="fgen_ProfitShareMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock"/>
          <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="fgen-20231231.xsd#fgen_OtherDiscountsAndRebatesMember" xlink:label="fgen_OtherDiscountsAndRebatesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherRevenuePatentTransferMember" xlink:label="fgen_OtherRevenuePatentTransferMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract"/>
          <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="fgen-20231231.xsd#fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock" xlink:label="fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RedeemableNonControllingInterests" xlink:label="fgen_RedeemableNonControllingInterests"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest"/>
          <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="fgen-20231231.xsd#fgen_StockOptionAwardsMember" xlink:label="fgen_StockOptionAwardsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedRestructuringCharges" xlink:label="fgen_AccruedRestructuringCharges"/>
          <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="fgen-20231231.xsd#fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares" xlink:label="fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LongTermInvestmentExcludingEquityMethodInvestments" xlink:label="fgen_LongTermInvestmentExcludingEquityMethodInvestments"/>
          <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_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncurrentLiabilitiesTableTextBlock" xlink:label="us-gaap_OtherNoncurrentLiabilitiesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PotentialMilestones" xlink:label="fgen_PotentialMilestones"/>
          <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_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ShorensteinPropertiesLLCMember" xlink:label="fgen_ShorensteinPropertiesLLCMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockDividendRatePercentage" xlink:label="us-gaap_PreferredStockDividendRatePercentage"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherRisksAndUncertaintiesPolicyTextBlock" xlink:label="fgen_OtherRisksAndUncertaintiesPolicyTextBlock"/>
          <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_MeasurementInputDiscountRateMember" xlink:label="us-gaap_MeasurementInputDiscountRateMember"/>
          <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_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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock"/>
          <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_LoansReceivableBasisSpreadOnVariableRate" xlink:label="us-gaap_LoansReceivableBasisSpreadOnVariableRate"/>
          <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="fgen-20231231.xsd#fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities" xlink:label="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BilledContractReceivables" xlink:label="us-gaap_BilledContractReceivables"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInProcessResearchAndDevelopment" xlink:label="us-gaap_PaymentsToAcquireInProcessResearchAndDevelopment"/>
          <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/srt/2023/elts/srt-2023.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments" xlink:label="fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments"/>
          <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="fgen-20231231.xsd#fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets" xlink:label="fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember"/>
          <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="fgen-20231231.xsd#fgen_ConvertiblePromissoryNoteMember" xlink:label="fgen_ConvertiblePromissoryNoteMember"/>
          <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_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:label="us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MaximumFutureMilestonePayments" xlink:label="fgen_MaximumFutureMilestonePayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PerformanceBasedRestrictedStockAwardsMember" xlink:label="fgen_PerformanceBasedRestrictedStockAwardsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FibrogenEuropeOyMember" xlink:label="fgen_FibrogenEuropeOyMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember" xlink:label="us-gaap_OfficeEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock" xlink:label="fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FutureRevenueGranted" xlink:label="fgen_FutureRevenueGranted"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborationServicesAndOtherRevenue" xlink:label="fgen_CollaborationServicesAndOtherRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt"/>
          <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="fgen-20231231.xsd#fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember" xlink:label="fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock" xlink:label="fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNewClaimsFiledNumber" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber"/>
          <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_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduledRentCommencementYearOptionTwo" xlink:label="fgen_ScheduledRentCommencementYearOptionTwo"/>
          <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="fgen-20231231.xsd#fgen_OperatingLossCarryforwardsExpirationYear" xlink:label="fgen_OperatingLossCarryforwardsExpirationYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract"/>
          <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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <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_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems"/>
          <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="fgen-20231231.xsd#fgen_AccruedRestructuringChargeCurrent" xlink:label="fgen_AccruedRestructuringChargeCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MilestonePayments" xlink:label="fgen_MilestonePayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedPreclinicalAndClinicalTrialCurrent" xlink:label="fgen_AccruedPreclinicalAndClinicalTrialCurrent"/>
          <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_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_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet"/>
          <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/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis"/>
          <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="fgen-20231231.xsd#fgen_SeniorSecuredTermLoanFacilitiesMember" xlink:label="fgen_SeniorSecuredTermLoanFacilitiesMember"/>
          <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="fgen-20231231.xsd#fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues" xlink:label="fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract"/>
          <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LeaseAmendmentMember" xlink:label="fgen_LeaseAmendmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPayableCurrentAndNoncurrent" xlink:label="us-gaap_InterestPayableCurrentAndNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnrealizedLossGainOnEquityInvestments" xlink:label="fgen_UnrealizedLossGainOnEquityInvestments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesHPreferredStockMember" xlink:label="us-gaap_SeriesHPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityLineItems" xlink:label="fgen_ContractWithCustomerLiabilityLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AtmProgramMember" xlink:label="fgen_AtmProgramMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInvestmentsAbstract" xlink:label="us-gaap_ScheduleOfInvestmentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear"/>
          <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/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="fgen-20231231.xsd#fgen_DiscountsAndRebatesCurrentMember" xlink:label="fgen_DiscountsAndRebatesCurrentMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember" xlink:label="fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NumberOfOptionalRightsToExtendLease" xlink:label="fgen_NumberOfOptionalRightsToExtendLease"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LesseeFinanceLeaseExpirationPeriod" xlink:label="fgen_LesseeFinanceLeaseExpirationPeriod"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding" xlink:label="fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FortisTherapeuticsMember" xlink:label="fgen_FortisTherapeuticsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrentAndNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise" xlink:label="fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise"/>
          <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="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd#stpr_CA" xlink:label="stpr_CA"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock" xlink:label="fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableRelatedParties" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableRelatedParties"/>
          <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="fgen-20231231.xsd#fgen_AgencyBondsMember" xlink:label="fgen_AgencyBondsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock"/>
          <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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
          <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_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccountingPolicyLineItems" xlink:label="fgen_AccountingPolicyLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseTermOfContract1" xlink:label="us-gaap_LesseeFinanceLeaseTermOfContract1"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentPeriodOneMember" xlink:label="fgen_PaymentPeriodOneMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseOptionToExtend" xlink:label="us-gaap_LesseeFinanceLeaseOptionToExtend"/>
          <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="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityTable" xlink:label="fgen_AcquisitionAndVariableInterestEntityTable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LitigationSettlementCurrent" xlink:label="fgen_LitigationSettlementCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockVotingRights" xlink:label="us-gaap_CommonStockVotingRights"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_GrossAccountsReceivableMember" xlink:label="fgen_GrossAccountsReceivableMember"/>
          <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.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <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_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment"/>
          <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="fgen-20231231.xsd#fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares" xlink:label="fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FalikangMember" xlink:label="fgen_FalikangMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess" xlink:label="us-gaap_InventoryWorkInProcess"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockMember" xlink:label="us-gaap_EmployeeStockMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_EUSupplyAndAstellasAgreementMember" xlink:label="fgen_EUSupplyAndAstellasAgreementMember"/>
          <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_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:label="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RebatesAndDiscountsMember" xlink:label="fgen_RebatesAndDiscountsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock"/>
          <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="fgen-20231231.xsd#fgen_FibroGenIncMember" xlink:label="fgen_FibroGenIncMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DevelopmentRevenueMember" xlink:label="fgen_DevelopmentRevenueMember"/>
          <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="fgen-20231231.xsd#fgen_OtherInvestorsMember" xlink:label="fgen_OtherInvestorsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FibroGenCaymanMember" xlink:label="fgen_FibroGenCaymanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentPolicyTextBlock" xlink:label="us-gaap_InvestmentPolicyTextBlock"/>
          <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_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent"/>
          <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_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerMilestoneMethodTableTextBlock" xlink:label="fgen_ContractWithCustomerMilestoneMethodTableTextBlock"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnamortizedIssuanceCostsAndTransactionCosts" xlink:label="fgen_UnamortizedIssuanceCostsAndTransactionCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable"/>
          <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_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantMember" xlink:label="us-gaap_WarrantMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligation" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligation"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" xlink:label="fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments" xlink:label="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments"/>
          <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="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain"/>
          <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="fgen-20231231.xsd#fgen_NumberOfProductDevelopmentObligations" xlink:label="fgen_NumberOfProductDevelopmentObligations"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DirectSalesMember" xlink:label="fgen_DirectSalesMember"/>
          <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_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_CorporateBondSecuritiesMember" xlink:label="us-gaap_CorporateBondSecuritiesMember"/>
          <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_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="us-gaap_PrepaidExpenseCurrent"/>
          <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_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationVariableInterestEntityPolicy" xlink:label="us-gaap_ConsolidationVariableInterestEntityPolicy"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenueInterestPayment" xlink:label="fgen_RevenueInterestPayment"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:label="fgen_AcquisitionAndVariableInterestEntityLineItems"/>
          <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="fgen-20231231.xsd#fgen_BeijingFalikangPharmaceuticalCoLtdMember" xlink:label="fgen_BeijingFalikangPharmaceuticalCoLtdMember"/>
          <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="fgen-20231231.xsd#fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity" xlink:label="fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenuePaymentCapAmountDueInYearFive" xlink:label="fgen_RevenuePaymentCapAmountDueInYearFive"/>
          <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_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="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:label="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_InterestRateOptionOneMember" xlink:label="fgen_InterestRateOptionOneMember"/>
          <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="fgen-20231231.xsd#fgen_OtherTaxCreditCarryforwardsExpirationYear" xlink:label="fgen_OtherTaxCreditCarryforwardsExpirationYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember" xlink:label="fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember"/>
          <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="fgen-20231231.xsd#fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm" xlink:label="fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm"/>
          <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="fgen-20231231.xsd#fgen_SuppliesNet" xlink:label="fgen_SuppliesNet"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RsusPrsusAndTsrAwardsMember" xlink:label="fgen_RsusPrsusAndTsrAwardsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BondAndMutualFundsMember" xlink:label="fgen_BondAndMutualFundsMember"/>
          <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_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRoyaltiesTableTextBlock" xlink:label="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRoyaltiesTableTextBlock"/>
          <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="fgen-20231231.xsd#fgen_ClassOfWarrantOrRightNumberOfWarrantsOrRightsExercisedDuringPeriod" xlink:label="fgen_ClassOfWarrantOrRightNumberOfWarrantsOrRightsExercisedDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock"/>
          <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="fgen-20231231.xsd#fgen_ThirdPartyShareholdersMember" xlink:label="fgen_ThirdPartyShareholdersMember"/>
          <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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasJapanAgreementMember" xlink:label="fgen_AstellasJapanAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone" xlink:label="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone"/>
          <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="fgen-20231231.xsd#fgen_RevenuePaymentCapAmountDueInYearThree" xlink:label="fgen_RevenuePaymentCapAmountDueInYearThree"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments" xlink:label="fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherPurchasesAndProgramsMember" xlink:label="fgen_OtherPurchasesAndProgramsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice"/>
          <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="fgen-20231231.xsd#fgen_FinanceLeaseAndOperatingLeaseLiability" xlink:label="fgen_FinanceLeaseAndOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RoxadustatDrugProductMember" xlink:label="fgen_RoxadustatDrugProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths"/>
          <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.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion" xlink:label="us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion"/>
          <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.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransactionTypeAxis" xlink:label="us-gaap_TransactionTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" xlink:label="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IPOMember" xlink:label="us-gaap_IPOMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax" xlink:label="fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DebtInstrumentInterestRatePayableCashStatedPercentage" xlink:label="fgen_DebtInstrumentInterestRatePayableCashStatedPercentage"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FederalAndStateMember" xlink:label="fgen_FederalAndStateMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RestructuringChargePolicyTextBlock" xlink:label="fgen_RestructuringChargePolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ManufacturingRelatedMilestonePayments" xlink:label="fgen_ManufacturingRelatedMilestonePayments"/>
          <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_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfSecuredDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfSecuredDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax" xlink:label="us-gaap_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization"/>
          <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_LongTermDebtContingentPaymentOfPrincipalOrInterest" xlink:label="us-gaap_LongTermDebtContingentPaymentOfPrincipalOrInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt"/>
          <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_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition"/>
          <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_EntityFileNumber" xlink:label="dei_EntityFileNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PreferredSharesIssuedPricePerShare" xlink:label="fgen_PreferredSharesIssuedPricePerShare"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TransactionPriceAllocatedToPerformanceObligations" xlink:label="fgen_TransactionPriceAllocatedToPerformanceObligations"/>
          <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="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRevenues" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ClinicalTrialAccrualPolicyTextBlock" xlink:label="fgen_ClinicalTrialAccrualPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AllOtherMember" xlink:label="fgen_AllOtherMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Supplies" xlink:label="us-gaap_Supplies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseInDeferredRevenueMember" xlink:label="fgen_IncreaseInDeferredRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" xlink:label="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligationTable" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationTable"/>
          <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="fgen-20231231.xsd#fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:label="fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock"/>
          <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="fgen-20231231.xsd#fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock" xlink:label="fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LongTermInvestmentsMinimumMaturityPeriod" xlink:label="fgen_LongTermInvestmentsMinimumMaturityPeriod"/>
          <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="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_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_WeightedAverageDiscountRateAbstract" xlink:label="fgen_WeightedAverageDiscountRateAbstract"/>
          <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="fgen-20231231.xsd#fgen_OtherRevenueMember" xlink:label="fgen_OtherRevenueMember"/>
          <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_AccruedLiabilitiesAndOtherLiabilities" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities"/>
          <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_CollaborativeArrangementMember" xlink:label="us-gaap_CollaborativeArrangementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableInterestEntityOwnershipPercentage" xlink:label="us-gaap_VariableInterestEntityOwnershipPercentage"/>
          <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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProfitSharePercent" xlink:label="fgen_ProfitSharePercent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PriceAdjustmentMember" xlink:label="fgen_PriceAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquiredInProcessResearchAndDevelopmentAsset" xlink:label="fgen_AcquiredInProcessResearchAndDevelopmentAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfFundingForCosts" xlink:label="fgen_PercentageOfFundingForCosts"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment" xlink:label="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" xlink:label="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityAdditions" xlink:label="fgen_ContractWithCustomerLiabilityAdditions"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock" xlink:label="fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember" xlink:label="us-gaap_CommercialPaperMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrentAbstract" xlink:label="us-gaap_OtherLiabilitiesNoncurrentAbstract"/>
          <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="fgen-20231231.xsd#fgen_WarrantsExercisedDuringPeriodValue" xlink:label="fgen_WarrantsExercisedDuringPeriodValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
          <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_ManufacturingCosts" xlink:label="us-gaap_ManufacturingCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
          <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.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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromNonContingentUpfrontPayments" xlink:label="fgen_ProceedsFromNonContingentUpfrontPayments"/>
          <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="fgen-20231231.xsd#fgen_RevenuePaymentCapAmountDueInYearTwo" xlink:label="fgen_RevenuePaymentCapAmountDueInYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesRestOfWorldAndChinaMember" xlink:label="fgen_UnitedStatesRestOfWorldAndChinaMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseAgreementWithEluminexMember" xlink:label="fgen_LicenseAgreementWithEluminexMember"/>
          <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="fgen-20231231.xsd#fgen_FairValueAssetsLevel1ToLevel2TransferAmount" xlink:label="fgen_FairValueAssetsLevel1ToLevel2TransferAmount"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts" xlink:label="fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfCostGoodOrServiceExtensibleList" xlink:label="us-gaap_TypeOfCostGoodOrServiceExtensibleList"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionDomain" xlink:label="us-gaap_GeographicDistributionDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear" xlink:label="fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome"/>
          <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="fgen-20231231.xsd#fgen_FinanceLeaseRightOfUseAssetsCost" xlink:label="fgen_FinanceLeaseRightOfUseAssetsCost"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OwnershipInUnitedStatesMember" xlink:label="fgen_OwnershipInUnitedStatesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesCPreferredStockMember" xlink:label="us-gaap_SeriesCPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member"/>
          <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_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract"/>
          <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_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability"/>
          <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_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasMember" xlink:label="fgen_AstellasMember"/>
          <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="fgen-20231231.xsd#fgen_VariableConsiderationRelatedToProfitShare" xlink:label="fgen_VariableConsiderationRelatedToProfitShare"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties" xlink:label="fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignGovernmentDebtMember" xlink:label="us-gaap_ForeignGovernmentDebtMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquitySecuritiesMember" xlink:label="us-gaap_EquitySecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OperatingAndFinanceLeasePaymentObligations" xlink:label="fgen_OperatingAndFinanceLeasePaymentObligations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="us-gaap_MoneyMarketFundsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentPeriodTwoMember" xlink:label="fgen_PaymentPeriodTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock"/>
          <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_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_USGovernmentBondsMember" xlink:label="fgen_USGovernmentBondsMember"/>
          <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="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_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfDrugProductRevenueTableTextBlock" xlink:label="fgen_ScheduleOfDrugProductRevenueTableTextBlock"/>
          <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_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_CommercialPaperAtCarryingValue" xlink:label="us-gaap_CommercialPaperAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfRevenueSold" xlink:label="fgen_PercentageOfRevenueSold"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OperatingLeaseRightOfUseAssetsCost" xlink:label="fgen_OperatingLeaseRightOfUseAssetsCost"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear" xlink:label="fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt" xlink:label="us-gaap_InterestExpenseDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss"/>
          <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="fgen-20231231.xsd#fgen_DelayedDrawTermLoanTwoMember" xlink:label="fgen_DelayedDrawTermLoanTwoMember"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
          <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="fgen-20231231.xsd#fgen_TermLoanMember" xlink:label="fgen_TermLoanMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts" xlink:label="fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RoyaltyRateOnNetRevenue" xlink:label="fgen_RoyaltyRateOnNetRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingStandardsUpdate201901Member" xlink:label="us-gaap_AccountingStandardsUpdate201901Member"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock" xlink:label="fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ConversionOfSubsidiarysConvertibleNotePayable" xlink:label="fgen_ConversionOfSubsidiarysConvertibleNotePayable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax" xlink:label="fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FibroGenBeijingMember" xlink:label="fgen_FibroGenBeijingMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncomeTaxesLineItems" xlink:label="fgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate"/>
          <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="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther" xlink:label="fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenuePaymentCapAmount" xlink:label="fgen_RevenuePaymentCapAmount"/>
          <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.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType"/>
          <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_OtherInvesteesMember" xlink:label="us-gaap_OtherInvesteesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent"/>
          <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_DeferredTaxAssetsTaxCreditCarryforwardsOther" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockCompensationPlanMember" xlink:label="us-gaap_StockCompensationPlanMember"/>
          <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_RedeemablePreferredStockMember" xlink:label="us-gaap_RedeemablePreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProductRevenue" xlink:label="fgen_ProductRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther"/>
          <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.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_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfTieredRoyaltiesReceivable" xlink:label="fgen_PercentageOfTieredRoyaltiesReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty" xlink:label="fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty"/>
          <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="fgen-20231231.xsd#fgen_TransferPriceTrueUp" xlink:label="fgen_TransferPriceTrueUp"/>
          <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_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:label="us-gaap_AccruedLiabilitiesCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments" xlink:label="us-gaap_ShortTermInvestments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock" xlink:label="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <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_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedProfitShareCurrent" xlink:label="fgen_AccruedProfitShareCurrent"/>
          <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="fgen-20231231.xsd#fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments" xlink:label="fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments"/>
          <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_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod" xlink:label="fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod"/>
          <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="fgen-20231231.xsd#fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod" xlink:label="fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod"/>
          <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_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract"/>
          <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_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:label="us-gaap_ProceedsFromIssuanceInitialPublicOffering"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionAxis" xlink:label="us-gaap_GeographicDistributionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BulkDrugProductMember" xlink:label="fgen_BulkDrugProductMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ManufactureAndSupplyOfRoxadustatMember" xlink:label="fgen_ManufactureAndSupplyOfRoxadustatMember"/>
          <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_AwardDateAxis" xlink:label="us-gaap_AwardDateAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligationsTextBlock" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract"/>
          <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_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_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_DebtInstrumentRedemptionDescription" xlink:label="us-gaap_DebtInstrumentRedemptionDescription"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquiredInProcessResearchAndDevelopmentExpenses" xlink:label="fgen_AcquiredInProcessResearchAndDevelopmentExpenses"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable" xlink:label="fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable"/>
          <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_ImpairmentOfLongLivedAssetsToBeDisposedOf" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduledRentCommencementYearOptionOne" xlink:label="fgen_ScheduledRentCommencementYearOptionOne"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CoPromotionExpenses" xlink:label="fgen_CoPromotionExpenses"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_WeightedAverageOfferingPricesPerShare" xlink:label="fgen_WeightedAverageOfferingPricesPerShare"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity" xlink:label="fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity"/>
          <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="fgen-20231231.xsd#fgen_LeasesDisclosureTextBlock" xlink:label="fgen_LeasesDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember" xlink:label="fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OperatingLeaseAccumulatedAmortization" xlink:label="fgen_OperatingLeaseAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedLitigationSettlement" xlink:label="fgen_AccruedLitigationSettlement"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract" xlink:label="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract"/>
          <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="fgen-20231231.xsd#fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities" xlink:label="fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
          <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="fgen-20231231.xsd#fgen_AccountingPolicyTable" xlink:label="fgen_AccountingPolicyTable"/>
          <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="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses" xlink:label="fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale" xlink:label="us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent"/>
          <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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss"/>
          <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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
          <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum"/>
          <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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems"/>
          <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_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree"/>
          <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="fgen-20231231.xsd#fgen_LicenseAndDevelopmentMember" xlink:label="fgen_LicenseAndDevelopmentMember"/>
          <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_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability" xlink:label="fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionForeignMember" xlink:label="us-gaap_GeographicDistributionForeignMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SalesToFalikangMember" xlink:label="fgen_SalesToFalikangMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain"/>
          <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="fgen-20231231.xsd#fgen_AstraZenecaMember" xlink:label="fgen_AstraZenecaMember"/>
          <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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <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="fgen-20231231.xsd#fgen_PercentageOfRoyaltyPaymentOnGlobalNetSales" xlink:label="fgen_PercentageOfRoyaltyPaymentOnGlobalNetSales"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_WeightedAverageRemainingLeaseTermAbstract" xlink:label="fgen_WeightedAverageRemainingLeaseTermAbstract"/>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Convertible promissory note</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Convertible Debt, Total</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="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="us-gaap_VariableInterestEntityDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Variable Interest Entity Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity Method Investment - Variable Interest Entity</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/terseLabel">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="us-gaap_ArrangementsAndNonarrangementTransactionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement and Arrangement Other than Collaborative [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Collaborative Arrangement and Arrangement Other than Collaborative</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="dei_DocumentTransitionReport_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Transition Report</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expected volatility</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccountsReceivableFromDistributorsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accounts receivable from distributors.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccountsReceivableFromDistributorsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable From Distributors [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccountsReceivableFromDistributorsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts Receivable from Distributors [Member]</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">Outstanding, Weighted Average Remaining Contractual Life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_WarrantExercisedDuringPeriodShares_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Warrant exercised during period shares.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_WarrantExercisedDuringPeriodShares_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Warrant Exercised During Period Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_WarrantExercisedDuringPeriodShares_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Warrants exercised, Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue, Remaining Performance Obligation, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue during period from performance obligations</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_MoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Money market funds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SeniorSecuredLoanAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Senior secured loan agreement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SeniorSecuredLoanAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Senior Secured Loan Agreement [member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Liability related to sale of future revenues.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liability Related To Sale Of Future Revenues [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Liability Related to Sale of Future Revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ClinicalDevelopmentMilestonesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Clinical development milestone.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ClinicalDevelopmentMilestonesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Clinical Development Milestones [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ClinicalDevelopmentMilestonesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Clinical and Development Milestone [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InitialIssuanceCostsRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Initial issuance costs related to sale of future revenues.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InitialIssuanceCostsRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Initial Issuance Costs Related To Sale Of Future Revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InitialIssuanceCostsRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Less: Initial issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restructuring plan, expected reduction to workforce, percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring and Related Cost, Number of Positions Eliminated, Period Percent</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountingStandardsUpdate201409Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Standards Update 2014-09 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountingStandardsUpdate201409Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">ASC 606 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_APIShipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">API shipment.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_APIShipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">A P I Shipment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_APIShipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">API Shipment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_HiFiBiOAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">HiFiBiO agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_HiFiBiOAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Hi Fi Bi O Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_HiFiBiOAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">HiFiBiO Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Noncontrolling Interest [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Noncontrolling Interests [Member]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vesting period of stock options</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cost of Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cost of goods sold</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cost of Revenue, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Estimated Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasCollaborationAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Astellas agreements.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasCollaborationAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Astellas Collaboration Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasCollaborationAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Astellas Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasCollaborationAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Astellas-Related party [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</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/verboseLabel">Other long-term 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/terseLabel">Other long-term liabilities ($656 and $0 to a related party)</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="us-gaap_OtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total other long-term liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Segment Reporting Information By Segment [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonredeemableNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Nonredeemable non-controlling interests</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonredeemableNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Nonredeemable Noncontrolling Interest</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 current assets ($0, $0 and $889 from a related party)</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_RedeemableNoncontrollingInterestEquityCarryingAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Redeemable non-controlling interests</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Redeemable Noncontrolling Interest, Equity, Carrying Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Redeemable Noncontrolling Interest, Equity, Carrying Amount, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of lease assets and related lease liabilities.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Lease Assets And Related Lease Liabilities Table [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Lease Assets and Related Lease Liabilities</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 Unit [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/verboseLabel">RSUs [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConstructionInProgressExpendituresIncurredButNotYetPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Balance in accrued liabilities related to issuance costs of secured term loan facilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConstructionInProgressExpendituresIncurredButNotYetPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Construction in Progress Expenditures Incurred but Not yet Paid</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="us-gaap_FairValueInputsLevel1Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Level 1 [Member]</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="dei_EntityPublicFloat_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Public Float</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Termination date of equity incentive plan</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/terseLabel">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="fgen_OwnershipInChinaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Ownership in China.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OwnershipInChinaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Ownership In China [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OwnershipInChinaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">China [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonCashAcquisitionInFortis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Non cash acquisition in Fortis</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonCashAcquisitionInFortis_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Non cash acquisition in Fortis</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationDeductions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Deduction, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationDeductions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deduction limitation on executive compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationDeductions_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effective Income Tax Rate Reconciliation, Deduction, Percent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationTechniqueDiscountedCashFlowMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Valuation Technique, Discounted Cash Flow [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationTechniqueDiscountedCashFlowMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Discounted Cash Flow [Member]</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_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_FinanceLeaseLiabilityPaymentsDue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Liability, to be Paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total future lease payments</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">Property and equipment estimated useful life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Drug product revenue recognized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_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_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Drug product revenue recognized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Changes in revenue from changes to estimated variable consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Operating Loss Carryforwards, Foreign</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign net operating loss carryforwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Expense and Other Assets, Current [Abstract]</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">Increase in valuation allowance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedProductDevelopmentCostsExcludingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrued Product Development Costs Excluding Interest.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedProductDevelopmentCostsExcludingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Product Development Costs Excluding Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedProductDevelopmentCostsExcludingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued product development costs excluding interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DrugProductRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Drug Product Revenue [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DrugProductRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Drug Product Revenue, Net [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DrugProductRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Drug product revenue.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DrugProductRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Drug Product Revenue [Member]</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/terseLabel">Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations along with Associated Deferred Revenue and Product Revenue Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue payment cap amount due after year five.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Payment Cap Amount Due After Year Five</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Beyond 2027</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</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="dei_IcfrAuditorAttestationFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">ICFR Auditor Attestation Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Recently issued accounting guidance not yet adopted.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Recently Issued Accounting Guidance Not Yet Adopted Policy [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Recently Issued Accounting Guidance Not Yet Adopted</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 Allocation of Purchase Consideration Based on Estimated Fair Values of Acquired Assets</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="fgen_SharedDevelopmentCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Represents the total amount of development costs that will be shared under collaborative agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SharedDevelopmentCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shared Development Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SharedDevelopmentCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shared development costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Transfers Into Level 3</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Transfers of assets into level 3</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred revenue ($7,220 and $9,259 to related parties)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Deferred Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Profit share liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Interest Payment on Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating cash flows from finance leases</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 Allocation of Purchase Consideration Based on Estimated Fair Values of Acquired Assets</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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Available for sale securities in continual unrealized loss position, less than 12 months, estimated fair value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesEPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Series E Preferred Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesEPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Series E [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Subsequent Event</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Events [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Method Investment, Nonconsolidated Investee [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity Method Investment, Nonconsolidated Investee</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BiosyntheticCorneaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">biosynthetic Cornea [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BiosyntheticCorneaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Biosynthetic Cornea.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DebtInstrumentAccruedInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DebtInstrumentAccruedInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Accrued Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DebtInstrumentAccruedInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument accrued interest.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Non cash right of use assets obtained in exchange for new lease liabilities.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Non Cash Right Of Use Assets Obtained In Exchange For New Lease Liabilities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non-cash: Right-of-use assets obtained in exchange for new lease liabilities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InventoryByGeographicAreasTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Inventory by geographic areas.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InventoryByGeographicAreasTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory By Geographic Areas Table [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InventoryByGeographicAreasTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Inventory by Geographic Area</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_OperatingLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease liabilities, non-current</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">Operating lease liabilities</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_StockRepurchasedDuringPeriodShares_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of common stock repurchased</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unrestricted cash and cash equivalent balance required to maintain in accounts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrestricted Cash And Cash Equivalent Balance Maintain In Accounts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Unrestricted cash and cash equivalent balance maintain in accounts.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfStockByClassTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Stock by Class [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfStockByClassTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Stock By Class [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CommercialSalesAndOtherEventsMilestone_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Commercial sales and other events milestone.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CommercialSalesAndOtherEventsMilestone_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commercial Sales And Other Events Milestone</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CommercialSalesAndOtherEventsMilestone_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commercial sales and other events milestone</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfLeasesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of leases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfLeasesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Leases [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfLeasesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Leases [Line Items]</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 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrued API and bulk drug product price true-up current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued API and bulk drug product price true-up current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">API and bulk drug product price true-up</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Liability, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finance lease liabilities, non-current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Finance lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Finance lease liabilities, non-current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnconditionalPurchaseObligationsExcludingCapitalStockRedemptionsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unconditional Purchase Obligations (Excluding Capital Stock Redemptions) [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ClassOfStockLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Class of Stock [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ClassOfStockLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Class Of Stock [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Finance Lease, Existence of Option to Extend [true false]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lessee, finance lease, existence of option to extend</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Number of identified performance obligation at inception of agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number Of Identified Performance Obligation At Inception Of Agreement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of identified performance obligation at inception of agreement</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_BalanceSheetLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Balance Sheet Location</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Payment cap date on or after January one two thousand twenty nine.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment cap date on or after January one two thousand twenty nine [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Payment Cap Date on or after January 1, 2029 [Member]</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</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, redeemable non-controlling interests and deficit</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="fgen_ProceedsFromSalesOfAvailableForSaleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Proceeds from sales of available for sale securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromSalesOfAvailableForSaleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds From Sales Of Available For Sale Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromSalesOfAvailableForSaleSecurities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from sales of available-for-sale securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Conversion of subsidiary's convertible note payable to non-controlling interests</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Conversion Of Subsidiarys Convertible Note Payable To Non Controlling Interests</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Conversion of subsidiary's convertible note payable to non-controlling interests.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ReversalOfAccruedCoPromotionExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Reversal of accrued co-promotion expenses.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ReversalOfAccruedCoPromotionExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Reversal Of Accrued Co Promotion Expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ReversalOfAccruedCoPromotionExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Reversal of accrued co-promotion expenses</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="dei_EntityAddressStateOrProvince_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, State or Province</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percentage of product manufacturing costs until manufacturing technology fully transferred.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage Of Product Manufacturing Costs Until Manufacturing Technology Fully Transferred</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of product manufacturing costs until manufacturing technology fully transferred</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TransactionDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Transaction [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TransactionDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Transaction</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FairValueAssetsLevel2ToLevel1TransferAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Fair value assets level2 to level1 transfer amount.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FairValueAssetsLevel2ToLevel1TransferAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Assets Level2 To Level1 Transfer Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FairValueAssetsLevel2ToLevel1TransferAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Transfers of assets from level 2 to 1</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredTaxAssetsIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred tax assets intangible assets.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredTaxAssetsIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredTaxAssetsIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Intangible assets</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">Issuance of common stock under ATM Program</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_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/periodEndLabel">Outstanding, Ending Balance, 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">Outstanding, Beginning Balance, 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/terseLabel">Stock options outstanding</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 estimated 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/verboseLabel">Weighted average fair value of stock options granted</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 loss</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="dei_TradingSymbol_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">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_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_ScheduleOfAvailableForSaleSecuritiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Available-for-sale Securities [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingCostsAndExpensesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Costs and Expenses [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingCostsAndExpensesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating costs and expenses:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenueInterestFinancingAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Revenue Interest Financing Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenueInterestFinancingAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue Interest Financing Agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenueInterestFinancingAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Interest Financing Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenueInterestFinancingAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">RIFA [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccountsReceivableNetCurrentRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable from related parties</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccountsReceivableNetCurrentRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable Net Current Related Parties</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccountsReceivableNetCurrentRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accounts receivable net current related parties.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Segment Reporting, Disclosure of Entity's Reportable Segments [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockVotingRights_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Voting Rights</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockVotingRights_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, voting rights</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAggregateConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Collaborative arrangement aggregate consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAggregateConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement Aggregate Consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAggregateConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate considerations received</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/totalLabel">Total 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/terseLabel">Prepaid expenses and other current assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityDeduction_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contract with customer liability deduction.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityDeduction_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract With Customer Liability Deduction</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityDeduction_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deduction</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Payments for transaction costs related to sale of future revenues.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments For Transaction Costs Related To Sale Of Future Revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash paid for transaction costs related to sale of future revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Transaction costs related to sale of future revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Cash paid for transaction costs related to sale of future revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RepaymentsOfSecuredDebt_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Cash paid for transaction costs for senior secured term loan facilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RepaymentsOfSecuredDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Repayments of Secured Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesGPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Series G Preferred Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesGPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Series G [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RepaymentsOfFinanceLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Repayments of finance lease liabilities.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RepaymentsOfFinanceLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Repayments Of Finance Lease Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RepaymentsOfFinanceLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Financing cash flows from finance leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RepaymentsOfFinanceLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Repayments of finance lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ExpirationYearTwoThousandTwentySixMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expiration Year 2026 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ExpirationYearTwoThousandTwentySixMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Expiration Year Two Thousand Twenty Six [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ExpirationYearTwoThousandTwentySixMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Expiration year two thousand twenty six.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BankOfFinlandInterestRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Bank of Finland interest rate.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BankOfFinlandInterestRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Bank Of Finland Interest Rate [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BankOfFinlandInterestRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Bank of Finland Interest Rate [Member]</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">Debt Instrument [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignCountryMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Foreign Tax Authority [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignCountryMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign net operating loss [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TotalShareholderReturnAwardsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Total shareholder return awards.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TotalShareholderReturnAwardsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Total Shareholder Return Awards [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TotalShareholderReturnAwardsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">TSR [Member]</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, 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, 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/terseLabel">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/terseLabel">Shares reserved for future ESPP offering</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">Number of common stock reserved for issuance</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 Loss [Member]</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">Exclusive License and Option to Acquire Fortis Therapeutics</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="fgen_MaximumSalesMilestonesReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Maximum sales milestones receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MaximumSalesMilestonesReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Maximum Sales Milestones Receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MaximumSalesMilestonesReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Maximum sales milestones receivable.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Liability related to sale of future royalties.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liability Related To Sale Of Future Royalties [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Liability Related to Sale of Future Royalties</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Comprehensive Income (Loss), Net of Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other comprehensive gain (loss), net of taxes</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 Translation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RepaymentDescription_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Repayment description</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RepaymentDescription_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Repayment Description</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RepaymentDescription_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Repayment description.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedAndOtherCurrentLiabilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrued and other current liabilities.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedAndOtherCurrentLiabilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued And Other Current Liabilities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedAndOtherCurrentLiabilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued and Other Current Liabilities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractLiabilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contract liabilities,</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractLiabilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract Liabilities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractLiabilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract Liabilities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Increase (decrease) in operating lease liabilities, current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease In Operating Lease Liabilities Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease liabilities, current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Method Investments [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Equity Method Investment</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="dei_EntityAddressCityOrTown_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">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_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DueToRelatedPartiesDeferredRevenueNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Due to related parties deferred revenue noncurrent.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DueToRelatedPartiesDeferredRevenueNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Due To Related Parties Deferred Revenue Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DueToRelatedPartiesDeferredRevenueNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred revenue non-current to related party</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/terseLabel">Operating leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Class of Warrant or Right, Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Warrants to purchase common stock outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Senior Secured Term Loan Facilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Disclosure [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/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/terseLabel">Schedule of Property and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DevelopmentAndOtherRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Development and other revenue.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DevelopmentAndOtherRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Development and Other Revenue [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DevelopmentAndOtherRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Development Revenue [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DevelopmentAndOtherRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Revenue - Contract Manufacturing [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedProductDevelopmentCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Represents the long-term portion of the outstanding principal and accrued interest of advances in the form note agreements received by the entity to fund various product development efforts.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedProductDevelopmentCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Product Development Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedProductDevelopmentCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Product development obligations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Expired, Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Event [Member]</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="fgen_OtherLiabilitiesCurrentDueToRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued and other current liabilities to related party</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherLiabilitiesCurrentDueToRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Liabilities Current Due to Related Parties</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherLiabilitiesCurrentDueToRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other liabilities current due to related parties.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FinanceLeaseAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Finance lease accumulated amortization.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FinanceLeaseAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FinanceLeaseAccumulatedAmortization_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="fgen_FalikangCollaborationAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Falikang collaboration agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FalikangCollaborationAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Falikang Collaboration Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FalikangCollaborationAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Falikang&#8212;Related party</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FalikangCollaborationAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Falikang - Related Party [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Increase due to prior positions</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 [Member]</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">Schedule of Components of Provision For Income Taxes</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_DerivativeFixedInterestRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Convertible promissory note interest rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryRawMaterials_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Raw Materials, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryRawMaterials_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_SeriesBPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Series B Preferred Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesBPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Series B [Member]</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_CashAcquiredFromAcquisition_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash acquired from consolidation of Fortis</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAcquiredFromAcquisition_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash Acquired from Acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Available for sale securities in continual unrealized loss position, 12 months or more, estimated fair value</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="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="fgen_InterestRateOptionTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Interest rate option two.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InterestRateOptionTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Interest Rate Option Two [member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_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 Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vested and expected to vest, Weighted Average Exercise per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DebtFinancingAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Financing Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DebtFinancingAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt financing agreement.</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/terseLabel">Operating lease liabilities, 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 liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax rate reconciliation deduction expense share based compensation cost.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation Deduction Expense Share Based Compensation Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost_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_ValuationAllowancesAndReservesChargedToOtherAccounts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Other Account</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Charged to Other Accounts - Liabilities and Equity</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">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/label">Debt Instrument, Maturity Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentCapDateInTwoThousandThirtyOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Payment cap date in two thousand thirty one.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentCapDateInTwoThousandThirtyOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment cap date in two thousand thirty one [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentCapDateInTwoThousandThirtyOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Payment Cap Date in 2031 [Member]</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">Senior secured term loan facilities, ending balance</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/periodEndLabel">Senior secured term loan facilities, ending balance</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">Term loan</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_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 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">Property and equipment, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesAPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Series A Preferred Shares [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesAPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Series A Preferred Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesAPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Series A [Member]</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="us-gaap_ClassOfStockDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Class of Stock</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/verboseLabel">Restructuring plan, non-recurring 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/terseLabel">Restructuring charge</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="fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Liability related to sale of revenues noncurrent.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liability Related To Sale Of Revenues NonCurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Liability related to sale of future revenues, non-current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of shares of common stock reserved for future issuance.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Shares Of Common Stock Reserved For Future Issuance Table [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Common Stock Reserved for Future Issuance</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vested and expected to vest, 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">Tax at statutory federal rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Business Combination, Contingent Consideration, Liability, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Contingent Consideration, Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Contingent payments after acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Comprehensive Income [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TypeOfArrangementAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement and Arrangement Other than Collaborative [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TypeOfArrangementAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Collaborative Arrangement and Arrangement Other than Collaborative</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Valuation And Qualifying Accounts Disclosure [Table]</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="dei_EntityCentralIndexKey_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Central Index Key</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Liability, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finance lease liabilities, current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Finance lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Finance lease liabilities, current</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_PlanNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Plan Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DescriptionOfSalesReturn_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Description of sales return.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DescriptionOfSalesReturn_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Description Of Sales Return</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DescriptionOfSalesReturn_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Description of sales return</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_USTreasuryAndGovernmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">US Treasury and Government [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_USTreasuryAndGovernmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">U.S. government bonds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainLossOnDispositionOfAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Loss (gain) on disposal of property and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainLossOnDispositionOfAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property</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/terseLabel">Total fair value of financial assets</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/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/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/totalLabel">Increase (Decrease) in Other Operating Assets, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_HighlyLiquidInvestmentMaturityPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Highly liquid investment maturity period.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_HighlyLiquidInvestmentMaturityPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Highly Liquid Investment Maturity Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_HighlyLiquidInvestmentMaturityPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Highly liquid investment maturity period</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_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/periodEndLabel">Preferred Stock, Shares Outstanding, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LesseeOperatingLeaseExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Lessee, operating lease, expiration period.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LesseeOperatingLeaseExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee Operating Lease Expiration Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LesseeOperatingLeaseExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lessee, operating lease, expiration period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Current Foreign Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Less: Current Portion classified to accrued and other current liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Current Portion Classified to Accrued and Other Current Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Current portion classified to accrued and other current liabilities.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesFPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Series F Preferred Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesFPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Series F [Member]</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="dei_EntityTaxIdentificationNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Tax Identification Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Unrealized Loss Position [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Interest on Income Taxes Accrued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued interest, unrecognized tax benefits</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">Loss before provision for income taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AdditionalConsiderationBasedOnNetSales_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">The amount of additional consideration based on net sales of product as defined under a collaboration agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AdditionalConsiderationBasedOnNetSales_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Additional Consideration Based On Net Sales</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AdditionalConsiderationBasedOnNetSales_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Additional consideration based on net sales description</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of share based payment award stock options and employee stock purchase plan valuation assumptions.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Share Based Payment Award Stock Options And Employee Stock Purchase Plan Valuation Assumptions Table [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Assumptions used to Estimate Fair Value of Stock Options Granted and Employee Stock Purchase Plans</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Antidilutive Securities Excluded From Computation Of Earnings Per Share [Table]</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:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Liabilities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesMember_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="fgen_PropertyTaxesAndOtherCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Property taxes and other current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PropertyTaxesAndOtherCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property Taxes And Other Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PropertyTaxesAndOtherCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property taxes and other taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_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_FinanceLeaseLiabilityPaymentsDueYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Liability, to be Paid, Year Four</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Financial Instruments [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Financial Instruments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAdditionalUpfrontPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Additional upfront payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAdditionalUpfrontPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement Additional Upfront Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAdditionalUpfrontPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Collaborative arrangement additional upfront payments.</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseFeesAndMilestonesRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue from multiple-deliverable arrangements that include licensing fees and services revenue and the amount of consideration recognized during the period for milestones. Licensing revenue is consideration received from another party for the right to use, but not own, certain of the entity's intangible assets. Licensing arrangements include, but are not limited to, rights to use a patent, copyright, technology, manufacturing process, software or trademark. Licensing fees are generally, but not always, fixed as to amount and not dependent upon the revenue generated by the licensing party. An entity may receive licensing fees for licenses that also generate royalty payments to the entity. Services revenue may be derived by providing other, non-specified, services during the reporting period.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseFeesAndMilestonesRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">License Fees And Milestones Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseFeesAndMilestonesRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">License and milestone revenue from a related party</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AwardDateDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Award Date [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average number of common shares used to calculate net loss per share - basic and diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Outstanding Reconciliation [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investment, Name [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InitialUpfrontPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Upfront payment.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InitialUpfrontPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Initial Upfront Payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InitialUpfrontPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Initial upfront payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConstructionInProgressMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Construction in Progress [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConstructionInProgressMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Construction in progress [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredRevenuesFromAssociatedContracts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred revenues from associated contracts.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredRevenuesFromAssociatedContracts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Revenues From Associated Contracts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredRevenuesFromAssociatedContracts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred revenues from associated contracts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AwardTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Award Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AwardTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Award Type</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InitialTermLoanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Initial Term Loan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InitialTermLoanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Initial Term Loan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Revenue by Major Customers, by Reporting Segments [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Entity Wide Revenue By Major Customers By Reporting Segments [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Weighted Average Remaining Lease Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finance leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MiscellaneousReceivables_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Miscellaneous receivables.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MiscellaneousReceivables_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Miscellaneous Receivables</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MiscellaneousReceivables_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Miscellaneous receivables</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_PlanNameAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Plan Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ShareholdersEquityAndStockBasedCompensationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Shareholders equity and stock-based compensation.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ShareholdersEquityAndStockBasedCompensationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shareholders Equity And Stock Based Compensation [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Method Investment, Nonconsolidated Investee [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity Method Investment, Nonconsolidated Investee</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percentage of pre-launch inventory capitalized of aggregate inventory balance.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage Of Pre Launch Inventory Capitalized Of Aggregate Inventory Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of pre-launch inventory capitalized of aggregate inventory balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percentage increases on anniversary of rent commencement date option two.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage Increases On Anniversary Of Rent Commencement Date Option Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage increases on each anniversary of rent commencement date 2028</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ShortTermInvestmentsMaximumMaturityPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Short term investments maximum maturity period.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ShortTermInvestmentsMaximumMaturityPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Short Term Investments Maximum Maturity Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ShortTermInvestmentsMaximumMaturityPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Short term investments maturity</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonKeyAccountHospitalListingAwardMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Non-key account hospital listing award.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonKeyAccountHospitalListingAwardMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Non Key Account Hospital Listing Award [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonKeyAccountHospitalListingAwardMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non-key Account Hospital Listing Award [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Term of Contract</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lessee, operating lease, lease term</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/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">U.S. [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_US_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">United States [Member]</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="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Operating lease right-of-use assets, net</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/verboseLabel">Total operating lease right-of-use assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonCashInterestExpenseRelatedToDrugProductRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Non-cash interest expense related to drug product revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonCashInterestExpenseRelatedToDrugProductRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Non-cash interest expense related to drug product revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unrecognized compensation costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued and other liabilities ($(24,072), $63,882 and $(20) from a related party)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_GrossProceedsReceivedFromSaleOfRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Gross proceeds received from sale of revenue.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_GrossProceedsReceivedFromSaleOfRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Gross proceeds received from sale of revenue</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="dei_EntityRegistrantName_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Registrant Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetBackedSecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Asset-Backed Securities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetBackedSecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Asset-backed securities [Member]</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/terseLabel">Issuance cost</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/2003/role/totalLabel">Debt Issuance Costs, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Period Increase (Decrease)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Increase in number of shares of common stock reserved for future issuance, shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Period Increase (Decrease), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Lease, Description [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lessee Lease Description [Line Items]</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Recorded Unconditional Purchase Obligation [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Recorded Unconditional Purchase Obligation [Line Items]</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 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/totalLabel">Retained Earnings (Accumulated Deficit), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Available for sale securities in continual unrealized loss position, less than 12 months, gross unrealized holding losses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Available for sale securities in continual unrealized loss position, less than 12 months, gross unrealized holding losses</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="fgen_PrepaymentAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Prepayment amount.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PrepaymentAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepayment amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PrepaymentAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepayment amount of 2024 to 2030</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CommercialMilestone_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Commercial milestone.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CommercialMilestone_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commercial Milestone</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CommercialMilestone_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commercial milestone</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RestrictedTimeDepositsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Restricted time deposits noncurrent.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RestrictedTimeDepositsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Time Deposits Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RestrictedTimeDepositsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted time deposits</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/terseLabel">Accumulated Deficit [Member]</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_StatementClassOfStockAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Class of Stock</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/periodEndLabel">Unvested, Shares, Ending Balance</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">Unvested, Shares, Beginning Balance</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">RSUs outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total deficit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity, Including Portion Attributable to Noncontrolling Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_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_ImpairmentOfIntangibleAssetsFinitelived_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Impairment of Intangible Assets, Finite-Lived</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsFinitelived_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment of inatangible assets finite lived</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CommonStockSharesReserved_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Common stock shares reserved.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CommonStockSharesReserved_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock Shares Reserved</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CommonStockSharesReserved_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total shares of common stock reserved</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares, Employee Stock Purchase Plans</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Shares purchased by employees</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 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Available-for-Sale Securities Reconciliation [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Amortized Cost, Gross Unrealized Holding Gains or Losses, and Fair Value of Investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TwoThousandAndFourteenEquityIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Two thousand and fourteen equity incentive plan.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TwoThousandAndFourteenEquityIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Two Thousand And Fourteen Equity Incentive Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TwoThousandAndFourteenEquityIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2014 Equity Incentive Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BondsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Bonds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BondsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Agency bonds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Revenues_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Revenues_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Revenue recognized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Revenues_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Revenues, Total</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/terseLabel">Schedule of Prepaid Expenses and Other Current Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue, Major Customer [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Wide Revenue Major Customer [Line Items]</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/terseLabel">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/verboseLabel">Present value of 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/totalLabel">Operating Lease, Liability, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finance lease liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Present value of lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Finance Lease, Liability, Total</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">First Anniversary [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Other Increases (Decreases) in Period, Description</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock reserved for future issuance, Description</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="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, minimum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Beijing Kangda Yongfu Pharmaceutical Co., LTD.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Beijing Kangda Yongfu Pharmaceutical Co L T D [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Beijing Kangda Yongfu Pharmaceutical Co., LTD [Member]</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Employee Stock Option [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employee stock options [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueInYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue payment cap amount due in year four.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueInYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Payment Cap Amount Due In Year Four</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueInYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2026</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">License Revenue [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">License revenue.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Variable consideration payment received related to co-development billings.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Variable Consideration Payment Received Related To Co Development Billings</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Variable consideration related to co-development billings</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 loss to net cash used in operating activities:</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_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_FairValueByMeasurementFrequencyAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Measurement Frequency</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubleaseIncome_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sublease Income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubleaseIncome_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Sublease income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_GrossProceedsFromSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Gross proceeds from sale of future revenues.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_GrossProceedsFromSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Gross Proceeds From Sale Of Future Revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_GrossProceedsFromSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from sale of future revenues, gross</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="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="dei_EntityCurrentReportingStatus_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Current Reporting Status</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="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_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="fgen_ContractWithCustomerLiabilityTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contract With Customer Liability [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract With Customer Liability [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract With Customer Liability [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Right-of-Use Asset, after Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finance lease right-of-use assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Finance lease right-of-use assets, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Total finance lease right-of-use assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Finance lease right-of-use assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnitedStatesAndRestOfWorldMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">United states and rest of world.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnitedStatesAndRestOfWorldMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">United States And Rest Of World [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnitedStatesAndRestOfWorldMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">U.S./RoW [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnitedStatesAndRestOfWorldMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">U.S./RoW [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LossOnAssetAcquisition_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Loss on asset acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LossOnAssetAcquisition_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loss on asset acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LossOnAssetAcquisition_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Loss on asset acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Foreign Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BeijingEconomicTechnologicalDevelopmentAreaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Beijing economic-technological development area.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BeijingEconomicTechnologicalDevelopmentAreaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Beijing Economic Technological Development Area [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BeijingEconomicTechnologicalDevelopmentAreaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Beijing Economic-Technological Development Area [Member]</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="fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Represents the total amount of non-contingent, non-refundable, upfront payments included under the collaborative agreement as arrangement consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds From Upfront Non Contingent Non Refundable And Time Based Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Upfront, non-contingent, non-refundable and time-based payments</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 sale 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">Proceeds from issuance of common stock under employee stock plans</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_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">Shares reserved for future stock options and RSUs grant</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contract with customer liability net of balance presented against contract asset.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with customer liability net of balance presented against contract asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Balance Presented NetAgainst Contract Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Unrealized Loss Position, Fair Value [Table]</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/terseLabel">Common stock, $0.01 par value; 225,000 shares authorized at December 31, 2023 and 2022; 98,770 and 94,166 shares issued and outstanding at December 31, 2023 and 2022</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="fgen_PercentageOfExciseTaxOnStockBuyback_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percentage of excise tax on stock buyback.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfExciseTaxOnStockBuyback_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage Of Excise Tax On Stock Buyback</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfExciseTaxOnStockBuyback_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of excise tax on stock buyback</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NetTransferPriceMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Net Transfer Price [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NetTransferPriceMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Net transfer price.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NetTransferPriceMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Transfer Price [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NetTransferPriceMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net Transfer Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DiscountsAndRebatesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Discounts and Rebates [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DiscountsAndRebatesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Discounts and rebates.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DiscountsAndRebatesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Discounts And Rebates [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DiscountsAndRebatesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Discounts And Rebates</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shareholders' Equity and Share-Based Payments [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity and Stock-based Compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Sale of Property, Plant, and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from sale of property and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Proceeds from Sale of Property, Plant, and Equipment, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LaboratoryEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Laboratory equipment.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LaboratoryEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Laboratory Equipment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LaboratoryEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Laboratory Equipment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInDeferredRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Decrease (Increase) in Deferred Revenue [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInDeferredRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Increase decrease in deferred revenue.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInDeferredRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease In Deferred Revenue [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInDeferredRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Decrease (Increase) in Deferred Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Royalty revenue recognized as drug product revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Liability, Revenue Recognized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Recognized as Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Furniture and Fixtures [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Furniture and Fixtures [Member]</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/totalLabel">Total accrued and other current liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Purchase obligations due 2025</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Recorded Unconditional Purchase Obligation, to be Paid, Year Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfRevenueInterestOnGlobalNetSales_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percentage of revenue interest on global net sales.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfRevenueInterestOnGlobalNetSales_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage Of Revenue Interest On Global Net Sales</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfRevenueInterestOnGlobalNetSales_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of revenue interest on global net sales</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="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="fgen_ContractualSalesRebateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contractual sales rebate.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractualSalesRebateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contractual Sales Rebate [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractualSalesRebateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contractual Sales Rebate [Member]</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="dei_CurrentFiscalYearEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">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/label">Share-Based Payment Arrangement, Noncash Expense</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="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="dei_AuditorName_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Auditor Name</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">Loss from operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue, Performance Obligation, Description of Payment Terms</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Description of payment term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">SEC Schedule, 12-09, Valuation Allowances and Reserves Type</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Co development information sharing and committee services.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Co Development Information Sharing And Committee Services [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Co-development, information sharing &amp; committee services [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of maturities of finance and operating leases liabilities.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Maturities Of Finance And Operating Leases Liabilities Table [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Maturities of Finance and Operating Leases Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredTaxLiabilitiesFixedAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred tax liabilities fixed assets.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredTaxLiabilitiesFixedAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities Fixed Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredTaxLiabilitiesFixedAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Fixed assets</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">Purchase consideration</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/totalLabel">Business Combination, Consideration Transferred, Total</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</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/totalLabel">Total deferred</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CommitmentsAndContingenciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Commitments and contingencies.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_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="fgen_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_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/terseLabel">Provision for income taxes</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 provision for income taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingencyReceivableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Litigation settlement receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingencyReceivableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Insurance proceeds receivable for litigation settlement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingencyReceivableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loss Contingency, Receivable, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebtSecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible Debt Securities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertibleDebtSecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Convertible promissory note</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 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MilestonePaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Milestone payments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MilestonePaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Milestone payments [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MilestonePaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Milestone Payments [Member]</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">Decrease due to prior positions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NoncashInterestExpenseRelatedToSaleOfFutureRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Noncash interest expense related to sale of future revenue.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NoncashInterestExpenseRelatedToSaleOfFutureRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Noncash Interest Expense Related To Sale Of Future Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NoncashInterestExpenseRelatedToSaleOfFutureRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Interest expense recognized</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">Consolidation of Fortis (Note 4)</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="fgen_OfficeSpacesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Office spaces.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OfficeSpacesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Office Spaces [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OfficeSpacesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Office Spaces</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_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="srt_ValuationAndQualifyingAccountsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Leases [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective income tax rate reconciliation net operating losses not benefitted.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation Net Operating Losses Not Benefitted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net operating losses not benefitted</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/terseLabel">Cash payments for restructuring</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/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/terseLabel">Royalty Revenue [Member]</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/terseLabel">Concentration risk, percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total stock-based compensation expense</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, maximum</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">Cash paid for payroll taxes on restricted stock unit releases</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_DisaggregationOfRevenueTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">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">Percentage of vesting rights</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="us-gaap_MeasurementInputTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Measurement Input Type</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_ValuationTechniqueDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Valuation Approach and Technique</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationPriceOfAcquisitionExpected_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Price of Acquisition, Expected</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationPriceOfAcquisitionExpected_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Business acquisition payment if exercises the option</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment of Long-Lived Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Comprehensive Income (Loss), Net of Tax [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_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_FinanceLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Liability, Undiscounted Excess Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Less: Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Two thousand and fourteen employee stock purchase plan.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Two Thousand And Fourteen Employee Stock Purchase Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2014 ESPP [Member]</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">Outstanding, Aggregate Intrinsic Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LicenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">License [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LicenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">License [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LicenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">License Revenue [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NovaquestCapitalManagementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">NovaQuest Capital Management [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NovaquestCapitalManagementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">NovaQuest Capital Management.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NovaquestCapitalManagementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">NovaQuest Capital Management [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NovaquestCapitalManagementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">NovaQuest [Member]</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="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cumulative Effect, Period of Adoption, Adjustment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cumulative Effect, Period of Adoption, Adjustment [Member]</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">Increase due to current year position</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProductDevelopmentObligationsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Product development obligation disclosure.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProductDevelopmentObligationsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Product Development Obligations Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProductDevelopmentObligationsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Product Development Obligations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_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="fgen_DueToRelatedPartiesDeferredRevenueCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Due to related parties deferred revenue current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DueToRelatedPartiesDeferredRevenueCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Due To Related Parties Deferred Revenue Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DueToRelatedPartiesDeferredRevenueCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred revenue current to related party</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="fgen_DrugProductRevenueFromRelatedParty_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Drug product revenue from related party.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DrugProductRevenueFromRelatedParty_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Drug Product Revenue From Related Party</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DrugProductRevenueFromRelatedParty_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Drug product revenue from a related party</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredApprovalMilestoneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred approval milestone.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredApprovalMilestoneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Approval Milestone [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredApprovalMilestoneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred Approval Milestone [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from External Customers by Geographic Areas [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Revenue by Geographic Area</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongtermDebtTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Debt, Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstraZenecaABMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">AstraZeneca AB.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstraZenecaABMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Astra Zeneca A B [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstraZenecaABMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">AstraZenecaAB [Member]</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="dei_EntityVoluntaryFilers_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Voluntary Filers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RecentlyIssuedAndAdoptedAccountingGuidancePolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Recently issued and adopted accounting guidance.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RecentlyIssuedAndAdoptedAccountingGuidancePolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Recently Issued And Adopted Accounting Guidance Policy [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RecentlyIssuedAndAdoptedAccountingGuidancePolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Recently Issued and Adopted Accounting Guidance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Events [Abstract]</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="fgen_MaximumPaymentCapAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Maximum payment cap amount.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MaximumPaymentCapAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Maximum payment cap amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_USGovernmentSecuritiesAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">U.S. government bonds</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_USGovernmentSecuritiesAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">US Government Securities, at Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherLiabilitiesNoncurrentDueToRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Due to related parties, noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherLiabilitiesNoncurrentDueToRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Liabilities Noncurrent Due to Related Parties</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherLiabilitiesNoncurrentDueToRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other liabilities noncurrent due to related parties.</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/label">Other Assets, Noncurrent</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 assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Deferred Rent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease obligations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_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_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="fgen_DebtInstrumentInterestRatePayableKindStatedPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument interest rate payable kind stated percentage.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DebtInstrumentInterestRatePayableKindStatedPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Interest Rate Payable Kind Stated Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DebtInstrumentInterestRatePayableKindStatedPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">interest rate payable in kind</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Liability, to be Paid, after Year Five</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Beyond 2027</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="us-gaap_Depreciation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Depreciation</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/verboseLabel">Depreciation expense</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_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 payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FinanceLeaseAndOperatingLeaseAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Finance lease and operating lease assets.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FinanceLeaseAndOperatingLeaseAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease And Operating Lease Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FinanceLeaseAndOperatingLeaseAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total lease assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasAndAstraZenecaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Astellas and AstraZeneca.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasAndAstraZenecaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Astellas And Astra Zeneca [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasAndAstraZenecaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Astellas and AstraZeneca [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Collaborative arrangement and revenues.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement And Revenues Policy [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Collaboration Arrangements and Revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Astellas Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Astellas agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Astellas Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AlternativeInvestmentMeasurementInput_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Alternative Investment, Measurement Input</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AlternativeInvestmentMeasurementInput_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Discount rate applied</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Revenue, by Arrangement, Disclosure [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Amounts Recognized as Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Additional Paid in Capital</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapital_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_AdditionalPaidInCapital_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Additional Paid in Capital, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Equity method investment increase (decrease) from currency translation.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Method Investment Increase Decrease From Currency Translation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Currency Translation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ExperienceHistoricalOwnershipChanges_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Experience historical ownership changes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ExperienceHistoricalOwnershipChanges_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Experience Historical Ownership Changes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ExperienceHistoricalOwnershipChanges_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of ownership changes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockRedemptionTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Redemption Terms</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockRedemptionTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock redemption percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ManufactureAndSupplyOfPamrevlumabMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Manufacture and supply of pamrevlumab.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ManufactureAndSupplyOfPamrevlumabMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Manufacture And Supply Of Pamrevlumab [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ManufactureAndSupplyOfPamrevlumabMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Manufacture and Supply of Pamrevlumab [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CommitmentsAndContingenciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Commitments and contingencies.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_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="fgen_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_IncreaseDecreaseInAccountsReceivableRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Accounts Receivable, Related Parties</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivableRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable from related parties</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross Unrealized Holding Gains</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Increase (decrease) in operating lease right-of-use assets.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease In Operating Lease Right Of Use Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets_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="fgen_ProvisionForCoDevelopmentServices_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Provision for co-development services.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProvisionForCoDevelopmentServices_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Provision For Co Development Services</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProvisionForCoDevelopmentServices_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Provision for co-development services</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnitedStatesAndRestOfWorldAndChinaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">United states and rest of world and china.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnitedStatesAndRestOfWorldAndChinaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">United States And Rest Of World And China [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnitedStatesAndRestOfWorldAndChinaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">U.S./RoW and China [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesDPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Series D Preferred Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesDPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Series D [Member]</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_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_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_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Beyond 2027</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/terseLabel">Components of Lease Expense</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CommercialSalesMilestone_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Represents the amount of milestone payments related to commercial sales under the collaborative agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CommercialSalesMilestone_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commercial Sales Milestone</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CommercialSalesMilestone_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commercial sales milestone</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Repayments of Debt and Lease Obligation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Repayments of lease obligations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Impact of change in accounting principle upon adoption of ASU 2018-02.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Impact Of Change In Accounting Principle Upon Adoption Of A S U201802 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impact of change in accounting principle upon adoption of ASU 2018-02 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ReceivedFromSaleOfRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Received from sale of revenue.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ReceivedFromSaleOfRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Received From Sale of Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ReceivedFromSaleOfRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Received from sale of revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfRevenueCurrent_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Less: Current portion classified to accrued and other current liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfRevenueCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Less: Current portion classified to accrued and other current liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfRevenueCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Liability related to sale of revenue current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfRevenueCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liability Related To Sale Of Revenue Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseContractualTermDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease Contractual Term [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseContractualTermDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease Contractual Term</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_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Change in unrealized gain or loss on investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_EquityMethodInvesteeNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investment, Name [Domain]</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">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/totalLabel">Deferred Tax Liabilities, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CashConsiderationReceivedUnderCollaborationAgreement_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">The total cash consideration received under a collaboration agreement that has been allocated to the different significant units of accounting and includes the portion that has been deferred for revenue recognition.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CashConsiderationReceivedUnderCollaborationAgreement_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash Consideration Received Under Collaboration Agreement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CashConsiderationReceivedUnderCollaborationAgreement_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total Consideration</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_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amount constrained related to drug product shipment</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_LesseeLeaseDescriptionTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lessee Lease Description [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">In Process Research and Development [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">IPR&amp;D Asset [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SalesReturnsAndAllowancesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sales Returns and Allowances [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SalesReturnsAndAllowancesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sales Returns [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Balance at End of Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Balance at Beginning of Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_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_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Liability, to be Paid, Year Two</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">Concentration of Credit Risk</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredForFutureRecognitionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred for future recognition.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredForFutureRecognitionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred For Future Recognition [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredForFutureRecognitionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Constrained for Future Recognition [Member]</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/terseLabel">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/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_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="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="fgen_RevenuePaymentCapAmountDueNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue payment cap amount due next twelve months.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Payment Cap Amount Due Next Twelve Months</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net identifiable assets, liabilities and non-controlling interests</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net identifiable assets, liabilities and non-controlling interests</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentToOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Payment to options exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentToOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment to Options Exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentToOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Payment to options exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stockholders' deficit:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_HiFiBiOAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">HiFiBiO Agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_HiFiBiOAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Hi Fi Bi O Agreements [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_HiFiBiOAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">HiFiBiO Agreement [Member]</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">Net loss per share - 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 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AssetAcquisitionPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Asset Acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AssetAcquisitionPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Asset Acquisition Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AssetAcquisitionPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Asset acquisition policy.</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 12)</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="fgen_RegulatoryMilestonesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Regulatory milestone.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RegulatoryMilestonesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Regulatory Milestones [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RegulatoryMilestonesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Regulatory Milestone [Member]</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="fgen_AcquisitionAndVariableInterestEntityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Acquisition and variable interest entity abstract.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AcquisitionAndVariableInterestEntityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Acquisition And Variable Interest Entity [Abstract]</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="fgen_TwoThousandAndFiveStockPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Two thousand and five stock plan.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TwoThousandAndFiveStockPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Two Thousand And Five Stock Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TwoThousandAndFiveStockPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2005 Stock Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ChinaPerformanceObligationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">China performance obligation.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ChinaPerformanceObligationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">China Performance Obligation [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ChinaPerformanceObligationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">China performance obligation [Member]</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred tax assets tax capitalized research and development expenses.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax AssetsTax Capitalized Research And Development Expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Capitalized research and development expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Selling, General and Administrative Expenses, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Selling, General and Administrative Expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncomeTaxesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Income taxes.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_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="fgen_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="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/terseLabel">Roll-forward of Related Contract Liabilities</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_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_MeasurementInputTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Measurement Input Type</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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vested and expected to vest, Shares</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">Statistical Measurement</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">Net cash 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/label">Net Cash Provided by (Used in) Operating Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfLeasesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of leases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfLeasesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Leases [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfLeasesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Leases [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasEuropeAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Astellas Europe Agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasEuropeAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Astellas Europe Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasEuropeAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Astellas Europe Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedCoPromotionExpensesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrued co-promotion expenses - current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedCoPromotionExpensesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Co Promotion Expenses Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedCoPromotionExpensesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued co-promotion expenses - current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">All Award Types</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Award Type</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Non cash interest expense related to sale of future revenues.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Non Cash Interest Expense Related To Sale Of Future Revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non-cash interest expense related to sale of future revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Interest expense recognized</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="dei_DocumentPeriodEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">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">Statistical Measurement</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/2003/role/terseLabel">Reductions to gross accounts receivable</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/periodEndLabel">Accounts Receivable, Allowance for Credit Loss, Ending 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="fgen_CorneaProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Cornea products.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CorneaProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cornea Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CorneaProductsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cornea Products [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Unrecognized tax benefits, increase (decrease) resulting from foreign currency translation.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrecognized Tax Benefits, Increase (Decrease) Resulting from Foreign Currency Translation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign exchange rate differential</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/2003/role/terseLabel">Operating cash flows from operating leases</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/verboseLabel">Cash payment related to lease</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentIncomeDividend_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Dividend Received</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentIncomeDividend_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Dividend received</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentIncomeDividend_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investment Income, Dividend</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">Net loss per share - diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProductDevelopmentCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Product development obligations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProductDevelopmentCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Product Development Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProductDevelopmentCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Product Development Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CorporateAlternativeMinimumTaxPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Corporate alternative minimum tax percentage.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CorporateAlternativeMinimumTaxPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Corporate Alternative Minimum Tax Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CorporateAlternativeMinimumTaxPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Corporate alternative minimum tax percentage</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="srt_ProductsAndServicesDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Product and Service</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseCostAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease, Cost [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseCostAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finance lease cost:</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">Federal and state net 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/totalLabel">Deferred Tax Assets, Operating Loss Carryforwards, Total</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">Ending Balance</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">Beginning balance</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/terseLabel">Unrecognized tax benefits</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contract with customer liability increase decrease in revenue due to changes to estimated variable consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract With Customer Liability Increase Decrease In Revenue Due To Changes To Estimated Variable Consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract with customer liability increase decrease in revenue due to changes to estimated variable consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">SEC Schedule, 12-09, Valuation Allowances and Reserves</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetIntraEntityTransferAssetOtherThanInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Asset, Intra-entity Transfer, Asset Other than Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetIntraEntityTransferAssetOtherThanInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred tax asset for temporary difference</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditConcentrationRiskMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Credit Concentration Risk [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditConcentrationRiskMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Credit Concentration Risk [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from Contract with Customer [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DelayedDrawTermLoanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Delayed Draw Term Loan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DelayedDrawTermLoanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Delayed draw term loan.</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="fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Valuation Allowances for Rebates, Discounts and Adjustments [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Valuation Allowances for Rebates, Discounts and Adjustments [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percentage increases on each anniversary of rent commencement date.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage Increases On Each Anniversary Of Rent Commencement Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage increases on each anniversary of rent commencement date 2023</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_FairValueMeasurementsFairValueHierarchyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Hierarchy and NAV</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/terseLabel">Foreign statute of limitation generally remains open in the year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProductRevenuePolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Product revenue policy.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProductRevenuePolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Product Revenue Policy Policy [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProductRevenuePolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Product Revenue, Net</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exercisable, Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_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_FinanceLeaseLiabilityPaymentsDueYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Liability, to be Paid, Year Five</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Loss before income taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DrugProductRevenuePolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Drug Product Revenue, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DrugProductRevenuePolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Drug product revenue.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DrugProductRevenuePolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Drug Product Revenue Policy [Text Block]</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">Other long-term liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TransactionCostsRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Transaction costs related to sale of future revenues.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TransactionCostsRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Transaction Costs Related To Sale Of Future Revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TransactionCostsRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Less: Transaction costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_CN_lbl" xlink:role="http://www.xbrl.org/2003/role/label">CHINA</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_CN_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">China [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DevelopmentAndRegulatoryApprovalMilestones_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Represents the potential amount of milestone payments related to development and regulatory approval under the collaborative agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DevelopmentAndRegulatoryApprovalMilestones_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Development And Regulatory Approval Milestones</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DevelopmentAndRegulatoryApprovalMilestones_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Development and regulatory approval milestones</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="us-gaap_FairValueMeasurementsRecurringMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value, Measurements, Recurring [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProfitShareMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Profit Share [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProfitShareMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Profit share.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProfitShareMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Profit Share [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProfitShareMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Profit Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Liability related to sale of future revenue.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liability Related To Sale of Future Revenue [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Liability Related to Sale of Future Revenues</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="fgen_OtherDiscountsAndRebatesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other discounts and rebates.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherDiscountsAndRebatesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Discounts And Rebates [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherDiscountsAndRebatesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other Discounts and Rebates [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total net deferred tax assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherRevenuePatentTransferMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other Revenue - Patent Transfer [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherRevenuePatentTransferMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Revenue Patent Transfer [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherRevenuePatentTransferMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other revenue patent transfer .</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Components of Deferred Tax Assets and Liabilities [Abstract]</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">Credit Losses &#8211; Available-For-Sale Debt Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Summary of Finance and Operating Lease Right of Use Assets by Geographical Location.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Summary Of Finance And Operating Lease Right Of Use Assets By Geographical Location Table [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Finance and Operating Lease Right of Use Assets by Geographical Location</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RedeemableNonControllingInterests_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Redeemable non-controlling interests</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RedeemableNonControllingInterests_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Redeemable non-controlling interests</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RedeemableNonControllingInterests_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Redeemable non-controlling interests.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MinorityInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity, Attributable to Noncontrolling Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MinorityInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non-controlling interests</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MinorityInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Stockholders' Equity Attributable to Noncontrolling Interest, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MinorityInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Stockholders' Equity Attributable to Noncontrolling Interest, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MinorityInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Stockholders' Equity Attributable to Noncontrolling Interest, Ending Balance</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_StockOptionAwardsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock option awards.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_StockOptionAwardsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Option Awards [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_StockOptionAwardsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock Option Awards [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedRestructuringCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued restructuring charges</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedRestructuringCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Restructuring Charges</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedRestructuringCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrued restructuring charges.</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="fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Shares issued from stock plans net of payroll taxes paid shares.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shares Issued From Stock Plans Net Of Payroll Taxes Paid Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares issued from stock plans, net of payroll taxes paid, Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LongTermInvestmentExcludingEquityMethodInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Long term investment excluding equity method investments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LongTermInvestmentExcludingEquityMethodInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long Term Investment Excluding Equity Method Investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LongTermInvestmentExcludingEquityMethodInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long-term investments</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, redeemable non-controlling interests and deficit</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_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNoncurrentLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Noncurrent Liabilities [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNoncurrentLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Other Long-term Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PotentialMilestones_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Represents the total potential amount of milestone payments related to development, regulatory approval and commercial sales under the collaborative agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PotentialMilestones_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Potential Milestones</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PotentialMilestones_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Potential milestone payments</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="dei_EntityAddressPostalZipCode_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, Postal Zip Code</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="dei_EntityInteractiveDataCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Interactive Data Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ShorensteinPropertiesLLCMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Shorenstein properties LLC.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ShorensteinPropertiesLLCMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shorenstein Properties L L C [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ShorensteinPropertiesLLCMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shorenstein Properties LLC [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockDividendRatePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Dividend Rate, Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockDividendRatePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Cash dividend percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherRisksAndUncertaintiesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other Risks and Uncertainties.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherRisksAndUncertaintiesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Risks And Uncertainties Policy [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherRisksAndUncertaintiesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other Risks and Uncertainties</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">Unrecognized tax benefits that would affect effective tax rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MeasurementInputDiscountRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Input, Discount Rate [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MeasurementInputDiscountRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Measurement Input Discount Rate [Member]</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 ($0, $0 and $(1,118) from a related party)</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/totalLabel">Increase (Decrease) in Accounts Payable, Total</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 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Unrealized Loss Position, Fair Value [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Summary of Available for Sale Securities in Unrealized Loss Position, Fair Value and Gross Unrealized Loss By Length of Time Security in Continual Unrealized Loss Position</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/2009/role/negatedLabel">Less: Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LoansReceivableBasisSpreadOnVariableRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loans Receivable, Basis Spread on Variable Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LoansReceivableBasisSpreadOnVariableRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage points deducted to reference rate to compute effective interest rate</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">Granted, Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued and other current liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed Business Combination, Accrued and other current liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combination, recognized identifiable assets acquired and liabilities assumed business combination, accrued and other current liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BilledContractReceivables_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Billed Contracts Receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireInProcessResearchAndDevelopment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire in Process Research and Development</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireInProcessResearchAndDevelopment_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Payment made for acquired in-process research and development asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireInProcessResearchAndDevelopment_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Business acquistion payment to support continued development obligations</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="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Well-known Seasoned Issuer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RestatementAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revision of Prior Period [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Represents the amount of fixed and determinable non-contingent upfront payments included under the collaborative agreement as arrangement consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds From Upfront Non Contingent And Time Based Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Upfront, non-contingent and time-based payments received</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, Weighted Average Exercise Price per Share</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="dei_EntityIncorporationStateCountryCode_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Incorporation, State or Country Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of the acquired IPR&amp;D assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair value of the acquired in process research and development assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Fair value of the acquired in process research and development assets.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SEC Schedule, 12-09, Valuation Allowance, Deferred Tax Asset [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Valuation Allowances for Deferred Tax Assets [Member]</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ConvertiblePromissoryNoteMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Convertible promissory note [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ConvertiblePromissoryNoteMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Convertible promissory note.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ConvertiblePromissoryNoteMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible promissory note [Member]</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, net ($6,009, $(1,158) and $(6,803) from related parties)</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_InvestmentsDebtAndEquitySecuritiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investments, Debt and Equity Securities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MaximumFutureMilestonePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Maximum future milestone payments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MaximumFutureMilestonePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Maximum Future Milestone Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MaximumFutureMilestonePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Maximum future milestone payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PerformanceBasedRestrictedStockAwardsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Performance based restricted stock awards.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PerformanceBasedRestrictedStockAwardsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Performance Based Restricted Stock Awards [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PerformanceBasedRestrictedStockAwardsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">PRSUs [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FibrogenEuropeOyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Fibro Gen Europe Oy.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FibrogenEuropeOyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fibrogen Europe Oy [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FibrogenEuropeOyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">FibroGen Europe [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OfficeEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Office Equipment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OfficeEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Office Equipment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of shareBased compensation restricted stock units perfomance based restricted stock and total shareholders return award activity.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of ShareBased Compensation Restricted Stock Units Perfomance Based Restricted Stock And Total Shareholders Return Award Activity [TableTextBlock]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of RSU,PRSU and TSR Awards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FutureRevenueGranted_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Future revenue granted.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FutureRevenueGranted_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Future revenue granted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborationServicesAndOtherRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue recognized from co-development services, manufacturing of clinical supplies, committee services and information services and other revenue.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborationServicesAndOtherRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaboration Services And Other Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborationServicesAndOtherRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Collaboration services and other revenue from a related party</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Sale, Maturity and Collection of Investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from maturities of investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Proceeds from Sale, Maturity and Collection of Investments, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SecuredLongTermDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Senior secured term loan facilities, non-current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SecuredLongTermDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Secured Long-Term Debt, Noncurrent</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">Vested, Weighted Average Fair value at Grant</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="dei_LocalPhoneNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">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_SubsidiarySaleOfStockAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sale of Stock</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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exercisable, Weighted Average Exercise Price per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Payment cap date on or before December thirty one two thousand twenty eight.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment cap date on or before December thirty one two thousand twenty eight [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Payment Cap Date on or before December 31, 2028 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Deferred Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred revenue from related parties</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Current Federal Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Federal</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Collaboration Agreements, License Agreement and Revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Collaborative arrangement and revenues.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement And Revenues Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstraZenecaAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Astra Zeneca agreements.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstraZenecaAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Astra Zeneca Agreements [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstraZenecaAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">AstraZeneca Agreements [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstraZenecaAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">AstraZeneca [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of complaints filed</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loss Contingency, New Claims Filed, Number</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="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Comprehensive Income, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Comprehensive Income (Loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduledRentCommencementYearOptionTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Scheduled rent commencement year option two.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduledRentCommencementYearOptionTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Scheduled Rent Commencement Year Option Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduledRentCommencementYearOptionTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Rent increase commencement year second option</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 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OperatingLossCarryforwardsExpirationYear_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Operating loss carryforwards expiration year.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OperatingLossCarryforwardsExpirationYear_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Loss Carryforwards Expiration Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OperatingLossCarryforwardsExpirationYear_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating loss carryforwards expiration year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Available-for-sale investments:</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Organization, Consolidation and Presentation of Financial Statements [Abstract]</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_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_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 and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Segment Reporting Information [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Segment Reporting Information [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</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/verboseLabel">Percentage of Accounts Receivable [Member]</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="dei_DocumentAnnualReport_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Annual Report</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedRestructuringChargeCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued restructuring charge</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedRestructuringChargeCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Restructuring Charge Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedRestructuringChargeCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrued restructuring charge current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MilestonePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Milestone Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MilestonePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Milestone payments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedPreclinicalAndClinicalTrialCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to pre-clinical and clinical trial activities, including those performed by third parties. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedPreclinicalAndClinicalTrialCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Preclinical And Clinical Trial Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedPreclinicalAndClinicalTrialCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preclinical and clinical trial accruals</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="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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Effect of exchange rate change 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_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Significant Change in Unrecognized Tax Benefits is Reasonably Possible, Estimated Range Not Possible</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unrecognized tax benefits description</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Interest Income (Expense), Nonoperating, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total interest and other, net</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">Interest rate on product development advances</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">debt interest rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cumulative Effect, Period of Adoption [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cumulative Effect, Period of Adoption</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">Non-vested stock option awards granted that will be recognized on a straight-line basis over the weighted-average 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_PropertyPlantAndEquipmentByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long-Lived Tangible Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SeniorSecuredTermLoanFacilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Senior Secured Term Loan Facilities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SeniorSecuredTermLoanFacilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Senior secured term loan facilities.</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vested and expected to vest, Weighted Average Remaining Contractual Life</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_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="fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Effective Annual Interest Rate Related To Sale Of Future Revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Annual Interest Rate Related To Sale Of Future Revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Effective annual interest rate related to sale of future revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract_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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets [Abstract]</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 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Option vesting term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LeaseAmendmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Lease amendment.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LeaseAmendmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease Amendment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LeaseAmendmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease Amendment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestPayableCurrentAndNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Interest Payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestPayableCurrentAndNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnrealizedLossGainOnEquityInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Unrealized loss (gain) on equity investments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnrealizedLossGainOnEquityInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrealized Loss Gain On Equity Investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnrealizedLossGainOnEquityInvestments_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Unrealized loss on equity investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Aggregate consideration received for milestone and upfront payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Collaborative arrangement aggregate consideration for milestone and upfront payments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement Aggregate Consideration For Milestone And Upfront Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments_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_SeriesHPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Series H Preferred Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesHPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Series H [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contract with customer liability.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract With Customer Liability [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract with Customer Liability [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AtmProgramMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">ATM Program [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AtmProgramMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">ATM Program.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxContingencyLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Contingency [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxContingencyLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Contingency [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Reconciliation of the Beginning and Ending Amounts of Unrecognized Income Tax Benefits</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfInvestmentsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Investments [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Purchase obligations due 2024</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Recorded Unconditional Purchase Obligation, to be Paid, Year One</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_FairValueInputsLevel3Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">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/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/terseLabel">Stock-based compensation</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_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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Table]</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 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="fgen_DiscountsAndRebatesCurrentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Discounts and rebates current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DiscountsAndRebatesCurrentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Discounts And Rebates Current [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DiscountsAndRebatesCurrentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Discounts And Rebates Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Payment cap date after January one two thousand thirty.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment cap date after January one two thousand thirty [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Payment Cap Date after January 1, 2030 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NumberOfOptionalRightsToExtendLease_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Number of optional rights to extend lease.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NumberOfOptionalRightsToExtendLease_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number Of Optional Rights To Extend Lease</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NumberOfOptionalRightsToExtendLease_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Optional rights to extend lease</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LesseeFinanceLeaseExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Lessee, finance lease, expiration period.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LesseeFinanceLeaseExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee Finance Lease Expiration Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LesseeFinanceLeaseExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lessee, finance lease, expiration period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Minimum cash or cash equivalents required during term loan outstanding.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Minimum Cash Or Cash Equivalents Required During Term Loan Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Minimum cash or cash equivalents required during term loan outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Forfeited, Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FortisTherapeuticsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fortis Therapeutics [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FortisTherapeuticsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Fortis Therapeutics.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FortisTherapeuticsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fortis Therapeutics [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accrued Liabilities, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_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="fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Balance in other receivables related to stock option exercise</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Balance In Other Receivables Related To Stock Option Exercise</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Balance in other receivables related to stock option exercise.</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="stpr_CA_lbl" xlink:role="http://www.xbrl.org/2003/role/label">CALIFORNIA</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="stpr_CA_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">California [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of lease term and discount rate.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Lease Term And Discount Rate Table [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Lease Term and Discount Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Weighted Impacts of Outstanding Anti-dilutive Securities Excluded from Calculation of Diluted Net Loss Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Accounts Payable, Related Parties</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued and other liabilities from related party</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/terseLabel">Schedule of Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AgencyBondsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Agency bonds.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AgencyBondsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Agency Bonds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AgencyBondsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Agency bonds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Increase (decrease) in operating lease liabilities, non-current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease In Operating Lease Liabilities Non Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease liabilities, non-current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Segment Reporting Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Segment and Geographic Information</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="dei_CityAreaCode_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">City Area Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research and Development Arrangement, Contract to Perform for Others, Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Research and Development Arrangement, Contract to Perform for Others, Type</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred State and Local Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_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_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</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</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/verboseLabel">Total inventory</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">Operating activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccountingPolicyLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accounting policy.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccountingPolicyLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Policy [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccountingPolicyLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounting Policy [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeFinanceLeaseTermOfContract1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Finance Lease, Term of Contract</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeFinanceLeaseTermOfContract1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lessee, finance lease, initial lease term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentPeriodOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Payment Period One [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentPeriodOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Payment Period One [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentPeriodOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment Period One [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentPeriodOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Before December 31, 2028 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Cash and Cash Equivalents, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted time deposits</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Restricted Cash and Cash Equivalents, Noncurrent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeFinanceLeaseOptionToExtend_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Finance Lease, Option to Extend</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeFinanceLeaseOptionToExtend_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lessee, finance lease, option to extend</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="fgen_AcquisitionAndVariableInterestEntityTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Acquisition and variable interest entity table.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AcquisitionAndVariableInterestEntityTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Acquisition And Variable Interest Entity [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AcquisitionAndVariableInterestEntityTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquisition And Variable Interest Entity [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LitigationSettlementCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Litigation settlement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LitigationSettlementCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Litigation Settlement Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LitigationSettlementCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Litigation settlement current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockVotingRights_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Voting Rights</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockVotingRights_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock voting rights</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_GrossAccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Gross accounts receivable.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_GrossAccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Gross Accounts Receivable [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_GrossAccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross Accounts Receivable [Member]</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_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/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/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="country_JP_lbl" xlink:role="http://www.xbrl.org/2003/role/label">JAPAN</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_JP_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Japan [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/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 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/verboseLabel">Selling, general and administrative [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Realized Gain (Loss), Excluding Other-than-temporary Impairment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Realized loss on sales of available-for-sale securities</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="fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Required minimum shareholder percentage to call for redemption of preferred shares.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Required Minimum Shareholder Percentage To Call For Redemption Of Preferred Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Minimum percentage of shareholder's approval to call for redemption of preferred shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FalikangMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Falikang.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FalikangMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Falikang [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FalikangMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Falikang</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research and Development Arrangement, Contract to Perform for Others, Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Research and Development Arrangement, Contract to Perform for Others, Type</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryWorkInProcess_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Work in Process, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryWorkInProcess_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Work-in-progress</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Employee Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">ESPP [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_EUSupplyAndAstellasAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">E U supply and Astellas agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_EUSupplyAndAstellasAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">E U Supply And Astellas Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_EUSupplyAndAstellasAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">E U Supply And Astellas Agreement</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">Financing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research and Development Expense, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Research and Development Expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule II - Valuation and Qualifying Accounts</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RebatesAndDiscountsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Rebates and discounts.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RebatesAndDiscountsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Rebates And Discounts [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RebatesAndDiscountsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Rebates and Discounts [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of income loss before income tax domestic and foreign.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Income Loss Before Income Tax Domestic And Foreign Table [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Components of Loss Before Income Taxes</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 Stock Option Transactions</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 [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/verboseLabel">Percentage of Accounts Receivable [Member]</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 Transactions By Related Party [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FibroGenIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">FibroGen, Inc.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FibroGenIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fibro Gen Inc [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FibroGenIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">FibroGen, Inc. [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred revenue ($(23,378), $11,211 and $21,549 from related parties)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Contract with Customer, Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DevelopmentRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Development Revenue [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DevelopmentRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Development revenue.</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="dei_DocumentFiscalPeriodFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">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 lease payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherInvestorsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Investors [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherInvestorsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other investors.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share of Net Income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income (Loss) from Equity Method Investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Investment income (loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FibroGenCaymanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">FibroGen Cayman.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FibroGenCaymanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fibro Gen Cayman [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FibroGenCaymanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">FibroGen Cayman [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investment, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Investments</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/terseLabel">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_AccruedProfessionalFeesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Professional Fees, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedProfessionalFeesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Professional services</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="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Senior Secured Term Loan Facilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Long-Term Debt Instruments [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerMilestoneMethodTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contract with customer milestone method.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerMilestoneMethodTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract With Customer Milestone Method Table [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerMilestoneMethodTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of License Revenue and Development Revenue Recognized under Agreement</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">Anti-dilutive securities excluded from computation of net loss per share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Machinery and Equipment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Machinery [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnamortizedIssuanceCostsAndTransactionCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Less: Unamortized issuance costs and transaction costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnamortizedIssuanceCostsAndTransactionCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unamortized Issuance Costs and Transaction Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnamortizedIssuanceCostsAndTransactionCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Unamortized issuance costs and transaction costs.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Revenues From External Customers And Long Lived Assets [Table]</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">Total lease cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Event [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WarrantMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Warrant [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WarrantMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Warrants [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Recorded Unconditional Purchase Obligation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligation_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Adjustments to additional paid in capital shares issued from stock plans net of payroll taxes paid.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Adjustments To Additional Paid In Capital Shares Issued From Stock Plans Net Of Payroll Taxes Paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares issued from stock plans, net of payroll taxes paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Future manufacturing clinical regulatory and commercial milestone payments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Future Manufacturing Clinical Regulatory And Commercial Milestone Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Future manufacturing clinical regulatory and commercial milestone payments</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">Schedule of Significant Components of Deferred Tax Assets</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 from related parties</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 ($6,079 and $12,088 from related parties)</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, net ($6,079 and $12,088 from related parties)</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="srt_CumulativeEffectPeriodOfAdoptionDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cumulative Effect, Period of Adoption [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cumulative Effect, Period of Adoption</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 [Member]</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="fgen_NumberOfProductDevelopmentObligations_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Number of product development obligations.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NumberOfProductDevelopmentObligations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number Of Product Development Obligations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NumberOfProductDevelopmentObligations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of product development obligations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DirectSalesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Direct sales.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DirectSalesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Direct Sales [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DirectSalesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Direct Sales [Member]</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/totalLabel">Total cash and cash equivalents</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">Schedule of Recorded 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 current assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CorporateBondSecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Corporate Bond Securities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CorporateBondSecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Corporate bonds [Member]</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exercisable, Aggregate Intrinsic Value</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/verboseLabel">Total intrinsic value of options exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accretion (Amortization) of Discounts and Premiums, Investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Net accretion of premium and discount on investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Expense, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Prepaid Expense, Current, Total</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="dei_EntityCommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Entity Common Stock, Shares Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value of Financial Instruments, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value of Financial Instruments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Litigation settlement amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loss Contingency Accrual</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Loss Contingency Accrual, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Loss Contingency Accrual, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Finished Goods, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finished goods</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Antidilutive Securities, Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Antidilutive Securities, Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConsolidationVariableInterestEntityPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Consolidation, Variable Interest Entity, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConsolidationVariableInterestEntityPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity Method Investment - Variable Interest Entity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenueInterestPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue interest payment.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenueInterestPayment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue interest payment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AcquisitionAndVariableInterestEntityLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Acquisition and variable interest entity line items.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AcquisitionAndVariableInterestEntityLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Acquisition And Variable Interest Entity [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AcquisitionAndVariableInterestEntityLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquisition And Variable Interest Entity [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="fgen_BeijingFalikangPharmaceuticalCoLtdMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Beijing Falikang Pharmaceutical Co. Ltd.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BeijingFalikangPharmaceuticalCoLtdMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Beijing Falikang Pharmaceutical Co Ltd [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BeijingFalikangPharmaceuticalCoLtdMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Beijing Falikang Pharmaceutical Co Ltd</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BeijingFalikangPharmaceuticalCoLtdMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Beijing Falikang Pharmaceutical Co. Ltd [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CoverAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cover</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="fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Dividend received from unconsolidated variable interest entity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Dividend Received from Unconsolidated Variable Interest Entity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Dividend received from unconsolidated variable interest entity.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueInYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue payment cap amount due in year five.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueInYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Payment Cap Amount Due In Year Five</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueInYearFive_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_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_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_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_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long-term Purchase Commitment, Category of Item Purchased</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</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="dei_DocumentFiscalYearFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Fiscal Year Focus</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Liability related to sale of future revenues non current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liability Related To Sale Of Future Revenues Non Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Liability related to sale of future revenues, non-current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Transfers out of Level 3</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Transfers of assets out of level 3</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non-cash: Increase (decrease) resulting from lease modification:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Non Cash Increase Decrease Resulting From Lease Modification [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Non cash increase decrease resulting from lease modification.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InterestRateOptionOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Interest Rate Option One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InterestRateOptionOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Interest Rate Option One [member]</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_SaleOfStockNameOfTransactionDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sale of Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherTaxCreditCarryforwardsExpirationYear_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other tax credit carryforwards expiration year.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherTaxCreditCarryforwardsExpirationYear_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Tax Credit Carryforwards Expiration Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherTaxCreditCarryforwardsExpirationYear_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other tax credit carryforwards expiration year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxContingencyTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Contingency [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxContingencyTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Tax Contingency [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Research and pre-clinical stage development programs.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research And Pre Clinical Stage Development Programs [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Research and Preclinical Stage Development Programs [Member]</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/verboseLabel">Weighted-average fair value of awards 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/terseLabel">Granted, Weighted Average Fair value at Grant</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Lessee, finance lease, option to extend the additional lease term.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee Finance Lease Option To Extend Additional Lease Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lessee, finance lease, option to extend the additional lease term</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="fgen_SuppliesNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net contract assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SuppliesNet_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Net unbilled milestone and co-development revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SuppliesNet_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Supplies, net.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SuppliesNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Supplies Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SuppliesNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net unbilled co-development revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Amount of aggregate consideration receivable under collaborative arrangement excluding drug product revenue.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement Aggregate Consideration Excluding Drug Product Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate considerations received excluding drug product revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RsusPrsusAndTsrAwardsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">RSUs, PRSUs and TSR Awards [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RsusPrsusAndTsrAwardsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">RSUs, PRSUs and TSR Awards [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RsusPrsusAndTsrAwardsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">RSUs, PRSUs and TSR awards [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BondAndMutualFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Bond and mutual funds.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BondAndMutualFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Bond And Mutual Funds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BondAndMutualFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Bond and mutual funds [Member]</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="dei_SecurityExchangeName_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">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/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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expiration period of stock options</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Trade Accounts Receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRoyaltiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of activity of liability related to sale of future royalties.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRoyaltiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of activity of liability related to sale of future royalties [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRoyaltiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Activity of Liability Related to Sale of Future Royalties</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">Federal [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ClassOfWarrantOrRightNumberOfWarrantsOrRightsExercisedDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Class of warrant or right number of warrants or rights exercised during period.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ClassOfWarrantOrRightNumberOfWarrantsOrRightsExercisedDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Class Of Warrant Or Right Number Of Warrants Or Rights Exercised During Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ClassOfWarrantOrRightNumberOfWarrantsOrRightsExercisedDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Warrants to purchase common stock exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Cash and Cash Equivalents [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Cash and Cash Equivalents</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="fgen_ThirdPartyShareholdersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Third Party Shareholders [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ThirdPartyShareholdersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Third party shareholders.</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/terseLabel">Property 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">Property, Plant and Equipment, Gross, Total</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/periodEndLabel">Property, Plant and Equipment, Gross, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares vested</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested, Number of Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasJapanAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Astellas Japan Agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasJapanAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Astellas Japan Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasJapanAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Astellas Japan Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Current State and Local Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">State</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Variable consideration payment received upon achievement of milestone.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Variable Consideration Payment Received Upon Achievement Of Milestone</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Variable consideration related to payments for milestones considered probable of being achieved</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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_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="fgen_RevenuePaymentCapAmountDueInYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Payment Cap Amount Due In Year Three</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueInYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2025</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueInYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue payment cap amount due in year three.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Represents the total amount of non-contingent, non-refundable, upfront payments included under the collaborative agreement as arrangement consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds From Upfront Non Contingent And Non Refundable Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from upfront, non-contingent and non-refundable payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherPurchasesAndProgramsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other purchases and programs.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherPurchasesAndProgramsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Purchases And Programs Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherPurchasesAndProgramsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Other Purchases and Programs [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Federal, State and Local, Tax Expense (Benefit) [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Deductions, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Forfeited, Weighted Average Exercise Price per Share</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</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FinanceLeaseAndOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Finance lease and operating lease liability.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FinanceLeaseAndOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease And Operating Lease Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FinanceLeaseAndOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinancialInstrumentAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Financial Instrument [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinancialInstrumentAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Financial Instrument</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RoxadustatDrugProductMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Roxadustat drug product.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RoxadustatDrugProductMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Roxadustat Drug Product [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RoxadustatDrugProductMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Roxadustat [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Liability, to be Paid, Year One</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">Entity Emerging Growth Company</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">Percentage of outstanding shares acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Convertible Preferred Stock, Shares Issued upon Conversion</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Conversion rights, shares issued upon conversion of each preferred share</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="dei_AmendmentFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amendment Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Components of Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TransactionTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Transaction Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TransactionTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Transaction Type</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Variable consideration payment received from estimated future co-development billing.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Variable Consideration Payment Received From Estimated Future Co Development Billing</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Transaction price, variable consideration from estimated future co-development billing</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/terseLabel">Schedule of Accrued and Other Current Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IPOMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">IPO [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IPOMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">IPO [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue gross transfer price from contract with customer excluding assessed tax.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Gross Transfer Price From Contract With Customer Excluding Assessed Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross transaction price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DebtInstrumentInterestRatePayableCashStatedPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt instrument interest rate payable cash stated percentage.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DebtInstrumentInterestRatePayableCashStatedPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument Interest Rate Payable Cash Stated Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DebtInstrumentInterestRatePayableCashStatedPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">interest rate payable in cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FederalAndStateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Federal and state.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_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="fgen_FederalAndStateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Federal and State [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RestructuringChargePolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restructuring Charge</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RestructuringChargePolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restructuring Charge [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RestructuringChargePolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Restructuring charge.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Gross Unrealized Holding Losses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ManufacturingRelatedMilestonePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Manufacturing related milestone payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ManufacturingRelatedMilestonePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Manufacturing Related Milestone Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ManufacturingRelatedMilestonePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Manufacturing related milestone payment.</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">Accounting Standards Update</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Basis of Accounting, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_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_ProceedsFromIssuanceOfSecuredDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from senior secured term loan facilities, net of issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfSecuredDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Issuance of Secured Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Method Investment, Ownership Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Ownership Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Translation Adjustment Functional to Reporting Currency, Net of Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Currency translation adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Translation Adjustment Functional to Reporting Currency, Net of Tax, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Translation Adjustment Functional to Reporting Currency, Net of Tax, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Right-of-Use Asset, Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amortization of finance lease right-of-use assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Amortization of right-of-use assets</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_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Category of Item Purchased</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtContingentPaymentOfPrincipalOrInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Debt, Contingent Payment of Principal or Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtContingentPaymentOfPrincipalOrInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Conditions of payment of interest, convertible promissory note</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Debt Securities, Available-for-Sale</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Purchases of available-for-sale securities</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_VariableRateDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Variable Rate [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VariableRateDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Variable Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Unrealized Loss Position</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Available for sale securities in continual unrealized loss position, estimated fair value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Available for sale securities in continual unrealized loss position, estimated fair value</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</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">Entity File Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityFileNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity File Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PreferredSharesIssuedPricePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Preferred shares issued, price per share.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PreferredSharesIssuedPricePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Shares Issued Price Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PreferredSharesIssuedPricePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred shares issued, price per share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TransactionPriceAllocatedToPerformanceObligations_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Transaction price allocated to performance obligations.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TransactionPriceAllocatedToPerformanceObligations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Transaction Price Allocated To Performance Obligations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TransactionPriceAllocatedToPerformanceObligations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Transaction price and allocated to performance obligations</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">Schedule of Customer Concentration by Collaboration Partners and Distribution Entity</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">Subtotal</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Liability related to sale of future revenues.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liability Related To Sale Of Future Revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Liability related to sale of future revenues - beginning balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenues_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Liability related to sale of future revenues - ending balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ClinicalTrialAccrualPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Clinical trial accrual.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ClinicalTrialAccrualPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Clinical Trial Accrual Policy [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ClinicalTrialAccrualPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Clinical Trial Accruals</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AllOtherMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">All other.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AllOtherMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">All Other [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AllOtherMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">All other [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Recognition, Multiple-deliverable Arrangements [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue Recognition Multiple Deliverable Arrangements [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Supplies_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Supplies</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Supplies_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Unbilled contract asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Supplies_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Weighted Average Discount Rate, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finance leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Due to related parties</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Liabilities, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unrealized gain (loss) on investments, net of tax effect</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseInDeferredRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Increase in deferred revenue.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseInDeferredRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase In Deferred Revenue [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseInDeferredRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Increase In Deferred Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Total amount of revenue recognized for license and development services under the collaboration agreement as of a given date.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cumulative Revenue License And Development Revenue Recognized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cumulative Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Recorded Unconditional Purchase Obligation [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Recorded Unconditional Purchase Obligation [Table]</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="fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of supplemental cash flow information related to leases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Supplemental Cash Flow Information Related To Leases Table [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Supplemental Cash Flow Information Related to Leases</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">Total 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/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of share based payments award total shareholders return.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of share based payments award total shareholders return [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Assumptions used to Estimate Fair Value of TSR Awards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LongTermInvestmentsMinimumMaturityPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Long term investments minimum maturity period.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LongTermInvestmentsMinimumMaturityPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long Term Investments Minimum Maturity Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LongTermInvestmentsMinimumMaturityPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long term Investments Maturity</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/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/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_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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Unvested, Weighted Average Fair value at Grant, Beginning Balance</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">Unvested, Weighted Average Fair value at Grant, Ending Balance</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="fgen_WeightedAverageDiscountRateAbstract_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="fgen_WeightedAverageDiscountRateAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Discount Rate [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_WeightedAverageDiscountRateAbstract_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="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 operating costs and 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">Schedule of Significant Balance of Accounts Receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other Revenue.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OtherRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Revenue [Member]</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="dei_AuditorLocation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Auditor Location</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued and other current liabilities ($39,814 and $63,886 to a related party)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Liabilities and Other Liabilities</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_CollaborativeArrangementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CollaborativeArrangementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Collaborative Arrangement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VariableInterestEntityOwnershipPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Variable Interest Entity, Qualitative or Quantitative Information, Ownership Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VariableInterestEntityOwnershipPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of outstanding shares owned</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; 125,000 shares authorized; no shares issued and outstanding at December 31, 2023 and 2022</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">Entity Small Business</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="dei_EntityShellCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">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/label">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/terseLabel">Number of operating segment</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="fgen_ProfitSharePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Profit share percent.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProfitSharePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Profit Share Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProfitSharePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Profit share percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PriceAdjustmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Price adjustment.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PriceAdjustmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Price Adjustment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PriceAdjustmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Price Adjustment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AcquiredInProcessResearchAndDevelopmentAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Acquired in process research and development asset.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AcquiredInProcessResearchAndDevelopmentAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Acquired In Process Research And Development Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AcquiredInProcessResearchAndDevelopmentAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquired in-process research and development asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Unrecognized compensation costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent payment associated with business acquisition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment for Contingent Consideration Liability, Investing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfFundingForCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Represents the percentage of costs that will be funded by the other party under a collaborative agreement for development costs.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfFundingForCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage Of Funding For Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfFundingForCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of joint development costs committed to fund</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">IPR&amp;D assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed In-Process Research and Development</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combination, recognized identifiable assets acquired and liabilities assumed in-process research and development.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Stock, Shares Issued Net of Shares for Tax Withholdings</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">RSUs released and issued net of shares withheld for taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComputerEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Computer Equipment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComputerEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Computer Equipment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net Loss Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityAdditions_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contract with customer liability additions.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityAdditions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract With Customer Liability Additions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityAdditions_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Additions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Cash and cash equivalents and restricted time deposits policy.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash And Cash Equivalents And Restricted Time Deposits Policy Policy [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash, Cash Equivalents and Restricted Time Deposits</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Lived Assets by Geographic Areas [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Long Lived Assets by Geographic Area</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommercialPaperMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commercial Paper [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommercialPaperMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commercial paper [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Liabilities, Noncurrent [Abstract]</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="dei_EntityAddressAddressLine1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">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/verboseLabel">Percentage of Revenue [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_WarrantsExercisedDuringPeriodValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Warrants exercised during period value.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_WarrantsExercisedDuringPeriodValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Warrants Exercised During Period Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_WarrantsExercisedDuringPeriodValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Warrants exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents, Fair Value Disclosure</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Assets fair value disclosure</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">Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ManufacturingCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Manufacturing Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ManufacturingCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Burdened manufacturing costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Antidilutive Securities [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Antidilutive Securities</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/terseLabel">Balance Sheet Components</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">Interest rate per annum</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="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_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="fgen_ProceedsFromNonContingentUpfrontPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Represents the amount of non-contingent upfront payments included under the collaborative agreement as arrangement consideration.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromNonContingentUpfrontPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds From Non Contingent Upfront Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromNonContingentUpfrontPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non-contingent upfront payments received</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueInYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue payment cap amount due in year two.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueInYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Payment Cap Amount Due In Year Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmountDueInYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2024</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnitedStatesRestOfWorldAndChinaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">United States/Rest of World and China.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnitedStatesRestOfWorldAndChinaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">United States Rest Of World And China [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnitedStatesRestOfWorldAndChinaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">U.S./RoW and China [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_UnitedStatesRestOfWorldAndChinaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">U.S./RoW and China [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseAgreementWithEluminexMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Eluminex [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseAgreementWithEluminexMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">License agreement with Eluminex.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseAgreementWithEluminexMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">License Agreement With Eluminex [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseAgreementWithEluminexMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Eluminex Agreements [Member]</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="fgen_FairValueAssetsLevel1ToLevel2TransferAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Fair value assets level1 to level2 transfer amount.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FairValueAssetsLevel1ToLevel2TransferAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Assets Level1 To Level2 Transfer Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FairValueAssetsLevel1ToLevel2TransferAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Transfers of assets from level 1 to 2</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Proceeds from sale of future revenues net of issuance costs.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds From Sale Of Future Revenues Net Of Issuance Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from sale of future revenues, net of issuance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TypeOfCostGoodOrServiceExtensibleList_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cost, Product and Service [Extensible Enumeration]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TypeOfCostGoodOrServiceExtensibleList_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cost, Product and Service [Extensible List]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeographicDistributionDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Geographic Distribution [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeographicDistributionDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Geographic Distribution</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Co-development services related to CDK continued over development year.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Co Development Services Related To C D K Continued Over Development Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Co-development services related to CDK continued over development year</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="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Liability [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract with Customer, Liability [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongtermDebtTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Debt, Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProfitLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProfitLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProfitLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Deferred Income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome_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_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_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_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="fgen_FinanceLeaseRightOfUseAssetsCost_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Finance lease, right-of-use assets - cost.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FinanceLeaseRightOfUseAssetsCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease Right Of Use Assets Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FinanceLeaseRightOfUseAssetsCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Right-of-use assets cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OwnershipInUnitedStatesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Ownership in United States.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OwnershipInUnitedStatesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Ownership In United States [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OwnershipInUnitedStatesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">United States [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesCPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Series C Preferred Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeriesCPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Series C [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel2Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Inputs, Level 2 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel2Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Level 2 [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/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/terseLabel">Product Revenue, Net [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">Product [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityMethodInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Method Investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityMethodInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Ending balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityMethodInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Beginning balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityMethodInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity method investment in unconsolidated variable interest entity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement and Arrangement Other than Collaborative [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Collaborative Arrangements And Noncollaborative Arrangement Transactions [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Liability related to sale of future royalties.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liability Related to Sale of Future Royalties [Abstract]</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">Principal of senior secured term loan facilities</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/verboseLabel">Amount received</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">Term loan amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Right-of-Use Asset Obtained in Exchange for Finance Lease Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finance leases</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="srt_ProductOrServiceAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Product and Service</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred revenue, net of current ($9,705 and $31,044 to a related party)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Liability, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Deferred revenue, net of current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Astellas.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Astellas [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstellasMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Astellas [Member]</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="dei_Security12bTitle_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Title of 12(b) Security</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_VariableConsiderationRelatedToProfitShare_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Variable consideration related to profit share.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_VariableConsiderationRelatedToProfitShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Variable Consideration Related To Profit Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_VariableConsiderationRelatedToProfitShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Variable consideration related to profit share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Increase decrease in prepaid expenses and other current assets related parties.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease In Prepaid Expenses And Other Current Assets Related Parties</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid expenses and other current assets from related party</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignGovernmentDebtMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Foreign Government Debt [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ForeignGovernmentDebtMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign government bonds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquitySecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Securities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquitySecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity investments [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseContractualTermAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease Contractual Term [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseContractualTermAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease Contractual Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OperatingAndFinanceLeasePaymentObligations_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Operating and finance lease payment obligations.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OperatingAndFinanceLeasePaymentObligations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating And Finance Lease Payment Obligations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OperatingAndFinanceLeasePaymentObligations_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Operating and finance lease payment obligations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MoneyMarketFundsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Money Market Funds, at Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MoneyMarketFundsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Money market funds</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentPeriodTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Payment Period Two [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentPeriodTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Payment period two.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentPeriodTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment Period Two [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PaymentPeriodTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">No Later Than December 31, 2030 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Current Federal, State and Local, Tax Expense (Benefit) [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_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_FairValueAssetsMeasuredOnRecurringBasisTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Assets Measured on Recurring Basis [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Values of Financial Assets Measured on Recurring Basis</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">Accounting Standards Update</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">Investing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_USGovernmentBondsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">U.S. government bonds.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_USGovernmentBondsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">U S Government Bonds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_USGovernmentBondsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">U.S. government bonds [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/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 [Member]</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_PropertyPlantAndEquipmentTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long-Lived Tangible Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Event [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfDrugProductRevenueTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of drug product revenue.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfDrugProductRevenueTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Drug Product Revenue Table [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfDrugProductRevenueTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Drug Product Revenue</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_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_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodEndLabel">Balance at December 31, 2023</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodStartLabel">Balance at December 31, 2022</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">Deferred revenue</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/verboseLabel">Deferred Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Deferred revenues from associated contracts</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_CommercialPaperAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commercial Paper, at Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommercialPaperAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commercial paper</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfRevenueSold_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percentage of revenue sold.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfRevenueSold_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage of revenue sold</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OperatingLeaseRightOfUseAssetsCost_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Operating lease, right-of-use assets - cost.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OperatingLeaseRightOfUseAssetsCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease Right Of Use Assets Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OperatingLeaseRightOfUseAssetsCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Right-of-use assets cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock issued during period shares stock options exercised full year.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period Shares Stock Options Exercised Full Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear_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_InterestExpenseDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Interest expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestExpenseDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Interest Expense, Debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestExpenseDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Interest Expense, Debt, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Available for sale securities in continual unrealized loss position, gross unrealized holding losses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Available for sale securities in continual unrealized loss position, gross unrealized holding losses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel">Available for sale securities in continual unrealized loss position, gross unrealized holding losses</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="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exercisable, Weighted Average Remaining Contractual Life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DelayedDrawTermLoanTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Delayed Draw Term Loan 2</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DelayedDrawTermLoanTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Delayed Draw Term Loan Two [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DelayedDrawTermLoanTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Delayed draw term loan two.</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="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Common stock 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/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/periodEndLabel">Common Stock, Shares, Outstanding, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Risk-free interest rate</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">Forfeited, Weighted Average Fair value at Grant</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TermLoanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Term loan.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TermLoanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Term loan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TermLoanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Term Loan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance costs and related transaction costs, amortised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amortization of Debt Issuance Costs and Related Transaction Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Amortization of debt issuance costs and related transaction costs.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RoyaltyRateOnNetRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Implied royalty rate used to find the net present value of future cash flows.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RoyaltyRateOnNetRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Royalty Rate On Net Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RoyaltyRateOnNetRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Royalty rate against projected net revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountingStandardsUpdate201901Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Standards Update 2019-01 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountingStandardsUpdate201901Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">ASC 842 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">License acquisition agreement policy.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">License Acquisition Agreement Policy Policy [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">License Acquisition Agreement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Charged (Credited) to Statement of Operation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ConversionOfSubsidiarysConvertibleNotePayable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Conversion of subsidiary's convertible note payable(Note 13)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ConversionOfSubsidiarysConvertibleNotePayable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Conversion of subsidiary's convertible note payable.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ConversionOfSubsidiarysConvertibleNotePayable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Conversion Of Subsidiarys Convertible Note Payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue gross from contract with customer excluding assessed tax.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Gross From Contract With Customer Excluding Assessed Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FibroGenBeijingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">FibroGen Beijing.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FibroGenBeijingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fibro Gen Beijing [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_FibroGenBeijingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">FibroGen Beijing [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_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="fgen_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="fgen_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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Discount from Market Price, Purchase Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Purchase of common stock shares at discount</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contract with customer, liability, increase (decrease) from current translation and other.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract With Customer Liability Increase Decrease From Current Translation And Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Currency Translation and Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue payment cap amount.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Payment Cap Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue payment cap amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RevenuePaymentCapAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Total payments</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</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, Weighted Average Exercise Price per Share</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/verboseLabel">Weighted average fair value of stock options granted</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="dei_DocumentType_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Type</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_OtherInvesteesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Nonredeemable NCI [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherInvesteesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Nonconsolidated Investees, Other [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, GILTI, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Global intangible low-taxed income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Global intangible low-taxed income</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">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/label">Net Cash Provided by (Used in) Investing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsOther_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Tax Credit Carryforwards, Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsOther_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other tax credit carryforwards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockCompensationPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockCompensationPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employee stock purchase plans [Member]</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_RedeemablePreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Redeemable Preferred Stock Member</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RedeemablePreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Redeemable Preferred Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProductRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Product revenue from a related party.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProductRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Product Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ProductRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Product revenue from a related party</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities, Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_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_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">Forfeited, Shares</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_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net cash provided by (used in) financing activities</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="dei_EntityFilerCategory_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Filer Category</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOfInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment of investment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOfInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other than Temporary Impairment Losses, Investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfTieredRoyaltiesReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of tiered royalties receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfTieredRoyaltiesReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage of Tiered Royalties Receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfTieredRoyaltiesReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percentage of tiered royalties receivable.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expired, Weighted Average Exercise Price per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Increase decrease in accounts payable from related party.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease In Accounts Payable From Related Party</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts payable from related party</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_BalanceSheetLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Balance Sheet Location</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TransferPriceTrueUp_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Transfer price true up.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TransferPriceTrueUp_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Transfer Price True Up</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_TransferPriceTrueUp_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Transfer price true up</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/terseLabel">Foreign currency translation adjustments</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 adjustments</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_VariableRateAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Variable Rate [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VariableRateAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Variable Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Liabilities, Current [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShortTermInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Short-Term Investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShortTermInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Short-term investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShortTermInvestments_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Short-Term Investments, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of activity of liability related to sale of future revenues.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Activity Of Liability Related To Sale Of Future Revenues [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Activity of Liability Related to Sale of Future Revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Recognition, Multiple-deliverable Arrangements [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue Recognition Multiple Deliverable Arrangements [Table]</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_NonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Interest income and 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/totalLabel">Nonoperating Income (Expense), 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">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/totalLabel">Deferred Tax Assets, Tax Credit Carryforwards, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Capital Expenditures Incurred but Not yet Paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Balance in accounts payable and accrued liabilities related to purchases of property and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedProfitShareCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrued profit share current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedProfitShareCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Profit Share Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedProfitShareCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Roxadustat profit share to AstraZeneca</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="fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Maximum additional future clinical regulatory and commercial milestone payments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Maximum Additional Future Clinical Regulatory And Commercial Milestone Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Maximum additional future clinical, regulatory, and commercial milestone payments</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">Foreign net operating losses not benefitted</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">Schedule Of Property Plant And Equipment [Table]</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' deficit attributable to FibroGen</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/periodStartLabel">Stockholders' Equity Attributable to Parent, Beginning 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/periodEndLabel">Stockholders' Equity Attributable to Parent, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Lessee, finance lease, additional lease expiration period.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee Finance Lease Additional Lease Expiration Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lessee, finance lease, additional lease expiration period</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="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="fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Co-development services related to CKD continued over development period.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Co Development Services Related To C K D Continued Over Development Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Co-development services related to CKD continued over development period</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/label">Net Income (Loss)</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/terseLabel">Net loss</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 loss</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/verboseLabel">Net loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Nonoperating Income (Expense) [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Interest and other, net</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="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_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Description and Basis of Presentation [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">The Company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceInitialPublicOffering_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from issuance of common stock under ATM Program, net of commissions</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceInitialPublicOffering_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Issuance Initial Public Offering</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeographicDistributionAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Geographic Distribution [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeographicDistributionAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Geographic Distribution</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Asset, after Allowance for Credit Loss, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Contract with Customer, Asset, after Allowance for Credit Loss, Current, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BulkDrugProductMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Bulk Drug Product [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BulkDrugProductMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Bulk drug product.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BulkDrugProductMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Bulk Drug Product [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_BulkDrugProductMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Bulk Drug Product</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ManufactureAndSupplyOfRoxadustatMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Manufacture and Supply of Roxadustat.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ManufactureAndSupplyOfRoxadustatMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Manufacture And Supply Of Roxadustat [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ManufactureAndSupplyOfRoxadustatMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Manufacture and Supply of Roxadustat [Member]</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 tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AwardDateAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Award Date [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Recorded Unconditional Purchase Obligations [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Outstanding Non-cancelable Purchase Obligations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finance Leases</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 Measurements</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_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Weighted Average Number of Shares Outstanding, Diluted, Total</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_DebtInstrumentRedemptionDescription_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Redemption, Description</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentRedemptionDescription_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Debt instrument redemption, description</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AcquiredInProcessResearchAndDevelopmentExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Acquired In-process Research and Development Expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AcquiredInProcessResearchAndDevelopmentExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Acquired in-process research and development expenses.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Maximum R&amp;D and regulatory milestone payments receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Maximum Research and Development and Regulatory Milestone Payments Receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Maximum Research and Development and Regulatory Milestone Payments Receivable</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">Schedule of Reconciliation Between Statutory Federal Income Tax Rate and Effective Tax Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Impairment of Long-Lived Assets to be Disposed of</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment of long-lived assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduledRentCommencementYearOptionOne_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Rent commencement year option one.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduledRentCommencementYearOptionOne_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Scheduled Rent Commencement Year Option One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ScheduledRentCommencementYearOptionOne_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Rent increase commencement year first option</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CoPromotionExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Co-promotion expenses.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CoPromotionExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Co Promotion Expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CoPromotionExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Co-promotion expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_WeightedAverageOfferingPricesPerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted-average offering prices per share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_WeightedAverageOfferingPricesPerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted-Average Offering Prices Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_WeightedAverageOfferingPricesPerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Weighted-average offering prices per share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Investment (gain) loss in unconsolidated variable interest entity.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investment Gain Loss In Unconsolidated Variable Interest Entity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Investment income in unconsolidated variable interest entity</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_EffectiveIncomeTaxRateContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LeasesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Leases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LeasesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Leases Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LeasesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Federal Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Federal</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Restricted stock units perfomance based restricted stock units and total shareholders return.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Stock Units Perfomance Based Restricted Stock Units and Total Shareholders Return [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">RSUs, PRSUs and TSR awards [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OperatingLeaseAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Operating lease, accumulated amortization.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OperatingLeaseAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_OperatingLeaseAccumulatedAmortization_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="fgen_AccruedLitigationSettlement_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued litigation settlement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedLitigationSettlement_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Litigation Settlement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccruedLitigationSettlement_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">accrued litigation settlement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Reserves and accruals</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Amortized Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Amortized Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Cash paid for amounts included in the measurement of lease liabilities.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash Paid For Amounts Included In Measurement Of Lease Liabilities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash paid for amounts included in the measurement of lease liabilities:</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/terseLabel">Operating leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Increase (decrease) in accrued interest for finance lease liabilities.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease In Accrued Interest For Finance Lease Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued interest for finance lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of fair value exercise price grant date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Percentage of fair value exercise price grant date</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/totalLabel">Total 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/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccountingPolicyTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accounting policy.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccountingPolicyTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Policy [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AccountingPolicyTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounting Policy [Table]</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/periodEndLabel">Outstanding, Ending Balance, Weighted Average Exercise Price per Share</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">Outstanding, Beginning Balance, Weighted Average Exercise Price per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Valuation And Qualifying Accounts Disclosure [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non-deductible accrued expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred tax liabilities non deductibale accrued expenses.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Liabilities Non Deductibale Accrued Expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other-than-temporary Impairment Loss, Debt Securities, Available-for-Sale</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other-than-temporary impairment loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current portion of liability related to sale of future revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liability Related To Sale Of Future Revenues Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Liability related to sale of future revenues current.</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_ValuationTechniqueAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Valuation Approach and Technique</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/terseLabel">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_LeaseholdImprovementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Leasehold improvements [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Available for sale securities in continual unrealized loss position, 12 months or more, gross unrealized holding losses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Available for sale securities in continual unrealized loss position, 12 months or more, gross unrealized holding losses</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Antidilutive Securities Excluded From Computation Of Earnings Per Share [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Percentage of Outstanding Stock Maximum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of common stock reserved for future issuance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Percentage of common stock reserved for future issuance</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/totalLabel">Total current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenues From External Customers And Long Lived Assets [Line Items]</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_FairValueByFairValueHierarchyLevelAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Hierarchy and NAV</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_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_FinanceLeaseLiabilityPaymentsDueYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Liability, to be Paid, Year Three</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_FairValueMeasurementFrequencyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Measurement Frequency</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseAndDevelopmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">License and development.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseAndDevelopmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">License And Development [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_LicenseAndDevelopmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">License and Development [Member]</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 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/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_FinanceLeaseInterestExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finance Lease, Interest Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FinanceLeaseInterestExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Interest on lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contract with customer liability reclassified to accrued liability.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract With Customer Liability Reclassified to Accrued Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Reclassified to accrued liability / accounts payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeographicDistributionForeignMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Geographic Distribution, Foreign [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeographicDistributionForeignMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign subsidiaries [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SalesToFalikangMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Sales To Falikang [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SalesToFalikangMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Sales to Falikang.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SalesToFalikangMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sales To Falikang [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_SalesToFalikangMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sales To Falikang</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RestatementDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revision of Prior Period [Domain]</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">Vested, Shares</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">Issuance of common stock under ATM Program shares</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_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">Payroll and related accruals</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="fgen_AstraZenecaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">AstraZeneca.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstraZenecaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Astra Zeneca [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_AstraZenecaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Astra Zeneca</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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Total cash and cash equivalents at end of period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Total cash and cash equivalents at beginning of period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">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_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</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfRoyaltyPaymentOnGlobalNetSales_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percentage of royalty payment on global net sales.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_PercentageOfRoyaltyPaymentOnGlobalNetSales_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage of royalty payment on global net sales</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_WeightedAverageRemainingLeaseTermAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Weighted-average remaining lease term.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_WeightedAverageRemainingLeaseTermAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Remaining Lease Term [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="fgen_WeightedAverageRemainingLeaseTermAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted-average remaining lease term (years):</link:label>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebt" xlink:to="us-gaap_ConvertibleDebt_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_VariableInterestEntityDisclosureTextBlock" xlink:to="us-gaap_VariableInterestEntityDisclosureTextBlock_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="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AccountsReceivableFromDistributorsMember" xlink:to="fgen_AccountsReceivableFromDistributorsMember_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="fgen_WarrantExercisedDuringPeriodShares" xlink:to="fgen_WarrantExercisedDuringPeriodShares_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_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="fgen_SeniorSecuredLoanAgreementMember" xlink:to="fgen_SeniorSecuredLoanAgreementMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock" xlink:to="fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ClinicalDevelopmentMilestonesMember" xlink:to="fgen_ClinicalDevelopmentMilestonesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_InitialIssuanceCostsRelatedToSaleOfFutureRevenues" xlink:to="fgen_InitialIssuanceCostsRelatedToSaleOfFutureRevenues_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent" xlink:to="us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent_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_AccountingStandardsUpdate201409Member" xlink:to="us-gaap_AccountingStandardsUpdate201409Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_APIShipmentMember" xlink:to="fgen_APIShipmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_HiFiBiOAgreementMember" xlink:to="fgen_HiFiBiOAgreementMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember_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_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AstellasCollaborationAgreementMember" xlink:to="fgen_AstellasCollaborationAgreementMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_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="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonredeemableNoncontrollingInterest" xlink:to="us-gaap_NonredeemableNoncontrollingInterest_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_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock" xlink:to="fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock_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_ConstructionInProgressExpendituresIncurredButNotYetPaid" xlink:to="us-gaap_ConstructionInProgressExpendituresIncurredButNotYetPaid_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="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate_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="fgen_OwnershipInChinaMember" xlink:to="fgen_OwnershipInChinaMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_NonCashAcquisitionInFortis" xlink:to="fgen_NonCashAcquisitionInFortis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationDeductions" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationDeductions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationTechniqueDiscountedCashFlowMember" xlink:to="us-gaap_ValuationTechniqueDiscountedCashFlowMember_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_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_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="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_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="fgen_AccruedProductDevelopmentCostsExcludingInterest" xlink:to="fgen_AccruedProductDevelopmentCostsExcludingInterest_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DrugProductRevenueMember" xlink:to="fgen_DrugProductRevenueMember_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="fgen_RevenuePaymentCapAmountDueAfterYearFive" xlink:to="fgen_RevenuePaymentCapAmountDueAfterYearFive_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="dei_IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock" xlink:to="fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock_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="fgen_SharedDevelopmentCosts" xlink:to="fgen_SharedDevelopmentCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability_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="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeriesEPreferredStockMember" xlink:to="us-gaap_SeriesEPreferredStockMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis" xlink:to="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_BiosyntheticCorneaMember" xlink:to="fgen_BiosyntheticCorneaMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DebtInstrumentAccruedInterest" xlink:to="fgen_DebtInstrumentAccruedInterest_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract" xlink:to="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_InventoryByGeographicAreasTableTextBlock" xlink:to="fgen_InventoryByGeographicAreasTableTextBlock_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="fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts" xlink:to="fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_ScheduleOfStockByClassTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CommercialSalesAndOtherEventsMilestone" xlink:to="fgen_CommercialSalesAndOtherEventsMilestone_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ScheduleOfLeasesLineItems" xlink:to="fgen_ScheduleOfLeasesLineItems_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="us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent" xlink:to="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnconditionalPurchaseObligationsExcludingCapitalStockRedemptionsAbstract" xlink:to="us-gaap_UnconditionalPurchaseObligationsExcludingCapitalStockRedemptionsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ClassOfStockLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend" xlink:to="us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement" xlink:to="fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement_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="fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember" xlink:to="fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember_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_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ProceedsFromSalesOfAvailableForSaleSecurities" xlink:to="fgen_ProceedsFromSalesOfAvailableForSaleSecurities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests" xlink:to="fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ReversalOfAccruedCoPromotionExpenses" xlink:to="fgen_ReversalOfAccruedCoPromotionExpenses_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="us-gaap_DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred" xlink:to="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransactionDomain" xlink:to="us-gaap_TransactionDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_FairValueAssetsLevel2ToLevel1TransferAmount" xlink:to="fgen_FairValueAssetsLevel2ToLevel1TransferAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DeferredTaxAssetsIntangibleAssets" xlink:to="fgen_DeferredTaxAssetsIntangibleAssets_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="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="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_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_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_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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingCostsAndExpensesAbstract" xlink:to="us-gaap_OperatingCostsAndExpensesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RevenueInterestFinancingAgreementMember" xlink:to="fgen_RevenueInterestFinancingAgreementMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AccountsReceivableNetCurrentRelatedParties" xlink:to="fgen_AccountsReceivableNetCurrentRelatedParties_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract" xlink:to="us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockVotingRights" xlink:to="us-gaap_PreferredStockVotingRights_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CollaborativeArrangementAggregateConsideration" xlink:to="fgen_CollaborativeArrangementAggregateConsideration_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="fgen_ContractWithCustomerLiabilityDeduction" xlink:to="fgen_ContractWithCustomerLiabilityDeduction_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" xlink:to="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfSecuredDebt" xlink:to="us-gaap_RepaymentsOfSecuredDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeriesGPreferredStockMember" xlink:to="us-gaap_SeriesGPreferredStockMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RepaymentsOfFinanceLeaseLiabilities" xlink:to="fgen_RepaymentsOfFinanceLeaseLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ExpirationYearTwoThousandTwentySixMember" xlink:to="fgen_ExpirationYearTwoThousandTwentySixMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_BankOfFinlandInterestRateMember" xlink:to="fgen_BankOfFinlandInterestRateMember_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="us-gaap_ForeignCountryMember" xlink:to="us-gaap_ForeignCountryMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_TotalShareholderReturnAwardsMember" xlink:to="fgen_TotalShareholderReturnAwardsMember_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_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="fgen_MaximumSalesMilestonesReceivable" xlink:to="fgen_MaximumSalesMilestonesReceivable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesTextBlock" xlink:to="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_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="fgen_RepaymentDescription" xlink:to="fgen_RepaymentDescription_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AccruedAndOtherCurrentLiabilitiesMember" xlink:to="fgen_AccruedAndOtherCurrentLiabilitiesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ContractLiabilitiesMember" xlink:to="fgen_ContractLiabilitiesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" xlink:to="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsTextBlock_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_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DueToRelatedPartiesDeferredRevenueNoncurrent" xlink:to="fgen_DueToRelatedPartiesDeferredRevenueNoncurrent_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_ClassOfWarrantOrRightOutstanding" xlink:to="us-gaap_ClassOfWarrantOrRightOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_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="fgen_DevelopmentAndOtherRevenueMember" xlink:to="fgen_DevelopmentAndOtherRevenueMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AccruedProductDevelopmentCosts" xlink:to="fgen_AccruedProductDevelopmentCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_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="fgen_OtherLiabilitiesCurrentDueToRelatedParties" xlink:to="fgen_OtherLiabilitiesCurrentDueToRelatedParties_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_FinanceLeaseAccumulatedAmortization" xlink:to="fgen_FinanceLeaseAccumulatedAmortization_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_FalikangCollaborationAgreementMember" xlink:to="fgen_FalikangCollaborationAgreementMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_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_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_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_InventoryRawMaterials" xlink:to="us-gaap_InventoryRawMaterials_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeriesBPreferredStockMember" xlink:to="us-gaap_SeriesBPreferredStockMember_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_CashAcquiredFromAcquisition" xlink:to="us-gaap_CashAcquiredFromAcquisition_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_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="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="fgen_InterestRateOptionTwoMember" xlink:to="fgen_InterestRateOptionTwoMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DebtFinancingAgreementMember" xlink:to="fgen_DebtFinancingAgreementMember_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="fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost" xlink:to="fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts_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="fgen_PaymentCapDateInTwoThousandThirtyOneMember" xlink:to="fgen_PaymentCapDateInTwoThousandThirtyOneMember_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_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_SeriesAPreferredStockMember" xlink:to="us-gaap_SeriesAPreferredStockMember_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="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="fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent" xlink:to="fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock" xlink:to="fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock_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="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_TypeOfArrangementAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable_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_FinanceLeaseLiabilityCurrent" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_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="fgen_DescriptionOfSalesReturn" xlink:to="fgen_DescriptionOfSalesReturn_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_USTreasuryAndGovernmentMember" xlink:to="us-gaap_USTreasuryAndGovernmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets" xlink:to="us-gaap_GainLossOnDispositionOfAssets_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="fgen_HighlyLiquidInvestmentMaturityPeriod" xlink:to="fgen_HighlyLiquidInvestmentMaturityPeriod_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="fgen_LesseeOperatingLeaseExpirationPeriod" xlink:to="fgen_LesseeOperatingLeaseExpirationPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities" xlink:to="fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeriesFPreferredStockMember" xlink:to="us-gaap_SeriesFPreferredStockMember_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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued" xlink:to="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued_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="fgen_AdditionalConsiderationBasedOnNetSales" xlink:to="fgen_AdditionalConsiderationBasedOnNetSales_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" xlink:to="fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_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_AccruedLiabilitiesMember" xlink:to="us-gaap_AccruedLiabilitiesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PropertyTaxesAndOtherCurrent" xlink:to="fgen_PropertyTaxesAndOtherCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CollaborativeArrangementAdditionalUpfrontPayments" xlink:to="fgen_CollaborativeArrangementAdditionalUpfrontPayments_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="fgen_LicenseFeesAndMilestonesRevenue" xlink:to="fgen_LicenseFeesAndMilestonesRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardDateDomain" xlink:to="us-gaap_AwardDateDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_InitialUpfrontPayment" xlink:to="fgen_InitialUpfrontPayment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressMember" xlink:to="us-gaap_ConstructionInProgressMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DeferredRevenuesFromAssociatedContracts" xlink:to="fgen_DeferredRevenuesFromAssociatedContracts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_InitialTermLoanMember" xlink:to="fgen_InitialTermLoanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_MiscellaneousReceivables" xlink:to="fgen_MiscellaneousReceivables_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="fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:to="fgen_ShareholdersEquityAndStockBasedCompensationAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain" xlink:to="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance" xlink:to="fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo" xlink:to="fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ShortTermInvestmentsMaximumMaturityPeriod" xlink:to="fgen_ShortTermInvestmentsMaximumMaturityPeriod_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="fgen_NonKeyAccountHospitalListingAwardMember" xlink:to="fgen_NonKeyAccountHospitalListingAwardMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract_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_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_NonCashInterestExpenseRelatedToDrugProductRevenue" xlink:to="fgen_NonCashInterestExpenseRelatedToDrugProductRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_GrossProceedsReceivedFromSaleOfRevenue" xlink:to="fgen_GrossProceedsReceivedFromSaleOfRevenue_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_AssetBackedSecuritiesMember" xlink:to="us-gaap_AssetBackedSecuritiesMember_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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_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="us-gaap_RecordedUnconditionalPurchaseObligationLineItems" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationLineItems_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="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_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="fgen_PrepaymentAmount" xlink:to="fgen_PrepaymentAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CommercialMilestone" xlink:to="fgen_CommercialMilestone_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RestrictedTimeDepositsNoncurrent" xlink:to="fgen_RestrictedTimeDepositsNoncurrent_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_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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfIntangibleAssetsFinitelived" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsFinitelived_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CommonStockSharesReserved" xlink:to="fgen_CommonStockSharesReserved_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_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="us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_TwoThousandAndFourteenEquityIncentivePlanMember" xlink:to="fgen_TwoThousandAndFourteenEquityIncentivePlanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BondsMember" xlink:to="us-gaap_BondsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_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_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_EntityWideRevenueMajorCustomerLineItems_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_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiability_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription_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="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="fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember" xlink:to="fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember_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_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RevenuePaymentCapAmountDueInYearFour" xlink:to="fgen_RevenuePaymentCapAmountDueInYearFour_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LicenseRevenueMember" xlink:to="fgen_LicenseRevenueMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" xlink:to="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings_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="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_SubleaseIncome" xlink:to="us-gaap_SubleaseIncome_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_GrossProceedsFromSaleOfFutureRevenues" xlink:to="fgen_GrossProceedsFromSaleOfFutureRevenues_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="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_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_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="fgen_ContractWithCustomerLiabilityTable" xlink:to="fgen_ContractWithCustomerLiabilityTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAsset" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_UnitedStatesAndRestOfWorldMember" xlink:to="fgen_UnitedStatesAndRestOfWorldMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LossOnAssetAcquisition" xlink:to="fgen_LossOnAssetAcquisition_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_BeijingEconomicTechnologicalDevelopmentAreaMember" xlink:to="fgen_BeijingEconomicTechnologicalDevelopmentAreaMember_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="fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments" xlink:to="fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset" xlink:to="fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable_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="fgen_PercentageOfExciseTaxOnStockBuyback" xlink:to="fgen_PercentageOfExciseTaxOnStockBuyback_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_NetTransferPriceMember" xlink:to="fgen_NetTransferPriceMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DiscountsAndRebatesMember" xlink:to="fgen_DiscountsAndRebatesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:to="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LaboratoryEquipmentMember" xlink:to="fgen_LaboratoryEquipmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_IncreaseDecreaseInDeferredRevenueMember" xlink:to="fgen_IncreaseDecreaseInDeferredRevenueMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember_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_RecordedUnconditionalPurchaseObligationDueInSecondYear" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PercentageOfRevenueInterestOnGlobalNetSales" xlink:to="fgen_PercentageOfRevenueInterestOnGlobalNetSales_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="fgen_ContractualSalesRebateMember" xlink:to="fgen_ContractualSalesRebateMember_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="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_RevenuePerformanceObligationDescriptionOfPaymentTerms" xlink:to="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember" xlink:to="fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock" xlink:to="fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DeferredTaxLiabilitiesFixedAssets" xlink:to="fgen_DeferredTaxLiabilitiesFixedAssets_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="fgen_CommitmentsAndContingenciesLineItems" xlink:to="fgen_CommitmentsAndContingenciesLineItems_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_LossContingencyReceivableCurrent" xlink:to="us-gaap_LossContingencyReceivableCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebtSecuritiesMember" xlink:to="us-gaap_ConvertibleDebtSecuritiesMember_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="fgen_MilestonePaymentsMember" xlink:to="fgen_MilestonePaymentsMember_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="fgen_NoncashInterestExpenseRelatedToSaleOfFutureRevenue" xlink:to="fgen_NoncashInterestExpenseRelatedToSaleOfFutureRevenue_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="fgen_OfficeSpacesMember" xlink:to="fgen_OfficeSpacesMember_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="srt_ValuationAndQualifyingAccountsAbstract" xlink:to="srt_ValuationAndQualifyingAccountsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted" xlink:to="fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted_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="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_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_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_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="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_BusinessCombinationPriceOfAcquisitionExpected" xlink:to="us-gaap_BusinessCombinationPriceOfAcquisitionExpected_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember" xlink:to="fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember_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_LicenseMember" xlink:to="us-gaap_LicenseMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_NovaquestCapitalManagementMember" xlink:to="fgen_NovaquestCapitalManagementMember_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="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_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="fgen_ProductDevelopmentObligationsDisclosureTextBlock" xlink:to="fgen_ProductDevelopmentObligationsDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DueToRelatedPartiesDeferredRevenueCurrent" xlink:to="fgen_DueToRelatedPartiesDeferredRevenueCurrent_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="fgen_DrugProductRevenueFromRelatedParty" xlink:to="fgen_DrugProductRevenueFromRelatedParty_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DeferredApprovalMilestoneMember" xlink:to="fgen_DeferredApprovalMilestoneMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:to="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_LongtermDebtTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AstraZenecaABMember" xlink:to="fgen_AstraZenecaABMember_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="fgen_RecentlyIssuedAndAdoptedAccountingGuidancePolicyTextBlock" xlink:to="fgen_RecentlyIssuedAndAdoptedAccountingGuidancePolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_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="fgen_MaximumPaymentCapAmount" xlink:to="fgen_MaximumPaymentCapAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_USGovernmentSecuritiesAtCarryingValue" xlink:to="us-gaap_USGovernmentSecuritiesAtCarryingValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_OtherLiabilitiesNoncurrentDueToRelatedParties" xlink:to="fgen_OtherLiabilitiesNoncurrentDueToRelatedParties_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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_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="fgen_DebtInstrumentInterestRatePayableKindStatedPercentage" xlink:to="fgen_DebtInstrumentInterestRatePayableKindStatedPercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_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="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="fgen_FinanceLeaseAndOperatingLeaseAssets" xlink:to="fgen_FinanceLeaseAndOperatingLeaseAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AstellasAndAstraZenecaMember" xlink:to="fgen_AstellasAndAstraZenecaMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock" xlink:to="fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AstellasAgreementMember" xlink:to="fgen_AstellasAgreementMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AlternativeInvestmentMeasurementInput" xlink:to="us-gaap_AlternativeInvestmentMeasurementInput_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:to="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation" xlink:to="fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ExperienceHistoricalOwnershipChanges" xlink:to="fgen_ExperienceHistoricalOwnershipChanges_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockRedemptionTerms" xlink:to="us-gaap_PreferredStockRedemptionTerms_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ManufactureAndSupplyOfPamrevlumabMember" xlink:to="fgen_ManufactureAndSupplyOfPamrevlumabMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CommitmentsAndContingenciesTable" xlink:to="fgen_CommitmentsAndContingenciesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivableRelatedParties" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivableRelatedParties_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets" xlink:to="fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ProvisionForCoDevelopmentServices" xlink:to="fgen_ProvisionForCoDevelopmentServices_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_UnitedStatesAndRestOfWorldAndChinaMember" xlink:to="fgen_UnitedStatesAndRestOfWorldAndChinaMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeriesDPreferredStockMember" xlink:to="us-gaap_SeriesDPreferredStockMember_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="dei_EntityDomain" xlink:to="dei_EntityDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CommercialSalesMilestone" xlink:to="fgen_CommercialSalesMilestone_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations" xlink:to="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member" xlink:to="fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ReceivedFromSaleOfRevenue" xlink:to="fgen_ReceivedFromSaleOfRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LiabilityRelatedToSaleOfRevenueCurrent" xlink:to="fgen_LiabilityRelatedToSaleOfRevenueCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="us-gaap_LeaseContractualTermDomain_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_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="srt_EquityMethodInvesteeNameDomain_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="fgen_CashConsiderationReceivedUnderCollaborationAgreement" xlink:to="fgen_CashConsiderationReceivedUnderCollaborationAgreement_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_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:to="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_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_InProcessResearchAndDevelopmentMember" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesReturnsAndAllowancesMember" xlink:to="us-gaap_SalesReturnsAndAllowancesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_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="fgen_DeferredForFutureRecognitionMember" xlink:to="fgen_DeferredForFutureRecognitionMember_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="fgen_RevenuePaymentCapAmountDueNextTwelveMonths" xlink:to="fgen_RevenuePaymentCapAmountDueNextTwelveMonths_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PaymentToOptionsExercised" xlink:to="fgen_PaymentToOptionsExercised_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_HiFiBiOAgreementsMember" xlink:to="fgen_HiFiBiOAgreementsMember_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="fgen_AssetAcquisitionPolicyPolicyTextBlock" xlink:to="fgen_AssetAcquisitionPolicyPolicyTextBlock_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="fgen_RegulatoryMilestonesMember" xlink:to="fgen_RegulatoryMilestonesMember_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="fgen_AcquisitionAndVariableInterestEntityAbstract" xlink:to="fgen_AcquisitionAndVariableInterestEntityAbstract_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="fgen_TwoThousandAndFiveStockPlanMember" xlink:to="fgen_TwoThousandAndFiveStockPlanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ChinaPerformanceObligationMember" xlink:to="fgen_ChinaPerformanceObligationMember_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="fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses" xlink:to="fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_IncomeTaxesTable" xlink:to="fgen_IncomeTaxesTable_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_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_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="fgen_ScheduleOfLeasesTable" xlink:to="fgen_ScheduleOfLeasesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AstellasEuropeAgreementMember" xlink:to="fgen_AstellasEuropeAgreementMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AccruedCoPromotionExpensesCurrent" xlink:to="fgen_AccruedCoPromotionExpensesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues" xlink:to="fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues_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="fgen_CorneaProductsMember" xlink:to="fgen_CorneaProductsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation" xlink:to="fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation_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_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeDividend" xlink:to="us-gaap_InvestmentIncomeDividend_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="fgen_ProductDevelopmentCosts" xlink:to="fgen_ProductDevelopmentCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CorporateAlternativeMinimumTaxPercentage" xlink:to="fgen_CorporateAlternativeMinimumTaxPercentage_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_LeaseCostAbstract" xlink:to="us-gaap_LeaseCostAbstract_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="fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration" xlink:to="fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_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_DeferredTaxAssetIntraEntityTransferAssetOtherThanInventory" xlink:to="us-gaap_DeferredTaxAssetIntraEntityTransferAssetOtherThanInventory_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditConcentrationRiskMember" xlink:to="us-gaap_CreditConcentrationRiskMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DelayedDrawTermLoanMember" xlink:to="fgen_DelayedDrawTermLoanMember_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="fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember" xlink:to="fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate" xlink:to="fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate_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="fgen_ProductRevenuePolicyPolicyTextBlock" xlink:to="fgen_ProductRevenuePolicyPolicyTextBlock_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_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DrugProductRevenuePolicyTextBlock" xlink:to="fgen_DrugProductRevenuePolicyTextBlock_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="fgen_TransactionCostsRelatedToSaleOfFutureRevenues" xlink:to="fgen_TransactionCostsRelatedToSaleOfFutureRevenues_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CN" xlink:to="country_CN_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DevelopmentAndRegulatoryApprovalMilestones" xlink:to="fgen_DevelopmentAndRegulatoryApprovalMilestones_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="fgen_ProfitShareMember" xlink:to="fgen_ProfitShareMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock" xlink:to="fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock_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="fgen_OtherDiscountsAndRebatesMember" xlink:to="fgen_OtherDiscountsAndRebatesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_OtherRevenuePatentTransferMember" xlink:to="fgen_OtherRevenuePatentTransferMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_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="fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock" xlink:to="fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RedeemableNonControllingInterests" xlink:to="fgen_RedeemableNonControllingInterests_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_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="fgen_StockOptionAwardsMember" xlink:to="fgen_StockOptionAwardsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AccruedRestructuringCharges" xlink:to="fgen_AccruedRestructuringCharges_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="fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares" xlink:to="fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LongTermInvestmentExcludingEquityMethodInvestments" xlink:to="fgen_LongTermInvestmentExcludingEquityMethodInvestments_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="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncurrentLiabilitiesTableTextBlock" xlink:to="us-gaap_OtherNoncurrentLiabilitiesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PotentialMilestones" xlink:to="fgen_PotentialMilestones_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="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ShorensteinPropertiesLLCMember" xlink:to="fgen_ShorensteinPropertiesLLCMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockDividendRatePercentage" xlink:to="us-gaap_PreferredStockDividendRatePercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_OtherRisksAndUncertaintiesPolicyTextBlock" xlink:to="fgen_OtherRisksAndUncertaintiesPolicyTextBlock_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_MeasurementInputDiscountRateMember" xlink:to="us-gaap_MeasurementInputDiscountRateMember_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_LatestTaxYearMember" xlink:to="us-gaap_LatestTaxYearMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock_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_LoansReceivableBasisSpreadOnVariableRate" xlink:to="us-gaap_LoansReceivableBasisSpreadOnVariableRate_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="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities" xlink:to="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BilledContractReceivables" xlink:to="us-gaap_BilledContractReceivables_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInProcessResearchAndDevelopment" xlink:to="us-gaap_PaymentsToAcquireInProcessResearchAndDevelopment_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="srt_RestatementAxis" xlink:to="srt_RestatementAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments" xlink:to="fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments_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="fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets" xlink:to="fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_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="fgen_ConvertiblePromissoryNoteMember" xlink:to="fgen_ConvertiblePromissoryNoteMember_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_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:to="us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_MaximumFutureMilestonePayments" xlink:to="fgen_MaximumFutureMilestonePayments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PerformanceBasedRestrictedStockAwardsMember" xlink:to="fgen_PerformanceBasedRestrictedStockAwardsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_FibrogenEuropeOyMember" xlink:to="fgen_FibrogenEuropeOyMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OfficeEquipmentMember" xlink:to="us-gaap_OfficeEquipmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock" xlink:to="fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_FutureRevenueGranted" xlink:to="fgen_FutureRevenueGranted_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CollaborationServicesAndOtherRevenue" xlink:to="fgen_CollaborationServicesAndOtherRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:to="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuredLongTermDebt" xlink:to="us-gaap_SecuredLongTermDebt_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="fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember" xlink:to="fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock" xlink:to="fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AstraZenecaAgreementsMember" xlink:to="fgen_AstraZenecaAgreementsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyNewClaimsFiledNumber" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber_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="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ScheduledRentCommencementYearOptionTwo" xlink:to="fgen_ScheduledRentCommencementYearOptionTwo_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="fgen_OperatingLossCarryforwardsExpirationYear" xlink:to="fgen_OperatingLossCarryforwardsExpirationYear_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract_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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_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_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems_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="fgen_AccruedRestructuringChargeCurrent" xlink:to="fgen_AccruedRestructuringChargeCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_MilestonePayments" xlink:to="fgen_MilestonePayments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AccruedPreclinicalAndClinicalTrialCurrent" xlink:to="fgen_AccruedPreclinicalAndClinicalTrialCurrent_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="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_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_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="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAxis_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="fgen_SeniorSecuredTermLoanFacilitiesMember" xlink:to="fgen_SeniorSecuredTermLoanFacilitiesMember_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="fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues" xlink:to="fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LeaseAmendmentMember" xlink:to="fgen_LeaseAmendmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPayableCurrentAndNoncurrent" xlink:to="us-gaap_InterestPayableCurrentAndNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_UnrealizedLossGainOnEquityInvestments" xlink:to="fgen_UnrealizedLossGainOnEquityInvestments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" xlink:to="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeriesHPreferredStockMember" xlink:to="us-gaap_SeriesHPreferredStockMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="fgen_ContractWithCustomerLiabilityLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AtmProgramMember" xlink:to="fgen_AtmProgramMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxContingencyLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInvestmentsAbstract" xlink:to="us-gaap_ScheduleOfInvestmentsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear_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="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="fgen_DiscountsAndRebatesCurrentMember" xlink:to="fgen_DiscountsAndRebatesCurrentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember" xlink:to="fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_NumberOfOptionalRightsToExtendLease" xlink:to="fgen_NumberOfOptionalRightsToExtendLease_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LesseeFinanceLeaseExpirationPeriod" xlink:to="fgen_LesseeFinanceLeaseExpirationPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding" xlink:to="fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_FortisTherapeuticsMember" xlink:to="fgen_FortisTherapeuticsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise" xlink:to="fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise_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="stpr_CA" xlink:to="stpr_CA_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock" xlink:to="fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableRelatedParties" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableRelatedParties_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="fgen_AgencyBondsMember" xlink:to="fgen_AgencyBondsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent" xlink:to="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_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_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AccountingPolicyLineItems" xlink:to="fgen_AccountingPolicyLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeFinanceLeaseTermOfContract1" xlink:to="us-gaap_LesseeFinanceLeaseTermOfContract1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PaymentPeriodOneMember" xlink:to="fgen_PaymentPeriodOneMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeFinanceLeaseOptionToExtend" xlink:to="us-gaap_LesseeFinanceLeaseOptionToExtend_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="fgen_AcquisitionAndVariableInterestEntityTable" xlink:to="fgen_AcquisitionAndVariableInterestEntityTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LitigationSettlementCurrent" xlink:to="fgen_LitigationSettlementCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockVotingRights" xlink:to="us-gaap_CommonStockVotingRights_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_GrossAccountsReceivableMember" xlink:to="fgen_GrossAccountsReceivableMember_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="country_JP" xlink:to="country_JP_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_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment_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="fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares" xlink:to="fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_FalikangMember" xlink:to="fgen_FalikangMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcess" xlink:to="us-gaap_InventoryWorkInProcess_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockMember" xlink:to="us-gaap_EmployeeStockMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_EUSupplyAndAstellasAgreementMember" xlink:to="fgen_EUSupplyAndAstellasAgreementMember_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_ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:to="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RebatesAndDiscountsMember" xlink:to="fgen_RebatesAndDiscountsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:to="fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock_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="fgen_FibroGenIncMember" xlink:to="fgen_FibroGenIncMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DevelopmentRevenueMember" xlink:to="fgen_DevelopmentRevenueMember_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="fgen_OtherInvestorsMember" xlink:to="fgen_OtherInvestorsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_FibroGenCaymanMember" xlink:to="fgen_FibroGenCaymanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentPolicyTextBlock" xlink:to="us-gaap_InvestmentPolicyTextBlock_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_AccruedProfessionalFeesCurrent" xlink:to="us-gaap_AccruedProfessionalFeesCurrent_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="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ContractWithCustomerMilestoneMethodTableTextBlock" xlink:to="fgen_ContractWithCustomerMilestoneMethodTableTextBlock_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="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_UnamortizedIssuanceCostsAndTransactionCosts" xlink:to="fgen_UnamortizedIssuanceCostsAndTransactionCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_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_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantMember" xlink:to="us-gaap_WarrantMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RecordedUnconditionalPurchaseObligation" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" xlink:to="fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments" xlink:to="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments_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="srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain_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="fgen_NumberOfProductDevelopmentObligations" xlink:to="fgen_NumberOfProductDevelopmentObligations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DirectSalesMember" xlink:to="fgen_DirectSalesMember_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_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_CorporateBondSecuritiesMember" xlink:to="us-gaap_CorporateBondSecuritiesMember_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_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:to="us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseCurrent" xlink:to="us-gaap_PrepaidExpenseCurrent_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_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyAccrualAtCarryingValue" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationVariableInterestEntityPolicy" xlink:to="us-gaap_ConsolidationVariableInterestEntityPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RevenueInterestPayment" xlink:to="fgen_RevenueInterestPayment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="fgen_AcquisitionAndVariableInterestEntityLineItems_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="fgen_BeijingFalikangPharmaceuticalCoLtdMember" xlink:to="fgen_BeijingFalikangPharmaceuticalCoLtdMember_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="fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity" xlink:to="fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RevenuePaymentCapAmountDueInYearFive" xlink:to="fgen_RevenuePaymentCapAmountDueInYearFive_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_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="fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent" xlink:to="fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:to="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_InterestRateOptionOneMember" xlink:to="fgen_InterestRateOptionOneMember_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="fgen_OtherTaxCreditCarryforwardsExpirationYear" xlink:to="fgen_OtherTaxCreditCarryforwardsExpirationYear_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxContingencyTable" xlink:to="us-gaap_IncomeTaxContingencyTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember" xlink:to="fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember_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="fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm" xlink:to="fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm_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="fgen_SuppliesNet" xlink:to="fgen_SuppliesNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" xlink:to="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RsusPrsusAndTsrAwardsMember" xlink:to="fgen_RsusPrsusAndTsrAwardsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_BondAndMutualFundsMember" xlink:to="fgen_BondAndMutualFundsMember_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_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRoyaltiesTableTextBlock" xlink:to="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRoyaltiesTableTextBlock_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="fgen_ClassOfWarrantOrRightNumberOfWarrantsOrRightsExercisedDuringPeriod" xlink:to="fgen_ClassOfWarrantOrRightNumberOfWarrantsOrRightsExercisedDuringPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock_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="fgen_ThirdPartyShareholdersMember" xlink:to="fgen_ThirdPartyShareholdersMember_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AstellasJapanAgreementMember" xlink:to="fgen_AstellasJapanAgreementMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone" xlink:to="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone_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="fgen_RevenuePaymentCapAmountDueInYearThree" xlink:to="fgen_RevenuePaymentCapAmountDueInYearThree_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments" xlink:to="fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_OtherPurchasesAndProgramsMember" xlink:to="fgen_OtherPurchasesAndProgramsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesDeductions" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_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="fgen_FinanceLeaseAndOperatingLeaseLiability" xlink:to="fgen_FinanceLeaseAndOperatingLeaseLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_FinancialInstrumentAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RoxadustatDrugProductMember" xlink:to="fgen_RoxadustatDrugProductMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_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="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="us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion" xlink:to="us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion_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="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransactionTypeAxis" xlink:to="us-gaap_TransactionTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" xlink:to="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling_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="us-gaap_IPOMember" xlink:to="us-gaap_IPOMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax" xlink:to="fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DebtInstrumentInterestRatePayableCashStatedPercentage" xlink:to="fgen_DebtInstrumentInterestRatePayableCashStatedPercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_FederalAndStateMember" xlink:to="fgen_FederalAndStateMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RestructuringChargePolicyTextBlock" xlink:to="fgen_RestructuringChargePolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ManufacturingRelatedMilestonePayments" xlink:to="fgen_ManufacturingRelatedMilestonePayments_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_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfSecuredDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfSecuredDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax" xlink:to="us-gaap_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_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_LongTermDebtContingentPaymentOfPrincipalOrInterest" xlink:to="us-gaap_LongTermDebtContingentPaymentOfPrincipalOrInterest_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:to="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_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_VariableRateDomain" xlink:to="us-gaap_VariableRateDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_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="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PreferredSharesIssuedPricePerShare" xlink:to="fgen_PreferredSharesIssuedPricePerShare_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_TransactionPriceAllocatedToPerformanceObligations" xlink:to="fgen_TransactionPriceAllocatedToPerformanceObligations_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="fgen_LiabilityRelatedToSaleOfFutureRevenues" xlink:to="fgen_LiabilityRelatedToSaleOfFutureRevenues_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ClinicalTrialAccrualPolicyTextBlock" xlink:to="fgen_ClinicalTrialAccrualPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AllOtherMember" xlink:to="fgen_AllOtherMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Supplies" xlink:to="us-gaap_Supplies_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilities" xlink:to="us-gaap_OtherLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_IncreaseInDeferredRevenueMember" xlink:to="fgen_IncreaseInDeferredRevenueMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" xlink:to="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RecordedUnconditionalPurchaseObligationTable" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationTable_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="fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:to="fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock_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="fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock" xlink:to="fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LongTermInvestmentsMinimumMaturityPeriod" xlink:to="fgen_LongTermInvestmentsMinimumMaturityPeriod_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="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="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="fgen_WeightedAverageDiscountRateAbstract" xlink:to="fgen_WeightedAverageDiscountRateAbstract_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="fgen_OtherRevenueMember" xlink:to="fgen_OtherRevenueMember_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_AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilities_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_CollaborativeArrangementMember" xlink:to="us-gaap_CollaborativeArrangementMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntityOwnershipPercentage" xlink:to="us-gaap_VariableInterestEntityOwnershipPercentage_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="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="fgen_ProfitSharePercent" xlink:to="fgen_ProfitSharePercent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PriceAdjustmentMember" xlink:to="fgen_PriceAdjustmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AcquiredInProcessResearchAndDevelopmentAsset" xlink:to="fgen_AcquiredInProcessResearchAndDevelopmentAsset_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PercentageOfFundingForCosts" xlink:to="fgen_PercentageOfFundingForCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment" xlink:to="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" xlink:to="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComputerEquipmentMember" xlink:to="us-gaap_ComputerEquipmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ContractWithCustomerLiabilityAdditions" xlink:to="fgen_ContractWithCustomerLiabilityAdditions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock" xlink:to="fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommercialPaperMember" xlink:to="us-gaap_CommercialPaperMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrentAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrentAbstract_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="fgen_WarrantsExercisedDuringPeriodValue" xlink:to="fgen_WarrantsExercisedDuringPeriodValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure_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_ManufacturingCosts" xlink:to="us-gaap_ManufacturingCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_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="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="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="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="fgen_ProceedsFromNonContingentUpfrontPayments" xlink:to="fgen_ProceedsFromNonContingentUpfrontPayments_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="fgen_RevenuePaymentCapAmountDueInYearTwo" xlink:to="fgen_RevenuePaymentCapAmountDueInYearTwo_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_UnitedStatesRestOfWorldAndChinaMember" xlink:to="fgen_UnitedStatesRestOfWorldAndChinaMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LicenseAgreementWithEluminexMember" xlink:to="fgen_LicenseAgreementWithEluminexMember_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="fgen_FairValueAssetsLevel1ToLevel2TransferAmount" xlink:to="fgen_FairValueAssetsLevel1ToLevel2TransferAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts" xlink:to="fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfCostGoodOrServiceExtensibleList" xlink:to="us-gaap_TypeOfCostGoodOrServiceExtensibleList_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeographicDistributionDomain" xlink:to="us-gaap_GeographicDistributionDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear" xlink:to="fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear_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="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsDeferredIncome" xlink:to="us-gaap_DeferredTaxAssetsDeferredIncome_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="fgen_FinanceLeaseRightOfUseAssetsCost" xlink:to="fgen_FinanceLeaseRightOfUseAssetsCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_OwnershipInUnitedStatesMember" xlink:to="fgen_OwnershipInUnitedStatesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeriesCPreferredStockMember" xlink:to="us-gaap_SeriesCPreferredStockMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel2Member" xlink:to="us-gaap_FairValueInputsLevel2Member_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="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract_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="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_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_ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AstellasMember" xlink:to="fgen_AstellasMember_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="fgen_VariableConsiderationRelatedToProfitShare" xlink:to="fgen_VariableConsiderationRelatedToProfitShare_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties" xlink:to="fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignGovernmentDebtMember" xlink:to="us-gaap_ForeignGovernmentDebtMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquitySecuritiesMember" xlink:to="us-gaap_EquitySecuritiesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_OperatingAndFinanceLeasePaymentObligations" xlink:to="fgen_OperatingAndFinanceLeasePaymentObligations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MoneyMarketFundsAtCarryingValue" xlink:to="us-gaap_MoneyMarketFundsAtCarryingValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PaymentPeriodTwoMember" xlink:to="fgen_PaymentPeriodTwoMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_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_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_USGovernmentBondsMember" xlink:to="fgen_USGovernmentBondsMember_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="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_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ScheduleOfDrugProductRevenueTableTextBlock" xlink:to="fgen_ScheduleOfDrugProductRevenueTableTextBlock_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_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_CommercialPaperAtCarryingValue" xlink:to="us-gaap_CommercialPaperAtCarryingValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PercentageOfRevenueSold" xlink:to="fgen_PercentageOfRevenueSold_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_OperatingLeaseRightOfUseAssetsCost" xlink:to="fgen_OperatingLeaseRightOfUseAssetsCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear" xlink:to="fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseDebt" xlink:to="us-gaap_InterestExpenseDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_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="fgen_DelayedDrawTermLoanTwoMember" xlink:to="fgen_DelayedDrawTermLoanTwoMember_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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_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="fgen_TermLoanMember" xlink:to="fgen_TermLoanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts" xlink:to="fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RoyaltyRateOnNetRevenue" xlink:to="fgen_RoyaltyRateOnNetRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingStandardsUpdate201901Member" xlink:to="us-gaap_AccountingStandardsUpdate201901Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock" xlink:to="fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ConversionOfSubsidiarysConvertibleNotePayable" xlink:to="fgen_ConversionOfSubsidiarysConvertibleNotePayable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax" xlink:to="fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_FibroGenBeijingMember" xlink:to="fgen_FibroGenBeijingMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_IncomeTaxesLineItems" xlink:to="fgen_IncomeTaxesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate_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="fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther" xlink:to="fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RevenuePaymentCapAmount" xlink:to="fgen_RevenuePaymentCapAmount_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="dei_DocumentType" xlink:to="dei_DocumentType_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_OtherInvesteesMember" xlink:to="us-gaap_OtherInvesteesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_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="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsOther" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsOther_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockCompensationPlanMember" xlink:to="us-gaap_StockCompensationPlanMember_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_RedeemablePreferredStockMember" xlink:to="us-gaap_RedeemablePreferredStockMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ProductRevenue" xlink:to="fgen_ProductRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_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="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_ImpairmentOfInvestments" xlink:to="us-gaap_ImpairmentOfInvestments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_PercentageOfTieredRoyaltiesReceivable" xlink:to="fgen_PercentageOfTieredRoyaltiesReceivable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty" xlink:to="fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty_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="fgen_TransferPriceTrueUp" xlink:to="fgen_TransferPriceTrueUp_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_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrentAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock" xlink:to="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable_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_CapitalExpendituresIncurredButNotYetPaid" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AccruedProfitShareCurrent" xlink:to="fgen_AccruedProfitShareCurrent_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="fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments" xlink:to="fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments_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_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod" xlink:to="fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod_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="fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod" xlink:to="fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod_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_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_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="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:to="us-gaap_ProceedsFromIssuanceInitialPublicOffering_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeographicDistributionAxis" xlink:to="us-gaap_GeographicDistributionAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_BulkDrugProductMember" xlink:to="fgen_BulkDrugProductMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ManufactureAndSupplyOfRoxadustatMember" xlink:to="fgen_ManufactureAndSupplyOfRoxadustatMember_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_AwardDateAxis" xlink:to="us-gaap_AwardDateAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RecordedUnconditionalPurchaseObligationsTextBlock" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_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_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_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionDescription" xlink:to="us-gaap_DebtInstrumentRedemptionDescription_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AcquiredInProcessResearchAndDevelopmentExpenses" xlink:to="fgen_AcquiredInProcessResearchAndDevelopmentExpenses_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable" xlink:to="fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable_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_ImpairmentOfLongLivedAssetsToBeDisposedOf" xlink:to="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ScheduledRentCommencementYearOptionOne" xlink:to="fgen_ScheduledRentCommencementYearOptionOne_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CoPromotionExpenses" xlink:to="fgen_CoPromotionExpenses_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_WeightedAverageOfferingPricesPerShare" xlink:to="fgen_WeightedAverageOfferingPricesPerShare_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity" xlink:to="fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity_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="fgen_LeasesDisclosureTextBlock" xlink:to="fgen_LeasesDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember" xlink:to="fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_OperatingLeaseAccumulatedAmortization" xlink:to="fgen_OperatingLeaseAccumulatedAmortization_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_AccruedLitigationSettlement" xlink:to="fgen_AccruedLitigationSettlement_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract" xlink:to="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract_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="fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities" xlink:to="fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_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="fgen_AccountingPolicyTable" xlink:to="fgen_AccountingPolicyTable_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="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses" xlink:to="fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale" xlink:to="us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent" xlink:to="fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent_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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_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="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum_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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_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_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_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="fgen_LicenseAndDevelopmentMember" xlink:to="fgen_LicenseAndDevelopmentMember_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_FinanceLeaseInterestExpense" xlink:to="us-gaap_FinanceLeaseInterestExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability" xlink:to="fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeographicDistributionForeignMember" xlink:to="us-gaap_GeographicDistributionForeignMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_SalesToFalikangMember" xlink:to="fgen_SalesToFalikangMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RestatementDomain" xlink:to="srt_RestatementDomain_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="fgen_AstraZenecaMember" xlink:to="fgen_AstraZenecaMember_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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_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="fgen_PercentageOfRoyaltyPaymentOnGlobalNetSales" xlink:to="fgen_PercentageOfRoyaltyPaymentOnGlobalNetSales_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fgen_WeightedAverageRemainingLeaseTermAbstract" xlink:to="fgen_WeightedAverageRemainingLeaseTermAbstract_lbl"/>
        </link:labelLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation" 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_DocumentType" xlink:label="dei_DocumentType"/>
          <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_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate"/>
          <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_TradingSymbol" xlink:label="dei_TradingSymbol"/>
          <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_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_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer"/>
          <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_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers"/>
          <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_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_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent"/>
          <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_EntityFileNumber" xlink:label="dei_EntityFileNumber"/>
          <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_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber"/>
          <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_EntityPublicFloat" xlink:label="dei_EntityPublicFloat"/>
          <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_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag"/>
          <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="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_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentType" order="49.0" priority="2" use="optional" preferredLabel="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_AmendmentFlag" order="50.0" priority="2" use="optional" preferredLabel="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_DocumentPeriodEndDate" order="51.0" priority="2" use="optional" preferredLabel="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_DocumentFiscalYearFocus" order="52.0" priority="2" use="optional" preferredLabel="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_DocumentFiscalPeriodFocus" order="53.0" priority="2" use="optional" preferredLabel="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_TradingSymbol" order="54.0" priority="2" use="optional" preferredLabel="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_EntityRegistrantName" order="55.0" priority="2" use="optional" preferredLabel="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_EntityCentralIndexKey" order="56.0" priority="2" use="optional" preferredLabel="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_CurrentFiscalYearEndDate" order="57.0" priority="2" use="optional" preferredLabel="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_EntityWellKnownSeasonedIssuer" order="58.0" priority="2" use="optional" preferredLabel="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_EntityCurrentReportingStatus" order="59.0" priority="2" use="optional" preferredLabel="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_EntityVoluntaryFilers" order="60.0" priority="2" use="optional" preferredLabel="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_EntityFilerCategory" order="61.0" priority="2" use="optional" preferredLabel="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_EntityShellCompany" order="62.0" priority="2" use="optional" preferredLabel="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_EntitySmallBusiness" order="63.0" priority="2" use="optional" preferredLabel="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="64.0" priority="2" use="optional" preferredLabel="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_EntityInteractiveDataCurrent" order="65.0" priority="2" use="optional" preferredLabel="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_Security12bTitle" order="66.0" priority="2" use="optional" preferredLabel="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_SecurityExchangeName" order="67.0" priority="2" use="optional" preferredLabel="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_EntityFileNumber" order="68.0" priority="2" use="optional" preferredLabel="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_EntityIncorporationStateCountryCode" order="69.0" priority="2" use="optional" preferredLabel="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_EntityTaxIdentificationNumber" order="70.0" priority="2" use="optional" preferredLabel="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_EntityAddressAddressLine1" order="71.0" priority="2" use="optional" preferredLabel="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_EntityAddressCityOrTown" 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_EntityAddressStateOrProvince" 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_EntityAddressPostalZipCode" order="74.0" priority="2" use="optional" preferredLabel="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_CityAreaCode" order="75.0" priority="2" use="optional" preferredLabel="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="76.0" priority="2" use="optional" preferredLabel="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_EntityCommonStockSharesOutstanding" order="77.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="dei_CoverAbstract" xlink:to="dei_EntityPublicFloat" order="78.0" priority="2" use="optional" preferredLabel="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_DocumentAnnualReport" order="79.0" priority="2" use="optional" preferredLabel="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_DocumentTransitionReport" order="80.0" priority="2" use="optional" preferredLabel="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_IcfrAuditorAttestationFlag" order="81.0" priority="2" use="optional" preferredLabel="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="82.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_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_DocumentsIncorporatedByReferenceTextBlock" order="86.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract"/>
          <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_AccruedLiabilitiesAndOtherLiabilities" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments" xlink:label="us-gaap_ShortTermInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent"/>
          <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="fgen-20231231.xsd#fgen_AccruedProductDevelopmentCosts" xlink:label="fgen_AccruedProductDevelopmentCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
          <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="fgen-20231231.xsd#fgen_LongTermInvestmentExcludingEquityMethodInvestments" xlink:label="fgen_LongTermInvestmentExcludingEquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
          <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_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_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_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_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_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_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments"/>
          <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_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt"/>
          <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="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent"/>
          <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_NonredeemableNoncontrollingInterest" xlink:label="us-gaap_NonredeemableNoncontrollingInterest"/>
          <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_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_MinorityInterest" xlink:label="us-gaap_MinorityInterest"/>
          <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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
          <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_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount"/>
          <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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" 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_AccruedLiabilitiesAndOtherLiabilities" 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_AssetsCurrentAbstract" xlink:to="us-gaap_ShortTermInvestments" 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_RestrictedCashAndCashEquivalentsNoncurrent" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_CommonStockValue" 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_LiabilitiesAndStockholdersEquityAbstract" xlink:to="fgen_AccruedProductDevelopmentCosts" 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_ContractWithCustomerLiabilityCurrent" 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="fgen_LongTermInvestmentExcludingEquityMethodInvestments" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_AdditionalPaidInCapital" 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_ContractWithCustomerLiabilityNoncurrent" 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_OperatingLeaseLiabilityCurrent" 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_PropertyPlantAndEquipmentNet" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" 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/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="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_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_EquityMethodInvestments" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" 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_SecuredLongTermDebt" 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_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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" 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="fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_NonredeemableNoncontrollingInterest" 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_OtherLiabilitiesNoncurrent" 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_AssetsAbstract" xlink:to="us-gaap_Assets" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_MinorityInterest" 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_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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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_RedeemableNoncontrollingInterestEquityCarryingAmount" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" 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_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical" 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_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccountsReceivableNetCurrentRelatedParties" xlink:label="fgen_AccountsReceivableNetCurrentRelatedParties"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherLiabilitiesCurrentDueToRelatedParties" xlink:label="fgen_OtherLiabilitiesCurrentDueToRelatedParties"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DueToRelatedPartiesDeferredRevenueCurrent" xlink:label="fgen_DueToRelatedPartiesDeferredRevenueCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DueToRelatedPartiesDeferredRevenueNoncurrent" xlink:label="fgen_DueToRelatedPartiesDeferredRevenueNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherLiabilitiesNoncurrentDueToRelatedParties" xlink:label="fgen_OtherLiabilitiesNoncurrentDueToRelatedParties"/>
          <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:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="fgen_AccountsReceivableNetCurrentRelatedParties" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_OtherLiabilitiesCurrentDueToRelatedParties" 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="fgen_DueToRelatedPartiesDeferredRevenueCurrent" 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_StatementOfFinancialPositionAbstract" xlink:to="fgen_DueToRelatedPartiesDeferredRevenueNoncurrent" 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_StatementOfFinancialPositionAbstract" xlink:to="fgen_OtherLiabilitiesNoncurrentDueToRelatedParties" 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_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare" 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_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockSharesAuthorized" 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_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockSharesIssued" 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_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockSharesOutstanding" 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_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" 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_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesAuthorized" 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_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesIssued" 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_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesOutstanding" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations" 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_OperatingCostsAndExpensesAbstract" xlink:label="us-gaap_OperatingCostsAndExpensesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract"/>
          <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_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_LicenseMember" xlink:label="us-gaap_LicenseMember"/>
          <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_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_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract"/>
          <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_TypeOfCostGoodOrServiceExtensibleList" xlink:label="us-gaap_TypeOfCostGoodOrServiceExtensibleList"/>
          <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="fgen-20231231.xsd#fgen_DevelopmentAndOtherRevenueMember" xlink:label="fgen_DevelopmentAndOtherRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <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_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_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_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet"/>
          <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="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <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_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges"/>
          <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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments"/>
          <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_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments"/>
          <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_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_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingCostsAndExpensesAbstract" xlink:to="us-gaap_CostOfRevenue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" 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_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_LicenseMember" order="0" priority="2" use="optional" preferredLabel="http://www.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="srt_ProductOrServiceAxis" order="0" priority="2" use="optional" preferredLabel="http://www.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_RevenueFromContractWithCustomerAbstract" order="0" priority="2" use="optional" preferredLabel="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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpense" 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_OperatingCostsAndExpensesAbstract" xlink:to="us-gaap_TypeOfCostGoodOrServiceExtensibleList" 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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" 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="srt_ProductsAndServicesDomain" xlink:to="fgen_DevelopmentAndOtherRevenueMember" 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="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_RevenueFromContractWithCustomerExcludingAssessedTax" 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_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" 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_OperatingCostsAndExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" 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_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" 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_OperatingCostsAndExpensesAbstract" 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_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet" 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_OperatingCostsAndExpensesAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" 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="srt_ProductsAndServicesDomain" xlink:to="fgen_DrugProductRevenueMember" 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_OperatingIncomeLoss" 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_OperatingCostsAndExpensesAbstract" xlink:to="us-gaap_RestructuringCharges" 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_NonoperatingIncomeExpenseAbstract" 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_OperatingCostsAndExpensesAbstract" xlink:to="us-gaap_CostsAndExpenses" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" 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_IncomeTaxExpenseBenefit" 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_IncomeLossFromEquityMethodInvestments" 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_NetIncomeLoss" 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_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic" 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_EarningsPerShareDiluted" 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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <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_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseFeesAndMilestonesRevenue" xlink:label="fgen_LicenseFeesAndMilestonesRevenue"/>
          <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="fgen-20231231.xsd#fgen_CollaborationServicesAndOtherRevenue" xlink:label="fgen_CollaborationServicesAndOtherRevenue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProductRevenue" xlink:label="fgen_ProductRevenue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenueFromRelatedParty" xlink:label="fgen_DrugProductRevenueFromRelatedParty"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="http://www.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_TypeOfArrangementAxis" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_LicenseFeesAndMilestonesRevenue" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_CollaborationServicesAndOtherRevenue" 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="fgen_ProductRevenue" 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="fgen_DrugProductRevenueFromRelatedParty" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss" 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_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
          <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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
          <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_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
          <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_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_NetIncomeLoss" 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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" 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_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract" 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_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax" 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_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit" 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_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_RedeemablePreferredStockMember" xlink:label="us-gaap_RedeemablePreferredStockMember"/>
          <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/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain"/>
          <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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/>
          <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_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_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_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="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_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_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax"/>
          <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_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="fgen-20231231.xsd#fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" xlink:label="fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares" xlink:label="fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares"/>
          <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="fgen-20231231.xsd#fgen_WarrantsExercisedDuringPeriodValue" xlink:label="fgen_WarrantsExercisedDuringPeriodValue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_WarrantExercisedDuringPeriodShares" xlink:label="fgen_WarrantExercisedDuringPeriodShares"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ConversionOfSubsidiarysConvertibleNotePayable" xlink:label="fgen_ConversionOfSubsidiarysConvertibleNotePayable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_14"/>
          <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_15"/>
          <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_ClassOfStockDomain" xlink:to="us-gaap_RedeemablePreferredStockMember" order="0" priority="2" use="optional" preferredLabel="http://www.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="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain" order="0" priority="2" use="optional" preferredLabel="http://www.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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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="srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" order="0" priority="2" use="optional" preferredLabel="http://www.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_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_StatementClassOfStockAxis" 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_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_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="srt_CumulativeEffectPeriodOfAdoptionAxis" 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_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_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" 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_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_StockIssuedDuringPeriodSharesAcquisitions" 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_EquityComponentDomain" xlink:to="us-gaap_NoncontrollingInterestMember" 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_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues" 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_StockIssuedDuringPeriodSharesNewIssues" 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="fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" 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="fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares" 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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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="fgen_WarrantsExercisedDuringPeriodValue" 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_StatementLineItems" xlink:to="fgen_WarrantExercisedDuringPeriodShares" 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_StatementLineItems" xlink:to="fgen_ConversionOfSubsidiarysConvertibleNotePayable" 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="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_14" order="14" 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_15" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows" 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="fgen-20231231.xsd#fgen_NonCashAcquisitionInFortis" xlink:label="fgen_NonCashAcquisitionInFortis"/>
          <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="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="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_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_ProfitLoss" xlink:label="us-gaap_ProfitLoss"/>
          <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_ProceedsFromIssuanceOfSecuredDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfSecuredDebt"/>
          <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_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_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_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfSecuredDebt" xlink:label="us-gaap_RepaymentsOfSecuredDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInProcessResearchAndDevelopment" xlink:label="us-gaap_PaymentsToAcquireInProcessResearchAndDevelopment"/>
          <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_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RepaymentsOfFinanceLeaseLiabilities" xlink:label="fgen_RepaymentsOfFinanceLeaseLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_ConstructionInProgressExpendituresIncurredButNotYetPaid"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnrealizedLossGainOnEquityInvestments" xlink:label="fgen_UnrealizedLossGainOnEquityInvestments"/>
          <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_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_RepaymentsOfDebtAndCapitalLeaseObligations" xlink:label="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt"/>
          <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="fgen-20231231.xsd#fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise" xlink:label="fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity" xlink:label="fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity"/>
          <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_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_CashAcquiredFromAcquisition" xlink:label="us-gaap_CashAcquiredFromAcquisition"/>
          <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="fgen-20231231.xsd#fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests" xlink:label="fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts" xlink:label="fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromSalesOfAvailableForSaleSecurities" xlink:label="fgen_ProceedsFromSalesOfAvailableForSaleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities"/>
          <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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_6"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" xlink:label="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquiredInProcessResearchAndDevelopmentExpenses" xlink:label="fgen_AcquiredInProcessResearchAndDevelopmentExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:label="us-gaap_ProceedsFromIssuanceInitialPublicOffering"/>
          <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_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues" xlink:label="fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues"/>
          <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="fgen-20231231.xsd#fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities" xlink:label="fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity" xlink:label="fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity"/>
          <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="fgen-20231231.xsd#fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments"/>
          <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_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment"/>
          <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="fgen_NonCashAcquisitionInFortis" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_Depreciation" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" 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_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProfitLoss" order="0" priority="2" use="optional" preferredLabel="http://www.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_ProceedsFromIssuanceOfSecuredDebt" order="0" priority="2" use="optional" preferredLabel="http://www.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_PaymentsToAcquirePropertyPlantAndEquipment" 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_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_FinanceLeaseRightOfUseAssetAmortization" 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_StatementOfCashFlowsAbstract" 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_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_RepaymentsOfSecuredDebt" 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_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireInProcessResearchAndDevelopment" 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_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_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" 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_StatementOfCashFlowsAbstract" 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_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="fgen_RepaymentsOfFinanceLeaseLiabilities" 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_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" 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="fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets" 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_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_ConstructionInProgressExpendituresIncurredButNotYetPaid" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="fgen_UnrealizedLossGainOnEquityInvestments" 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_StatementOfCashFlowsAbstract" 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_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_RepaymentsOfDebtAndCapitalLeaseObligations" 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_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" 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_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_SupplementalCashFlowInformationAbstract" xlink:to="fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity" 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_StatementOfCashFlowsAbstract" 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_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_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_CashAcquiredFromAcquisition" 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_SupplementalCashFlowInformationAbstract" xlink:to="fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests" 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_GainLossOnDispositionOfAssets" 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_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" 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_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts" 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_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="fgen_ProceedsFromSalesOfAvailableForSaleSecurities" 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_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" 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_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_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_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" 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_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" 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_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" 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="fgen_AcquiredInProcessResearchAndDevelopmentExpenses" 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_StatementOfCashFlowsAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" 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_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromIssuanceInitialPublicOffering" 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_IncreaseDecreaseInContractWithCustomerLiability" 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="fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues" 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_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" 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_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity" 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_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="9" 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="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ImpairmentOfInvestments" 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_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlowsParenthetical" 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_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_IncreaseDecreaseInAccountsReceivableRelatedParties" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivableRelatedParties"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties" xlink:label="fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty" xlink:label="fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableRelatedParties" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableRelatedParties"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivableRelatedParties" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties" 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_StatementOfCashFlowsAbstract" xlink:to="fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty" 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_StatementOfCashFlowsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableRelatedParties" 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_StatementOfCashFlowsAbstract" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureTheCompany" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies" 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.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenues1" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock" xlink:label="fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeutics1" 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_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_BusinessCombinationsAbstract" 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntity" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityAbstract" xlink:label="fgen_AcquisitionAndVariableInterestEntityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableInterestEntityDisclosureTextBlock" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_AcquisitionAndVariableInterestEntityAbstract" xlink:to="us-gaap_VariableInterestEntityDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeases" 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="fgen-20231231.xsd#fgen_LeasesDisclosureTextBlock" xlink:label="fgen_LeasesDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="fgen_LeasesDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponents" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <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:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilities" 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_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenues" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRoyaltiesTextBlock" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligations" 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="fgen-20231231.xsd#fgen_ProductDevelopmentObligationsDisclosureTextBlock" xlink:label="fgen_ProductDevelopmentObligationsDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="fgen_ProductDevelopmentObligationsDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingencies" 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensation" 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_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_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:label="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShare" 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_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_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxes" 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_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_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactions" 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_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformation" 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_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_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEvent1" 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_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccounts" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsAbstract" xlink:label="srt_ValuationAndQualifyingAccountsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:label="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsAbstract" xlink:to="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies" 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_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
          <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_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_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherRisksAndUncertaintiesPolicyTextBlock" xlink:label="fgen_OtherRisksAndUncertaintiesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock" xlink:label="fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentPolicyTextBlock" xlink:label="us-gaap_InvestmentPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
          <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_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_ConsolidationVariableInterestEntityPolicy" xlink:label="us-gaap_ConsolidationVariableInterestEntityPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AssetAcquisitionPolicyPolicyTextBlock" xlink:label="fgen_AssetAcquisitionPolicyPolicyTextBlock"/>
          <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="fgen-20231231.xsd#fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock" xlink:label="fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ClinicalTrialAccrualPolicyTextBlock" xlink:label="fgen_ClinicalTrialAccrualPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RestructuringChargePolicyTextBlock" xlink:label="fgen_RestructuringChargePolicyTextBlock"/>
          <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_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_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RecentlyIssuedAndAdoptedAccountingGuidancePolicyTextBlock" xlink:label="fgen_RecentlyIssuedAndAdoptedAccountingGuidancePolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock" xlink:label="fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock" xlink:label="fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProductRevenuePolicyPolicyTextBlock" xlink:label="fgen_ProductRevenuePolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenuePolicyTextBlock" xlink:label="fgen_DrugProductRevenuePolicyTextBlock"/>
          <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:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.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="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_UseOfEstimates" 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_ConcentrationRiskCreditRisk" 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="fgen_OtherRisksAndUncertaintiesPolicyTextBlock" 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="fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock" 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_InvestmentPolicyTextBlock" 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_FairValueOfFinancialInstrumentsPolicy" 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_TradeAndOtherAccountsReceivablePolicy" 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_CreditLossFinancialInstrumentPolicyTextBlock" 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_InventoryPolicyTextBlock" 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="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" 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_ConsolidationVariableInterestEntityPolicy" 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_LesseeLeasesPolicyTextBlock" 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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" 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="fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock" 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="fgen_AssetAcquisitionPolicyPolicyTextBlock" 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_RevenueRecognitionPolicyTextBlock" 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_AccountingPoliciesAbstract" xlink:to="fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock" 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_ResearchAndDevelopmentExpensePolicy" 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="fgen_ClinicalTrialAccrualPolicyTextBlock" 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_AccountingPoliciesAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" 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_AccountingPoliciesAbstract" xlink:to="fgen_RestructuringChargePolicyTextBlock" 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_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" 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_AccountingPoliciesAbstract" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" 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_AccountingPoliciesAbstract" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" 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_AccountingPoliciesAbstract" xlink:to="fgen_RecentlyIssuedAndAdoptedAccountingGuidancePolicyTextBlock" 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_AccountingPoliciesAbstract" xlink:to="fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock" 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_AccountingPoliciesAbstract" xlink:to="fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock" 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_AccountingPoliciesAbstract" xlink:to="fgen_ProductRevenuePolicyPolicyTextBlock" 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_AccountingPoliciesAbstract" xlink:to="fgen_DrugProductRevenuePolicyTextBlock" order="30" priority="2" use="optional" preferredLabel="http://www.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="31" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesTables" 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_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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <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="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <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_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerMilestoneMethodTableTextBlock" xlink:label="fgen_ContractWithCustomerMilestoneMethodTableTextBlock"/>
          <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_EuropeMember" xlink:label="srt_EuropeMember"/>
          <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="fgen-20231231.xsd#fgen_UnitedStatesRestOfWorldAndChinaMember" xlink:label="fgen_UnitedStatesRestOfWorldAndChinaMember"/>
          <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="fgen-20231231.xsd#fgen_ScheduleOfDrugProductRevenueTableTextBlock" xlink:label="fgen_ScheduleOfDrugProductRevenueTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" order="0" priority="2" use="optional" preferredLabel="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_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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="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_JP" order="0" priority="2" use="optional" preferredLabel="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="fgen_DrugProductRevenueMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" 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="srt_StatementGeographicalAxis" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_ContractWithCustomerMilestoneMethodTableTextBlock" order="0" priority="2" use="optional" preferredLabel="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/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_StatementTable" xlink:to="srt_ProductOrServiceAxis" 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_DisaggregationOfRevenueTableTextBlock" 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="fgen_UnitedStatesRestOfWorldAndChinaMember" 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_StatementTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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_ContractWithCustomerAssetAndLiabilityTableTextBlock" 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="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="fgen_ScheduleOfDrugProductRevenueTableTextBlock" 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_DeferredRevenueByArrangementDisclosureTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsTables" 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_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityAbstract" xlink:label="fgen_AcquisitionAndVariableInterestEntityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_AcquisitionAndVariableInterestEntityAbstract" xlink:to="us-gaap_EquityMethodInvestmentsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesTables" 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="fgen-20231231.xsd#fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock" xlink:label="fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock"/>
          <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="fgen-20231231.xsd#fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:label="fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock" xlink:label="fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock" xlink:label="fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.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="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="fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock" 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="fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock" 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="fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsTables" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock"/>
          <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.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncurrentLiabilitiesTableTextBlock" xlink:label="us-gaap_OtherNoncurrentLiabilitiesTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OtherNoncurrentLiabilitiesTableTextBlock" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesTable" 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_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRoyaltiesTableTextBlock" xlink:label="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRoyaltiesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock" xlink:label="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRoyaltiesTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesTables" 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_RecordedUnconditionalPurchaseObligationsTextBlock" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationsTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationTables" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock" xlink:label="fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock"/>
          <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="fgen-20231231.xsd#fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock" xlink:label="fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock"/>
          <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="fgen-20231231.xsd#fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" xlink:label="fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock" xlink:label="fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareTables" 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_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_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesTables" 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_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock"/>
          <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_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_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_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.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_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_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" 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_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" 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_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationTables" 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_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_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:label="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_InventoryByGeographicAreasTableTextBlock" xlink:label="fgen_InventoryByGeographicAreasTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock" xlink:label="fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock"/>
          <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:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_InventoryByGeographicAreasTableTextBlock" 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_SegmentReportingAbstract" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" 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_SegmentReportingAbstract" xlink:to="fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock" 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_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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_TransactionDomain" xlink:label="us-gaap_TransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasAndAstraZenecaMember" xlink:label="fgen_AstellasAndAstraZenecaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember"/>
          <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="fgen-20231231.xsd#fgen_AccountingPolicyTable" xlink:label="fgen_AccountingPolicyTable"/>
          <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/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RoxadustatDrugProductMember" xlink:label="fgen_RoxadustatDrugProductMember"/>
          <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="fgen-20231231.xsd#fgen_AccountsReceivableFromDistributorsMember" xlink:label="fgen_AccountsReceivableFromDistributorsMember"/>
          <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_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain"/>
          <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_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain"/>
          <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="fgen-20231231.xsd#fgen_AccountingPolicyLineItems" xlink:label="fgen_AccountingPolicyLineItems"/>
          <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_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransactionTypeAxis" xlink:label="us-gaap_TransactionTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionDomain" xlink:label="us-gaap_GeographicDistributionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionForeignMember" xlink:label="us-gaap_GeographicDistributionForeignMember"/>
          <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_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditConcentrationRiskMember" xlink:label="us-gaap_CreditConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionAxis" xlink:label="us-gaap_GeographicDistributionAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member" xlink:label="fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member"/>
          <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="fgen-20231231.xsd#fgen_HiFiBiOAgreementMember" xlink:label="fgen_HiFiBiOAgreementMember"/>
          <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_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax" xlink:label="us-gaap_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LaboratoryEquipmentMember" xlink:label="fgen_LaboratoryEquipmentMember"/>
          <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_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_HighlyLiquidInvestmentMaturityPeriod" xlink:label="fgen_HighlyLiquidInvestmentMaturityPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RestrictedTimeDepositsNoncurrent" xlink:label="fgen_RestrictedTimeDepositsNoncurrent"/>
          <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="fgen-20231231.xsd#fgen_ShortTermInvestmentsMaximumMaturityPeriod" xlink:label="fgen_ShortTermInvestmentsMaximumMaturityPeriod"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LongTermInvestmentsMinimumMaturityPeriod" xlink:label="fgen_LongTermInvestmentsMinimumMaturityPeriod"/>
          <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_ImpairmentOfLongLivedAssetsToBeDisposedOf" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetsFinitelived" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsFinitelived"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProfitSharePercent" xlink:label="fgen_ProfitSharePercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms" xlink:label="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DescriptionOfSalesReturn" xlink:label="fgen_DescriptionOfSalesReturn"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:label="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_InitialUpfrontPayment" xlink:label="fgen_InitialUpfrontPayment"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments" xlink:label="fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments"/>
          <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_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable" xlink:label="fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MaximumSalesMilestonesReceivable" xlink:label="fgen_MaximumSalesMilestonesReceivable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfTieredRoyaltiesReceivable" xlink:label="fgen_PercentageOfTieredRoyaltiesReceivable"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TransactionDomain" xlink:to="fgen_AstellasAndAstraZenecaMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_AccruedLiabilitiesMember" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_AccountingPolicyTable" order="0" priority="2" use="optional" preferredLabel="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="srt_ProductsAndServicesDomain" xlink:to="fgen_RoxadustatDrugProductMember" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_AccountsReceivableFromDistributorsMember" order="0" priority="2" use="optional" preferredLabel="http://www.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_InProcessResearchAndDevelopmentMember" order="0" priority="2" use="optional" preferredLabel="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_RestatementAxis" xlink:to="srt_RestatementDomain" 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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain" order="0" priority="2" use="optional" preferredLabel="http://www.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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_NumberOfOperatingSegments" order="0" priority="2" use="optional" preferredLabel="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_CumulativeEffectPeriodOfAdoptionDomain" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TransactionTypeAxis" xlink:to="us-gaap_TransactionDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GeographicDistributionDomain" xlink:to="us-gaap_GeographicDistributionForeignMember" order="0" priority="2" use="optional" preferredLabel="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/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_ComputerEquipmentMember" order="0" priority="2" use="optional" preferredLabel="http://www.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_CreditConcentrationRiskMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GeographicDistributionAxis" xlink:to="us-gaap_GeographicDistributionDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_AccountingPolicyTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="0" priority="2" use="optional" preferredLabel="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_RestatementDomain" xlink:to="fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member" order="0" priority="2" use="optional" preferredLabel="http://www.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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_HiFiBiOAgreementMember" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax" 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="fgen_LaboratoryEquipmentMember" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" 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_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" 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="fgen_AccountingPolicyTable" xlink:to="srt_ProductOrServiceAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_HighlyLiquidInvestmentMaturityPeriod" 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_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_GeographicDistributionAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_RestrictedTimeDepositsNoncurrent" 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="fgen_AccountingPolicyTable" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_ShortTermInvestmentsMaximumMaturityPeriod" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_LongTermInvestmentsMinimumMaturityPeriod" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_TransactionTypeAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_FinancialInstrumentAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsFinitelived" 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="fgen_AccountingPolicyTable" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_ProfitSharePercent" 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="fgen_AccountingPolicyTable" xlink:to="srt_RestatementAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms" 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="fgen_AccountingPolicyTable" xlink:to="fgen_AccountingPolicyLineItems" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_DescriptionOfSalesReturn" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_InitialUpfrontPayment" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_MaximumSalesMilestonesReceivable" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_PercentageOfTieredRoyaltiesReceivable" order="21" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FalikangCollaborationAgreementMember" xlink:label="fgen_FalikangCollaborationAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <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="fgen-20231231.xsd#fgen_AccountingPolicyTable" xlink:label="fgen_AccountingPolicyTable"/>
          <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_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccountingPolicyLineItems" xlink:label="fgen_AccountingPolicyLineItems"/>
          <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_CreditConcentrationRiskMember" xlink:label="us-gaap_CreditConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_FalikangCollaborationAgreementMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_AccountingPolicyTable" order="0" priority="2" use="optional" preferredLabel="http://www.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_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0" priority="2" use="optional" preferredLabel="http://www.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_CreditConcentrationRiskMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_AccountingPolicyTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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="fgen_AccountingPolicyTable" xlink:to="fgen_AccountingPolicyLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ClinicalDevelopmentMilestonesMember" xlink:label="fgen_ClinicalDevelopmentMilestonesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments" xlink:label="fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments"/>
          <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="fgen-20231231.xsd#fgen_RegulatoryMilestonesMember" xlink:label="fgen_RegulatoryMilestonesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PotentialMilestones" xlink:label="fgen_PotentialMilestones"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommercialSalesMilestone" xlink:label="fgen_CommercialSalesMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AdditionalConsiderationBasedOnNetSales" xlink:label="fgen_AdditionalConsiderationBasedOnNetSales"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TransactionPriceAllocatedToPerformanceObligations" xlink:label="fgen_TransactionPriceAllocatedToPerformanceObligations"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DevelopmentAndRegulatoryApprovalMilestones" xlink:label="fgen_DevelopmentAndRegulatoryApprovalMilestones"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfFundingForCosts" xlink:label="fgen_PercentageOfFundingForCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Supplies" xlink:label="us-gaap_Supplies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ManufacturingCosts" xlink:label="us-gaap_ManufacturingCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" xlink:label="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" order="0" priority="2" use="optional" preferredLabel="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_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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="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_JP" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DrugProductRevenueMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_ClinicalDevelopmentMilestonesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" order="0" priority="2" use="optional" preferredLabel="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_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_RegulatoryMilestonesMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PotentialMilestones" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CommercialSalesMilestone" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_AdditionalConsiderationBasedOnNetSales" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_TransactionPriceAllocatedToPerformanceObligations" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_DevelopmentAndRegulatoryApprovalMilestones" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PercentageOfFundingForCosts" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_Supplies" order="9" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" order="10" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ManufacturingCosts" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="12" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputDiscountRateMember" xlink:label="us-gaap_MeasurementInputDiscountRateMember"/>
          <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_ValuationTechniqueDiscountedCashFlowMember" xlink:label="us-gaap_ValuationTechniqueDiscountedCashFlowMember"/>
          <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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromNonContingentUpfrontPayments" xlink:label="fgen_ProceedsFromNonContingentUpfrontPayments"/>
          <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/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <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="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone" xlink:label="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" xlink:label="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AlternativeInvestmentMeasurementInput" xlink:label="us-gaap_AlternativeInvestmentMeasurementInput"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod" xlink:label="fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProvisionForCoDevelopmentServices" xlink:label="fgen_ProvisionForCoDevelopmentServices"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" order="0" priority="2" use="optional" preferredLabel="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_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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="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_JP" order="0" priority="2" use="optional" preferredLabel="http://www.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_MeasurementInputDiscountRateMember" order="0" priority="2" use="optional" preferredLabel="http://www.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="us-gaap_ValuationTechniqueDiscountedCashFlowMember" order="0" priority="2" use="optional" preferredLabel="http://www.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/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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ProceedsFromNonContingentUpfrontPayments" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" order="0" priority="2" use="optional" preferredLabel="http://www.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/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="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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_AlternativeInvestmentMeasurementInput" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_MeasurementInputTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationTechniqueAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ProvisionForCoDevelopmentServices" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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_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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesAndRestOfWorldMember" xlink:label="fgen_UnitedStatesAndRestOfWorldMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <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="fgen-20231231.xsd#fgen_FibroGenIncMember" xlink:label="fgen_FibroGenIncMember"/>
          <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="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ClinicalDevelopmentMilestonesMember" xlink:label="fgen_ClinicalDevelopmentMilestonesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments" xlink:label="fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments"/>
          <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/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_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedAndOtherCurrentLiabilitiesMember" xlink:label="fgen_AccruedAndOtherCurrentLiabilitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DirectSalesMember" xlink:label="fgen_DirectSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesAndRestOfWorldMember" xlink:label="fgen_UnitedStatesAndRestOfWorldMember_1"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RegulatoryMilestonesMember" xlink:label="fgen_RegulatoryMilestonesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PotentialMilestones" xlink:label="fgen_PotentialMilestones"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredApprovalMilestoneMember" xlink:label="fgen_DeferredApprovalMilestoneMember"/>
          <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="fgen-20231231.xsd#fgen_CommercialSalesMilestone" xlink:label="fgen_CommercialSalesMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SharedDevelopmentCosts" xlink:label="fgen_SharedDevelopmentCosts"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AdditionalConsiderationBasedOnNetSales" xlink:label="fgen_AdditionalConsiderationBasedOnNetSales"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TransactionPriceAllocatedToPerformanceObligations" xlink:label="fgen_TransactionPriceAllocatedToPerformanceObligations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments" xlink:label="fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommercialSalesAndOtherEventsMilestone" xlink:label="fgen_CommercialSalesAndOtherEventsMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsideration" xlink:label="fgen_CollaborativeArrangementAggregateConsideration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ReversalOfAccruedCoPromotionExpenses" xlink:label="fgen_ReversalOfAccruedCoPromotionExpenses"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CoPromotionExpenses" xlink:label="fgen_CoPromotionExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_15"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" order="0" priority="2" use="optional" preferredLabel="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_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_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="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="fgen_UnitedStatesAndRestOfWorldMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" order="0" priority="2" use="optional" preferredLabel="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_EntityDomain" xlink:to="fgen_FibroGenIncMember" order="0" priority="2" use="optional" preferredLabel="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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DrugProductRevenueMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_ClinicalDevelopmentMilestonesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments" order="0" priority="2" use="optional" preferredLabel="http://www.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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" order="0" priority="2" use="optional" preferredLabel="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/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_BalanceSheetLocationDomain" xlink:to="fgen_AccruedAndOtherCurrentLiabilitiesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_DirectSalesMember" 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="fgen_UnitedStatesAndRestOfWorldMember_1" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_RegulatoryMilestonesMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PotentialMilestones" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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="country_CN" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_DeferredApprovalMilestoneMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CommercialSalesMilestone" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_SharedDevelopmentCosts" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="dei_LegalEntityAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_AdditionalConsiderationBasedOnNetSales" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_TransactionPriceAllocatedToPerformanceObligations" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_IncomeStatementLocationAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_BalanceSheetLocationAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_ProductOrServiceAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CommercialSalesAndOtherEventsMilestone" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CollaborativeArrangementAggregateConsideration" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ReversalOfAccruedCoPromotionExpenses" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CoPromotionExpenses" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_15" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesAndRestOfWorldAndChinaMember" xlink:label="fgen_UnitedStatesAndRestOfWorldAndChinaMember"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputDiscountRateMember" xlink:label="us-gaap_MeasurementInputDiscountRateMember"/>
          <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_ValuationTechniqueDiscountedCashFlowMember" xlink:label="us-gaap_ValuationTechniqueDiscountedCashFlowMember"/>
          <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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromNonContingentUpfrontPayments" xlink:label="fgen_ProceedsFromNonContingentUpfrontPayments"/>
          <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="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone" xlink:label="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" xlink:label="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_VariableConsiderationRelatedToProfitShare" xlink:label="fgen_VariableConsiderationRelatedToProfitShare"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RoyaltyRateOnNetRevenue" xlink:label="fgen_RoyaltyRateOnNetRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AlternativeInvestmentMeasurementInput" xlink:label="us-gaap_AlternativeInvestmentMeasurementInput"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear" xlink:label="fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" order="0" priority="2" use="optional" preferredLabel="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_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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="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="fgen_UnitedStatesAndRestOfWorldAndChinaMember" order="0" priority="2" use="optional" preferredLabel="http://www.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_MeasurementInputDiscountRateMember" order="0" priority="2" use="optional" preferredLabel="http://www.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="us-gaap_ValuationTechniqueDiscountedCashFlowMember" order="0" priority="2" use="optional" preferredLabel="http://www.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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ProceedsFromNonContingentUpfrontPayments" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" order="0" priority="2" use="optional" preferredLabel="http://www.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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_MeasurementInputTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_VariableConsiderationRelatedToProfitShare" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationTechniqueAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_RoyaltyRateOnNetRevenue" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_AlternativeInvestmentMeasurementInput" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail" 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_CN" xlink:label="country_CN"/>
          <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="fgen-20231231.xsd#fgen_CorneaProductsMember" xlink:label="fgen_CorneaProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseAgreementWithEluminexMember" xlink:label="fgen_LicenseAgreementWithEluminexMember"/>
          <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_AccountingStandardsUpdate201409Member" xlink:label="us-gaap_AccountingStandardsUpdate201409Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments"/>
          <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/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_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseRevenueMember" xlink:label="fgen_LicenseRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BiosyntheticCorneaMember" xlink:label="fgen_BiosyntheticCorneaMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments" xlink:label="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DevelopmentAndOtherRevenueMember" xlink:label="fgen_DevelopmentAndOtherRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommercialMilestone" xlink:label="fgen_CommercialMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement" xlink:label="fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred" xlink:label="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAdditionalUpfrontPayments" xlink:label="fgen_CollaborativeArrangementAdditionalUpfrontPayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MilestonePayments" xlink:label="fgen_MilestonePayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ManufacturingRelatedMilestonePayments" xlink:label="fgen_ManufacturingRelatedMilestonePayments"/>
          <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="srt_SegmentGeographicalDomain" xlink:to="country_CN" order="0" priority="2" use="optional" preferredLabel="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="fgen_CorneaProductsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_LicenseAgreementWithEluminexMember" 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_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate201409Member" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" 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/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/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_IncomeStatementLocationDomain" xlink:to="fgen_LicenseRevenueMember" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" order="0" priority="2" use="optional" preferredLabel="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="fgen_BiosyntheticCorneaMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments" 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="fgen_DevelopmentAndOtherRevenueMember" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_ProductOrServiceAxis" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_CommercialMilestone" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_StatementGeographicalAxis" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_CollaborativeArrangementAdditionalUpfrontPayments" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_MilestonePayments" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_ManufacturingRelatedMilestonePayments" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <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_LicenseMember" xlink:label="us-gaap_LicenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <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="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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="fgen-20231231.xsd#fgen_DevelopmentAndOtherRevenueMember" xlink:label="fgen_DevelopmentAndOtherRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesRestOfWorldAndChinaMember" xlink:label="fgen_UnitedStatesRestOfWorldAndChinaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" order="0" priority="2" use="optional" preferredLabel="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_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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="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_JP" order="0" priority="2" use="optional" preferredLabel="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_LicenseMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_TypeOfArrangementAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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="srt_ProductsAndServicesDomain" xlink:to="fgen_DevelopmentAndOtherRevenueMember" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_ProductOrServiceAxis" 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="fgen_UnitedStatesRestOfWorldAndChinaMember" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_StatementGeographicalAxis" 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="country_CN" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <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_LicenseMember" xlink:label="us-gaap_LicenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" xlink:label="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized"/>
          <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_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DevelopmentAndOtherRevenueMember" xlink:label="fgen_DevelopmentAndOtherRevenueMember"/>
          <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="fgen-20231231.xsd#fgen_CashConsiderationReceivedUnderCollaborationAgreement" xlink:label="fgen_CashConsiderationReceivedUnderCollaborationAgreement"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" order="0" priority="2" use="optional" preferredLabel="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_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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="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_JP" order="0" priority="2" use="optional" preferredLabel="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_LicenseMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" order="0" priority="2" use="optional" preferredLabel="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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_TypeOfArrangementAxis" order="0" priority="2" use="optional" preferredLabel="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="srt_ProductsAndServicesDomain" xlink:to="fgen_DevelopmentAndOtherRevenueMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_CashConsiderationReceivedUnderCollaborationAgreement" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_ProductOrServiceAxis" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" xlink:label="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesRestOfWorldAndChinaMember" xlink:label="fgen_UnitedStatesRestOfWorldAndChinaMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" order="0" priority="2" use="optional" preferredLabel="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_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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="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_JP" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_StatementGeographicalAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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="fgen_UnitedStatesRestOfWorldAndChinaMember" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesRestOfWorldAndChinaMember" xlink:label="fgen_UnitedStatesRestOfWorldAndChinaMember"/>
          <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_LicenseMember" xlink:label="us-gaap_LicenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" xlink:label="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized"/>
          <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="fgen-20231231.xsd#fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember" xlink:label="fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember"/>
          <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="fgen-20231231.xsd#fgen_ChinaPerformanceObligationMember" xlink:label="fgen_ChinaPerformanceObligationMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CashConsiderationReceivedUnderCollaborationAgreement" xlink:label="fgen_CashConsiderationReceivedUnderCollaborationAgreement"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" order="0" priority="2" use="optional" preferredLabel="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_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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="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="fgen_UnitedStatesRestOfWorldAndChinaMember" 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_ProductsAndServicesDomain" xlink:to="us-gaap_LicenseMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" order="0" priority="2" use="optional" preferredLabel="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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_TypeOfArrangementAxis" order="0" priority="2" use="optional" preferredLabel="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="fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" 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_ProductsAndServicesDomain" xlink:to="fgen_ChinaPerformanceObligationMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_CashConsiderationReceivedUnderCollaborationAgreement" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_ProductOrServiceAxis" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesAndRestOfWorldMember" xlink:label="fgen_UnitedStatesAndRestOfWorldMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
          <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="fgen-20231231.xsd#fgen_SuppliesNet" xlink:label="fgen_SuppliesNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" order="0" priority="2" use="optional" preferredLabel="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_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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="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="fgen_UnitedStatesAndRestOfWorldMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_TypeOfArrangementAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_SuppliesNet" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail" xlink:title="presentationLink" xlink:type="extended">
          <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_LicenseMember" xlink:label="us-gaap_LicenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseAgreementWithEluminexMember" xlink:label="fgen_LicenseAgreementWithEluminexMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <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="fgen-20231231.xsd#fgen_OtherRevenuePatentTransferMember" xlink:label="fgen_OtherRevenuePatentTransferMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DevelopmentAndOtherRevenueMember" xlink:label="fgen_DevelopmentAndOtherRevenueMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_LicenseMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_LicenseAgreementWithEluminexMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_ProductOrServiceAxis" order="0" priority="2" use="optional" preferredLabel="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="fgen_OtherRevenuePatentTransferMember" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" 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="fgen_DevelopmentAndOtherRevenueMember" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DirectSalesMember" xlink:label="fgen_DirectSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <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="fgen-20231231.xsd#fgen_PriceAdjustmentMember" xlink:label="fgen_PriceAdjustmentMember"/>
          <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="fgen-20231231.xsd#fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax" xlink:label="fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SalesToFalikangMember" xlink:label="fgen_SalesToFalikangMember"/>
          <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_1"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NonKeyAccountHospitalListingAwardMember" xlink:label="fgen_NonKeyAccountHospitalListingAwardMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractualSalesRebateMember" xlink:label="fgen_ContractualSalesRebateMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax" xlink:label="fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherDiscountsAndRebatesMember" xlink:label="fgen_OtherDiscountsAndRebatesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DiscountsAndRebatesMember" xlink:label="fgen_DiscountsAndRebatesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesReturnsAndAllowancesMember" xlink:label="us-gaap_SalesReturnsAndAllowancesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProfitShareMember" xlink:label="fgen_ProfitShareMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NetTransferPriceMember" xlink:label="fgen_NetTransferPriceMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseInDeferredRevenueMember" xlink:label="fgen_IncreaseInDeferredRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInDeferredRevenueMember" xlink:label="fgen_IncreaseDecreaseInDeferredRevenueMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_DirectSalesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.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_ProductOrServiceAxis" order="0" priority="2" use="optional" preferredLabel="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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_PriceAdjustmentMember" order="0" priority="2" use="optional" preferredLabel="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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_SalesToFalikangMember" 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_TypeOfArrangementAxis" 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_ProductMember_1" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_NonKeyAccountHospitalListingAwardMember" 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_RevenueFromContractWithCustomerExcludingAssessedTax" 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="us-gaap_ValuationAllowancesAndReservesTypeAxis" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_ContractualSalesRebateMember" 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_DisaggregationOfRevenueLineItems" xlink:to="fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax" 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_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_OtherDiscountsAndRebatesMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DiscountsAndRebatesMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_SalesReturnsAndAllowancesMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_ProfitShareMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_NetTransferPriceMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_IncreaseInDeferredRevenueMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_IncreaseDecreaseInDeferredRevenueMember" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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_EquityMethodInvestmentNonconsolidatedInvesteeAxis" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BeijingFalikangPharmaceuticalCoLtdMember" xlink:label="fgen_BeijingFalikangPharmaceuticalCoLtdMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <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="fgen-20231231.xsd#fgen_ContractualSalesRebateMember" xlink:label="fgen_ContractualSalesRebateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract"/>
          <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/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_GrossAccountsReceivableMember" xlink:label="fgen_GrossAccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DiscountsAndRebatesMember" xlink:label="fgen_DiscountsAndRebatesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractLiabilitiesMember" xlink:label="fgen_ContractLiabilitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DiscountsAndRebatesCurrentMember" xlink:label="fgen_DiscountsAndRebatesCurrentMember"/>
          <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="fgen-20231231.xsd#fgen_NonKeyAccountHospitalListingAwardMember" xlink:label="fgen_NonKeyAccountHospitalListingAwardMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RebatesAndDiscountsMember" xlink:label="fgen_RebatesAndDiscountsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration" xlink:label="fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredForFutureRecognitionMember" xlink:label="fgen_DeferredForFutureRecognitionMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" order="0" priority="2" use="optional" preferredLabel="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_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_EquityMethodInvestmentNonconsolidatedInvesteeAxis" xlink:to="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain" xlink:to="fgen_BeijingFalikangPharmaceuticalCoLtdMember" order="0" priority="2" use="optional" preferredLabel="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_CN" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" order="0" priority="2" use="optional" preferredLabel="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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="fgen_ContractualSalesRebateMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiability" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" order="0" priority="2" use="optional" preferredLabel="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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="fgen_GrossAccountsReceivableMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DiscountsAndRebatesMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_BalanceSheetLocationAxis" 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="fgen_ContractLiabilitiesMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DiscountsAndRebatesCurrentMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_NonKeyAccountHospitalListingAwardMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_StatementGeographicalAxis" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_RebatesAndDiscountsMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_ProductOrServiceAxis" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DeferredForFutureRecognitionMember" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DirectSalesMember" xlink:label="fgen_DirectSalesMember"/>
          <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_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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <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="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityTable" xlink:label="fgen_ContractWithCustomerLiabilityTable"/>
          <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="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityLineItems" xlink:label="fgen_ContractWithCustomerLiabilityLineItems"/>
          <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="fgen-20231231.xsd#fgen_ContractLiabilitiesMember" xlink:label="fgen_ContractLiabilitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasJapanAgreementMember" xlink:label="fgen_AstellasJapanAgreementMember"/>
          <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="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityAdditions" xlink:label="fgen_ContractWithCustomerLiabilityAdditions"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityDeduction" xlink:label="fgen_ContractWithCustomerLiabilityDeduction"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasAgreementMember" xlink:label="fgen_AstellasAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther" xlink:label="fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability" xlink:label="fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability"/>
          <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_6"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset" xlink:label="fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_DirectSalesMember" order="0" priority="2" use="optional" preferredLabel="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_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_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="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_JP" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueAbstract" xlink:to="fgen_ContractWithCustomerLiabilityTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ContractWithCustomerLiabilityTable" xlink:to="srt_ProductOrServiceAxis" order="0" priority="2" use="optional" preferredLabel="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="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" 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="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_ContractLiabilitiesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasJapanAgreementMember" 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="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="fgen_ContractWithCustomerLiabilityTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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="fgen_DrugProductRevenueMember" 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="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="fgen_ContractWithCustomerLiabilityAdditions" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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="country_US" 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="fgen_ContractWithCustomerLiabilityTable" xlink:to="us-gaap_BalanceSheetLocationAxis" 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="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="fgen_ContractWithCustomerLiabilityDeduction" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasAgreementMember" 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="fgen_ContractWithCustomerLiabilityTable" xlink:to="srt_StatementGeographicalAxis" 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="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther" 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="fgen_ContractWithCustomerLiabilityTable" xlink:to="fgen_ContractWithCustomerLiabilityLineItems" 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="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" 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="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability" 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="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="us-gaap_ContractWithCustomerLiability_6" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasAgreementMember" xlink:label="fgen_AstellasAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasAgreementMember" order="0" priority="2" use="optional" preferredLabel="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_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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="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_JP" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DrugProductRevenueMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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="country_US" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasAgreementMember" xlink:label="fgen_AstellasAgreementMember"/>
          <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_TransactionDomain" xlink:label="us-gaap_TransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_APIShipmentMember" xlink:label="fgen_APIShipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <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_RoyaltyMember" xlink:label="us-gaap_RoyaltyMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransactionTypeAxis" xlink:label="us-gaap_TransactionTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <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="fgen-20231231.xsd#fgen_AstellasEuropeAgreementMember" xlink:label="fgen_AstellasEuropeAgreementMember"/>
          <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="fgen-20231231.xsd#fgen_BulkDrugProductMember" xlink:label="fgen_BulkDrugProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ManufacturingCosts" xlink:label="us-gaap_ManufacturingCosts"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseAgreementWithEluminexMember" xlink:label="fgen_LicenseAgreementWithEluminexMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Supplies" xlink:label="us-gaap_Supplies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BilledContractReceivables" xlink:label="us-gaap_BilledContractReceivables"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrentAndNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments" xlink:label="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommercialMilestone" xlink:label="fgen_CommercialMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred" xlink:label="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred"/>
          <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:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasAgreementMember" 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_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_TransactionDomain" xlink:to="fgen_APIShipmentMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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="country_JP" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" order="0" priority="2" use="optional" preferredLabel="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="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DrugProductRevenueMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TransactionTypeAxis" xlink:to="us-gaap_TransactionDomain" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" order="0" priority="2" use="optional" preferredLabel="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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasEuropeAgreementMember" 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="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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_BulkDrugProductMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ManufacturingCosts" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_LicenseAgreementWithEluminexMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_Supplies" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_ProductOrServiceAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_BilledContractReceivables" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TransactionTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CommercialMilestone" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_EUSupplyAndAstellasAgreementMember" xlink:label="fgen_EUSupplyAndAstellasAgreementMember"/>
          <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_TransactionDomain" xlink:label="us-gaap_TransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_APIShipmentMember" xlink:label="fgen_APIShipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransactionTypeAxis" xlink:label="us-gaap_TransactionTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaMember" xlink:label="fgen_AstraZenecaMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BulkDrugProductMember" xlink:label="fgen_BulkDrugProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Supplies" xlink:label="us-gaap_Supplies"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_EUSupplyAndAstellasAgreementMember" order="0" priority="2" use="optional" preferredLabel="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_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_TransactionDomain" xlink:to="fgen_APIShipmentMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="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="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DrugProductRevenueMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TransactionTypeAxis" xlink:to="us-gaap_TransactionDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TransactionDomain" xlink:to="fgen_AstraZenecaMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_BulkDrugProductMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_Supplies" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TransactionTypeAxis" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_StatementGeographicalAxis" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail" 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/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_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_SeriesAPreferredStockMember" xlink:label="us-gaap_SeriesAPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputDiscountRateMember" xlink:label="us-gaap_MeasurementInputDiscountRateMember"/>
          <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_ValuationTechniqueDiscountedCashFlowMember" xlink:label="us-gaap_ValuationTechniqueDiscountedCashFlowMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherInvesteesMember" xlink:label="us-gaap_OtherInvesteesMember"/>
          <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_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis"/>
          <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="fgen-20231231.xsd#fgen_ThirdPartyShareholdersMember" xlink:label="fgen_ThirdPartyShareholdersMember"/>
          <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_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_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FortisTherapeuticsMember" xlink:label="fgen_FortisTherapeuticsMember"/>
          <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_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_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherInvestorsMember" xlink:label="fgen_OtherInvestorsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentToOptionsExercised" xlink:label="fgen_PaymentToOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProductDevelopmentCosts" xlink:label="fgen_ProductDevelopmentCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AlternativeInvestmentMeasurementInput" xlink:label="us-gaap_AlternativeInvestmentMeasurementInput"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets" xlink:label="fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets"/>
          <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="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_ClassOfStockDomain" xlink:to="us-gaap_SeriesAPreferredStockMember" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" 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="us-gaap_MeasurementInputDiscountRateMember" order="0" priority="2" use="optional" preferredLabel="http://www.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="us-gaap_ValuationTechniqueDiscountedCashFlowMember" order="0" priority="2" use="optional" preferredLabel="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_EquityMethodInvesteeNameDomain" xlink:to="us-gaap_OtherInvesteesMember" order="0" priority="2" use="optional" preferredLabel="http://www.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/label"/>
          <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_OwnershipDomain" xlink:to="fgen_ThirdPartyShareholdersMember" 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_BusinessCombinationConsiderationTransferred1" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_FortisTherapeuticsMember" order="0" priority="2" use="optional" preferredLabel="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_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_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_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_StatementClassOfStockAxis" 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_OwnershipDomain" xlink:to="fgen_OtherInvestorsMember" 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_BusinessAcquisitionLineItems" xlink:to="fgen_PaymentToOptionsExercised" 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="srt_OwnershipAxis" 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_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_BusinessAcquisitionLineItems" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities" 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="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" 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_BusinessAcquisitionLineItems" xlink:to="fgen_ProductDevelopmentCosts" 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_ValuationTechniqueAxis" 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_BusinessAcquisitionLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" 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_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_BusinessAcquisitionLineItems" xlink:to="us-gaap_AlternativeInvestmentMeasurementInput" 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_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionLineItems" 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="fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu" 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/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_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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract"/>
          <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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract"/>
          <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_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_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_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FortisTherapeuticsMember" xlink:label="fgen_FortisTherapeuticsMember"/>
          <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="fgen-20231231.xsd#fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities" xlink:label="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment" xlink:label="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment"/>
          <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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RedeemableNonControllingInterests" xlink:label="fgen_RedeemableNonControllingInterests"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonredeemableNoncontrollingInterest" xlink:label="us-gaap_NonredeemableNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LossOnAssetAcquisition" xlink:label="fgen_LossOnAssetAcquisition"/>
          <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="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_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" order="0" priority="2" use="optional" preferredLabel="http://www.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_BusinessCombinationConsiderationTransferred1" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_FortisTherapeuticsMember" order="0" priority="2" use="optional" preferredLabel="http://www.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_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionLineItems" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract" xlink:to="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract" xlink:to="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" 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_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" 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_BusinessAcquisitionLineItems" xlink:to="fgen_RedeemableNonControllingInterests" 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_NonredeemableNoncontrollingInterest" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" 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_BusinessAcquisitionLineItems" xlink:to="fgen_LossOnAssetAcquisition" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail" 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_EquityMethodInvestmentNonconsolidatedInvesteeAxis" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BeijingFalikangPharmaceuticalCoLtdMember" xlink:label="fgen_BeijingFalikangPharmaceuticalCoLtdMember"/>
          <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="fgen-20231231.xsd#fgen_FibroGenBeijingMember" xlink:label="fgen_FibroGenBeijingMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityAbstract" xlink:label="fgen_AcquisitionAndVariableInterestEntityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityTable" xlink:label="fgen_AcquisitionAndVariableInterestEntityTable"/>
          <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_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaABMember" xlink:label="fgen_AstraZenecaABMember"/>
          <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="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:label="fgen_AcquisitionAndVariableInterestEntityLineItems"/>
          <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="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="fgen-20231231.xsd#fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember" xlink:label="fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember"/>
          <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_InvestmentIncomeDividend" xlink:label="us-gaap_InvestmentIncomeDividend"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis" xlink:to="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain" xlink:to="fgen_BeijingFalikangPharmaceuticalCoLtdMember" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_FibroGenBeijingMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_AcquisitionAndVariableInterestEntityAbstract" xlink:to="fgen_AcquisitionAndVariableInterestEntityTable" order="0" priority="2" use="optional" preferredLabel="http://www.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="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="fgen_AstraZenecaABMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_AcquisitionAndVariableInterestEntityTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_AcquisitionAndVariableInterestEntityTable" xlink:to="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis" 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="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="us-gaap_InvestmentIncomeDividend" 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="fgen_AcquisitionAndVariableInterestEntityTable" 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="fgen_AcquisitionAndVariableInterestEntityTable" 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="fgen_AcquisitionAndVariableInterestEntityTable" xlink:to="fgen_AcquisitionAndVariableInterestEntityLineItems" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BeijingFalikangPharmaceuticalCoLtdMember" xlink:label="fgen_BeijingFalikangPharmaceuticalCoLtdMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityAbstract" xlink:label="fgen_AcquisitionAndVariableInterestEntityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityTable" xlink:label="fgen_AcquisitionAndVariableInterestEntityTable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:label="fgen_AcquisitionAndVariableInterestEntityLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeDividend" xlink:label="us-gaap_InvestmentIncomeDividend"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation" xlink:label="fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_5"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" 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_EquityMethodInvesteeNameDomain" xlink:to="fgen_BeijingFalikangPharmaceuticalCoLtdMember" 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="fgen_AcquisitionAndVariableInterestEntityAbstract" xlink:to="fgen_AcquisitionAndVariableInterestEntityTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_AcquisitionAndVariableInterestEntityTable" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" 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="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_AcquisitionAndVariableInterestEntityTable" xlink:to="fgen_AcquisitionAndVariableInterestEntityLineItems" 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="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="us-gaap_EquityMethodInvestments" 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="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments" 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="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="us-gaap_InvestmentIncomeDividend" 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="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation" 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="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="us-gaap_EquityMethodInvestments_5" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
          <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_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_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_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
          <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_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_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis"/>
          <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_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_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_CorporateBondSecuritiesMember" xlink:label="us-gaap_CorporateBondSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember" xlink:label="us-gaap_CommercialPaperMember"/>
          <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_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_USGovernmentBondsMember" xlink:label="fgen_USGovernmentBondsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AgencyBondsMember" xlink:label="fgen_AgencyBondsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="us-gaap_AssetBackedSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignGovernmentDebtMember" xlink:label="us-gaap_ForeignGovernmentDebtMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtSecuritiesMember" xlink:label="us-gaap_ConvertibleDebtSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ConvertiblePromissoryNoteMember" xlink:label="fgen_ConvertiblePromissoryNoteMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BondAndMutualFundsMember" xlink:label="fgen_BondAndMutualFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquitySecuritiesMember" xlink:label="us-gaap_EquitySecuritiesMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" 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_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" order="0" priority="2" use="optional" preferredLabel="http://www.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_CashAndCashEquivalentsFairValueDisclosure" order="0" priority="2" use="optional" preferredLabel="http://www.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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" 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/terseLabel"/>
          <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/terseLabel"/>
          <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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_CorporateBondSecuritiesMember" 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_AvailableForSaleSecuritiesDebtSecurities" 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_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel2Member" 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_FairValueByFairValueHierarchyLevelAxis" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_CommercialPaperMember" 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_AssetsFairValueDisclosure" 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_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel3Member" 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_FinancialInstrumentAxis" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="fgen_USGovernmentBondsMember" 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="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="fgen_AgencyBondsMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_AssetBackedSecuritiesMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_ForeignGovernmentDebtMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_ConvertibleDebtSecuritiesMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="fgen_ConvertiblePromissoryNoteMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="fgen_BondAndMutualFundsMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_EquitySecuritiesMember" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/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_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FairValueAssetsLevel1ToLevel2TransferAmount" xlink:label="fgen_FairValueAssetsLevel1ToLevel2TransferAmount"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FairValueAssetsLevel2ToLevel1TransferAmount" xlink:label="fgen_FairValueAssetsLevel2ToLevel1TransferAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="fgen_FairValueAssetsLevel1ToLevel2TransferAmount" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_FairValueAssetsLevel2ToLevel1TransferAmount" 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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3" 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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail" 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_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseTermOfContract1" xlink:label="us-gaap_LesseeFinanceLeaseTermOfContract1"/>
          <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="fgen-20231231.xsd#fgen_ShorensteinPropertiesLLCMember" xlink:label="fgen_ShorensteinPropertiesLLCMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LeaseAmendmentMember" xlink:label="fgen_LeaseAmendmentMember"/>
          <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_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_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_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_AccountingStandardsUpdate201901Member" xlink:label="us-gaap_AccountingStandardsUpdate201901Member"/>
          <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_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis"/>
          <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="fgen-20231231.xsd#fgen_OfficeSpacesMember" xlink:label="fgen_OfficeSpacesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LesseeFinanceLeaseExpirationPeriod" xlink:label="fgen_LesseeFinanceLeaseExpirationPeriod"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BeijingEconomicTechnologicalDevelopmentAreaMember" xlink:label="fgen_BeijingEconomicTechnologicalDevelopmentAreaMember"/>
          <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_OfficeEquipmentMember" xlink:label="us-gaap_OfficeEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm" xlink:label="fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod" xlink:label="fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate" xlink:label="fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend" xlink:label="us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseOptionToExtend" xlink:label="us-gaap_LesseeFinanceLeaseOptionToExtend"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NumberOfOptionalRightsToExtendLease" xlink:label="fgen_NumberOfOptionalRightsToExtendLease"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduledRentCommencementYearOptionOne" xlink:label="fgen_ScheduledRentCommencementYearOptionOne"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo" xlink:label="fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduledRentCommencementYearOptionTwo" xlink:label="fgen_ScheduledRentCommencementYearOptionTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability"/>
          <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="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_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LesseeOperatingLeaseExpirationPeriod" xlink:label="fgen_LesseeOperatingLeaseExpirationPeriod"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeFinanceLeaseTermOfContract1" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_ShorensteinPropertiesLLCMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="fgen_LeaseAmendmentMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" order="0" priority="2" use="optional" preferredLabel="http://www.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_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.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_AccountingStandardsUpdate201901Member" order="0" priority="2" use="optional" preferredLabel="http://www.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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain" order="0" priority="2" use="optional" preferredLabel="http://www.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_PropertyPlantAndEquipmentTypeDomain" xlink:to="fgen_OfficeSpacesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="fgen_LesseeFinanceLeaseExpirationPeriod" 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="fgen_BeijingEconomicTechnologicalDevelopmentAreaMember" 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_LesseeLeaseDescriptionTable" xlink:to="us-gaap_LeaseContractualTermAxis" 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_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_OfficeEquipmentMember" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm" 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_LesseeLeaseDescriptionTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod" 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_LesseeLeaseDescriptionTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate" 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_LesseeLeaseDescriptionTable" 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="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend" 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_LesseeLeaseDescriptionTable" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeFinanceLeaseOptionToExtend" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_NumberOfOptionalRightsToExtendLease" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_ScheduledRentCommencementYearOptionOne" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_ScheduledRentCommencementYearOptionTwo" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_FinanceLeaseLiability" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_OperatingLeaseLiability" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_OperatingLeasePayments" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_LesseeOperatingLeaseExpirationPeriod" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail" 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="fgen-20231231.xsd#fgen_FinanceLeaseRightOfUseAssetsCost" xlink:label="fgen_FinanceLeaseRightOfUseAssetsCost"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FinanceLeaseAccumulatedAmortization" xlink:label="fgen_FinanceLeaseAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OperatingLeaseRightOfUseAssetsCost" xlink:label="fgen_OperatingLeaseRightOfUseAssetsCost"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OperatingLeaseAccumulatedAmortization" xlink:label="fgen_OperatingLeaseAccumulatedAmortization"/>
          <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="fgen-20231231.xsd#fgen_FinanceLeaseAndOperatingLeaseAssets" xlink:label="fgen_FinanceLeaseAndOperatingLeaseAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList"/>
          <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_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList"/>
          <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_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FinanceLeaseAndOperatingLeaseLiability" xlink:label="fgen_FinanceLeaseAndOperatingLeaseLiability"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="fgen_FinanceLeaseRightOfUseAssetsCost" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_FinanceLeaseAccumulatedAmortization" 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_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" 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="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" 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_LeasesAbstract" xlink:to="fgen_OperatingLeaseRightOfUseAssetsCost" 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="fgen_OperatingLeaseAccumulatedAmortization" 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_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" 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="fgen_FinanceLeaseAndOperatingLeaseAssets" 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_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" 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_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" 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="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="10" 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_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" 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_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent" order="12" 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_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" order="13" priority="2" use="optional" preferredLabel="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_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="14" 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_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" 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_LeasesAbstract" xlink:to="fgen_FinanceLeaseAndOperatingLeaseLiability" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail" 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_LeaseCostAbstract" xlink:label="us-gaap_LeaseCostAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization"/>
          <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_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense"/>
          <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_SubleaseIncome" xlink:label="us-gaap_SubleaseIncome"/>
          <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_LeaseCostAbstract" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization" 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_LeaseCostAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_FinanceLeaseInterestExpense" 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_LeaseCostAbstract" xlink:to="us-gaap_OperatingLeaseCost" 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_LeaseCostAbstract" xlink:to="us-gaap_SubleaseIncome" 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_LeaseCostAbstract" xlink:to="us-gaap_LeaseCost" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract" xlink:label="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfLeasesLineItems" xlink:label="fgen_ScheduleOfLeasesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract" xlink:label="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfLeasesTable" xlink:label="fgen_ScheduleOfLeasesTable"/>
          <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="fgen-20231231.xsd#fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:label="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset"/>
          <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_AccountingStandardsUpdate201901Member" xlink:label="us-gaap_AccountingStandardsUpdate201901Member"/>
          <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: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_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_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RepaymentsOfFinanceLeaseLiabilities" xlink:label="fgen_RepaymentsOfFinanceLeaseLiabilities"/>
          <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_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent"/>
          <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:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ScheduleOfLeasesLineItems" xlink:to="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ScheduleOfLeasesTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" 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_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate201901Member" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_ScheduleOfLeasesTable" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract" xlink:to="us-gaap_OperatingLeasePayments" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" 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="fgen_ScheduleOfLeasesLineItems" xlink:to="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract" 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="fgen_ScheduleOfLeasesTable" xlink:to="fgen_ScheduleOfLeasesLineItems" 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="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" 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="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability" 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="fgen_ScheduleOfLeasesLineItems" xlink:to="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" 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="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" 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="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract" xlink:to="fgen_RepaymentsOfFinanceLeaseLiabilities" 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="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" 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="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent" 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="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseTermAndDiscountRateDetail" 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="fgen-20231231.xsd#fgen_WeightedAverageRemainingLeaseTermAbstract" xlink:label="fgen_WeightedAverageRemainingLeaseTermAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_WeightedAverageDiscountRateAbstract" xlink:label="fgen_WeightedAverageDiscountRateAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1"/>
          <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_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="fgen_WeightedAverageRemainingLeaseTermAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_WeightedAverageDiscountRateAbstract" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_WeightedAverageRemainingLeaseTermAbstract" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_WeightedAverageDiscountRateAbstract" 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="fgen_WeightedAverageDiscountRateAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" 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="fgen_WeightedAverageRemainingLeaseTermAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail" 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_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract"/>
          <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_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_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths"/>
          <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_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo"/>
          <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_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree"/>
          <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_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour"/>
          <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_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive"/>
          <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_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive"/>
          <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_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue"/>
          <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_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount"/>
          <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_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0" priority="2" use="optional" preferredLabel="http://www.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_FinanceLeaseLiabilitiesPaymentsDueAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" 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_OperatingLeaseLiabilitiesPaymentsDueAbstract" 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_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" 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_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" 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_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" 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_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" 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_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" 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_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" 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_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" 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_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" 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_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" 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_OperatingLeaseLiabilitiesPaymentsDueAbstract" 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_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue" 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_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" 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_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" 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_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeaseLiability" 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_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiability" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail" 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_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract"/>
          <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_CommercialPaperAtCarryingValue" xlink:label="us-gaap_CommercialPaperAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="us-gaap_MoneyMarketFundsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USGovernmentSecuritiesAtCarryingValue" xlink:label="us-gaap_USGovernmentSecuritiesAtCarryingValue"/>
          <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:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_Cash" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_CommercialPaperAtCarryingValue" 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_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_MoneyMarketFundsAtCarryingValue" 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_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_USGovernmentSecuritiesAtCarryingValue" 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_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <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_DebtSecuritiesAvailableForSaleTable" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionAxis" xlink:label="us-gaap_GeographicDistributionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale" xlink:label="us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <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_ScheduleOfInvestmentsAbstract" xlink:label="us-gaap_ScheduleOfInvestmentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseAgreementWithEluminexMember" xlink:label="fgen_LicenseAgreementWithEluminexMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionDomain" xlink:label="us-gaap_GeographicDistributionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionForeignMember" xlink:label="us-gaap_GeographicDistributionForeignMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasJapanAgreementMember" xlink:label="fgen_AstellasJapanAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance" xlink:label="fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance"/>
          <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="fgen-20231231.xsd#fgen_AstellasEuropeAgreementMember" xlink:label="fgen_AstellasEuropeAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TransferPriceTrueUp" xlink:label="fgen_TransferPriceTrueUp"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_HiFiBiOAgreementsMember" xlink:label="fgen_HiFiBiOAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SuppliesNet" xlink:label="fgen_SuppliesNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyReceivableCurrent" xlink:label="us-gaap_LossContingencyReceivableCurrent"/>
          <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="fgen-20231231.xsd#fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent" xlink:label="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquiredInProcessResearchAndDevelopmentAsset" xlink:label="fgen_AcquiredInProcessResearchAndDevelopmentAsset"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedLitigationSettlement" xlink:label="fgen_AccruedLitigationSettlement"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent" xlink:label="us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent"/>
          <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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRestructuring" xlink:label="us-gaap_PaymentsForRestructuring"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedRestructuringCharges" xlink:label="fgen_AccruedRestructuringCharges"/>
          <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:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" order="0" priority="2" use="optional" preferredLabel="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_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_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_GeographicDistributionAxis" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="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_ScheduleOfInvestmentsAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTable" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_LicenseAgreementWithEluminexMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GeographicDistributionDomain" xlink:to="us-gaap_GeographicDistributionForeignMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GeographicDistributionAxis" xlink:to="us-gaap_GeographicDistributionDomain" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasJapanAgreementMember" 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_DebtSecuritiesAvailableForSaleTable" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasEuropeAgreementMember" 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_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_TransferPriceTrueUp" 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="country_CN" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_HiFiBiOAgreementsMember" 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_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_SuppliesNet" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_LossContingencyReceivableCurrent" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_Depreciation" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_AcquiredInProcessResearchAndDevelopmentAsset" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_AccruedLitigationSettlement" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_RestructuringCharges" 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="us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_PaymentsForRestructuring" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_AccruedRestructuringCharges" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail" 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_DebtSecuritiesAvailableForSaleTable" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="us-gaap_CorporateBondSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:label="us-gaap_AccruedLiabilitiesCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember" xlink:label="us-gaap_CommercialPaperMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasuryAndGovernmentMember" xlink:label="us-gaap_USTreasuryAndGovernmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BondsMember" xlink:label="us-gaap_BondsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="us-gaap_AssetBackedSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignGovernmentDebtMember" xlink:label="us-gaap_ForeignGovernmentDebtMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ConvertiblePromissoryNoteMember" xlink:label="fgen_ConvertiblePromissoryNoteMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BondAndMutualFundsMember" xlink:label="fgen_BondAndMutualFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquitySecuritiesMember" xlink:label="us-gaap_EquitySecuritiesMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_FinancialInstrumentAxis" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_CorporateBondSecuritiesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" 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_AccruedLiabilitiesCurrentAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTable" 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_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_CommercialPaperMember" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_USTreasuryAndGovernmentMember" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_BondsMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_AssetBackedSecuritiesMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_ForeignGovernmentDebtMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="fgen_ConvertiblePromissoryNoteMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="fgen_BondAndMutualFundsMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_EquitySecuritiesMember" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim" 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:label="us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable"/>
          <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_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:label="us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract"/>
          <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_CorporateBondSecuritiesMember" xlink:label="us-gaap_CorporateBondSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasuryAndGovernmentMember" xlink:label="us-gaap_USTreasuryAndGovernmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BondsMember" xlink:label="us-gaap_BondsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="us-gaap_AssetBackedSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignGovernmentDebtMember" xlink:label="us-gaap_ForeignGovernmentDebtMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable" 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_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable" 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_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_CorporateBondSecuritiesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" 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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable" xlink:to="us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" 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_InvestmentTypeCategorizationMember" xlink:to="us-gaap_USTreasuryAndGovernmentMember" 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" 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_InvestmentTypeCategorizationMember" xlink:to="us-gaap_BondsMember" 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" 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_InvestmentTypeCategorizationMember" xlink:to="us-gaap_AssetBackedSecuritiesMember" 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" 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_InvestmentTypeCategorizationMember" xlink:to="us-gaap_ForeignGovernmentDebtMember" 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail" 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_ScheduleOfInvestmentsAbstract" xlink:label="us-gaap_ScheduleOfInvestmentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials" xlink:label="us-gaap_InventoryRawMaterials"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess" xlink:label="us-gaap_InventoryWorkInProcess"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods"/>
          <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_ScheduleOfInvestmentsAbstract" xlink:to="us-gaap_InventoryRawMaterials" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsAbstract" xlink:to="us-gaap_InventoryWorkInProcess" 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_ScheduleOfInvestmentsAbstract" xlink:to="us-gaap_InventoryFinishedGoods" 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_ScheduleOfInvestmentsAbstract" 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail" 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_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Supplies" xlink:label="us-gaap_Supplies"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredRevenuesFromAssociatedContracts" xlink:label="fgen_DeferredRevenuesFromAssociatedContracts"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SuppliesNet" xlink:label="fgen_SuppliesNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyReceivableCurrent" xlink:label="us-gaap_LossContingencyReceivableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="us-gaap_PrepaidExpenseCurrent"/>
          <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="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="us-gaap_Supplies" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="fgen_DeferredRevenuesFromAssociatedContracts" 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_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="fgen_SuppliesNet" 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_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="us-gaap_LossContingencyReceivableCurrent" 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_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseCurrent" 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_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="us-gaap_OtherAssetsCurrent" 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_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail" 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_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_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_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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LaboratoryEquipmentMember" xlink:label="fgen_LaboratoryEquipmentMember"/>
          <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_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember"/>
          <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_PropertyPlantAndEquipmentGross" order="0" priority="2" use="optional" preferredLabel="http://www.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/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="0" priority="2" use="optional" preferredLabel="http://www.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_PropertyPlantAndEquipmentByTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" 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_PropertyPlantAndEquipmentTypeDomain" xlink:to="fgen_LaboratoryEquipmentMember" 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_PropertyPlantAndEquipmentNet" 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_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" 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_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ComputerEquipmentMember" 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_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" 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_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ConstructionInProgressMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail" 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_AccruedLiabilitiesCurrentAbstract" xlink:label="us-gaap_AccruedLiabilitiesCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedPreclinicalAndClinicalTrialCurrent" xlink:label="fgen_AccruedPreclinicalAndClinicalTrialCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent" xlink:label="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LitigationSettlementCurrent" xlink:label="fgen_LitigationSettlementCurrent"/>
          <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="fgen-20231231.xsd#fgen_AccruedCoPromotionExpensesCurrent" xlink:label="fgen_AccruedCoPromotionExpensesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedProfitShareCurrent" xlink:label="fgen_AccruedProfitShareCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PropertyTaxesAndOtherCurrent" xlink:label="fgen_PropertyTaxesAndOtherCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedRestructuringChargeCurrent" xlink:label="fgen_AccruedRestructuringChargeCurrent"/>
          <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="us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:to="fgen_AccruedPreclinicalAndClinicalTrialCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:to="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent" 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_AccruedLiabilitiesCurrentAbstract" xlink:to="fgen_LitigationSettlementCurrent" 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_AccruedLiabilitiesCurrentAbstract" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" 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_AccruedLiabilitiesCurrentAbstract" xlink:to="fgen_AccruedCoPromotionExpensesCurrent" 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_AccruedLiabilitiesCurrentAbstract" xlink:to="fgen_AccruedProfitShareCurrent" 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_AccruedLiabilitiesCurrentAbstract" xlink:to="fgen_PropertyTaxesAndOtherCurrent" 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_AccruedLiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedProfessionalFeesCurrent" 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_AccruedLiabilitiesCurrentAbstract" xlink:to="fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent" 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_AccruedLiabilitiesCurrentAbstract" xlink:to="fgen_AccruedRestructuringChargeCurrent" 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_AccruedLiabilitiesCurrentAbstract" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" 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_AccruedLiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrent" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfOtherLongTermLiabilitiesDetail" xlink:title="presentationLink" xlink:type="extended"/>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasAgreementMember" xlink:label="fgen_AstellasAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateDomain" xlink:label="us-gaap_AwardDateDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember" xlink:label="fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <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/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="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <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="fgen-20231231.xsd#fgen_RevenueInterestFinancingAgreementMember" xlink:label="fgen_RevenueInterestFinancingAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RegulatoryMilestonesMember" xlink:label="fgen_RegulatoryMilestonesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FutureRevenueGranted" xlink:label="fgen_FutureRevenueGranted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract"/>
          <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="fgen-20231231.xsd#fgen_NovaquestCapitalManagementMember" xlink:label="fgen_NovaquestCapitalManagementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateAxis" xlink:label="us-gaap_AwardDateAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember" xlink:label="fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember"/>
          <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="fgen-20231231.xsd#fgen_OtherRevenueMember" xlink:label="fgen_OtherRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DevelopmentRevenueMember" xlink:label="fgen_DevelopmentRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfRoyaltyPaymentOnGlobalNetSales" xlink:label="fgen_PercentageOfRoyaltyPaymentOnGlobalNetSales"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember" xlink:label="fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MilestonePaymentsMember" xlink:label="fgen_MilestonePaymentsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfRevenueInterestOnGlobalNetSales" xlink:label="fgen_PercentageOfRevenueInterestOnGlobalNetSales"/>
          <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="fgen-20231231.xsd#fgen_PaymentPeriodOneMember" xlink:label="fgen_PaymentPeriodOneMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LicenseMember" xlink:label="us-gaap_LicenseMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfRevenueSold" xlink:label="fgen_PercentageOfRevenueSold"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentPeriodTwoMember" xlink:label="fgen_PaymentPeriodTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DevelopmentAndOtherRevenueMember" xlink:label="fgen_DevelopmentAndOtherRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ReceivedFromSaleOfRevenue" xlink:label="fgen_ReceivedFromSaleOfRevenue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentCapDateInTwoThousandThirtyOneMember" xlink:label="fgen_PaymentCapDateInTwoThousandThirtyOneMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_GrossProceedsReceivedFromSaleOfRevenue" xlink:label="fgen_GrossProceedsReceivedFromSaleOfRevenue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PrepaymentAmount" xlink:label="fgen_PrepaymentAmount"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MaximumPaymentCapAmount" xlink:label="fgen_MaximumPaymentCapAmount"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenueInterestPayment" xlink:label="fgen_RevenueInterestPayment"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" xlink:label="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues" xlink:label="fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NonCashInterestExpenseRelatedToDrugProductRevenue" xlink:label="fgen_NonCashInterestExpenseRelatedToDrugProductRevenue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenuePaymentCapAmount" xlink:label="fgen_RevenuePaymentCapAmount"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasAgreementMember" 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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_AwardDateDomain" xlink:to="fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" 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="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DrugProductRevenueMember" 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_DebtInstrumentNameDomain" xlink:to="fgen_RevenueInterestFinancingAgreementMember" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_RegulatoryMilestonesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_FutureRevenueGranted" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="fgen_NovaquestCapitalManagementMember" 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_AwardDateAxis" xlink:to="us-gaap_AwardDateDomain" 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_AwardDateDomain" xlink:to="fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember" 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="srt_ProductsAndServicesDomain" xlink:to="fgen_OtherRevenueMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DevelopmentRevenueMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PercentageOfRoyaltyPaymentOnGlobalNetSales" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_AwardDateDomain" xlink:to="fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember" 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_ProductsAndServicesDomain" xlink:to="fgen_MilestonePaymentsMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PercentageOfRevenueInterestOnGlobalNetSales" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_AwardDateDomain" xlink:to="fgen_PaymentPeriodOneMember" 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="srt_ProductsAndServicesDomain" xlink:to="us-gaap_LicenseMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PercentageOfRevenueSold" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_CounterpartyNameAxis" 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_AwardDateDomain" xlink:to="fgen_PaymentPeriodTwoMember" 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="srt_ProductsAndServicesDomain" xlink:to="fgen_DevelopmentAndOtherRevenueMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ReceivedFromSaleOfRevenue" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_AwardDateAxis" 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_AwardDateDomain" xlink:to="fgen_PaymentCapDateInTwoThousandThirtyOneMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_GrossProceedsReceivedFromSaleOfRevenue" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_DebtInstrumentAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PrepaymentAmount" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_MaximumPaymentCapAmount" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_RevenueInterestPayment" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" order="9" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_NonCashInterestExpenseRelatedToDrugProductRevenue" order="12" priority="2" use="optional" preferredLabel="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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_RevenuePaymentCapAmount" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRevenues" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_GrossProceedsFromSaleOfFutureRevenues" xlink:label="fgen_GrossProceedsFromSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_InitialIssuanceCostsRelatedToSaleOfFutureRevenues" xlink:label="fgen_InitialIssuanceCostsRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TransactionCostsRelatedToSaleOfFutureRevenues" xlink:label="fgen_TransactionCostsRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NoncashInterestExpenseRelatedToSaleOfFutureRevenue" xlink:label="fgen_NoncashInterestExpenseRelatedToSaleOfFutureRevenue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues" xlink:label="fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRevenues" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenues_6"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfRevenueCurrent" xlink:label="fgen_LiabilityRelatedToSaleOfRevenueCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent" xlink:label="fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_LiabilityRelatedToSaleOfFutureRevenues" 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="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_GrossProceedsFromSaleOfFutureRevenues" 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="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_InitialIssuanceCostsRelatedToSaleOfFutureRevenues" 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="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_TransactionCostsRelatedToSaleOfFutureRevenues" 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="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_NoncashInterestExpenseRelatedToSaleOfFutureRevenue" 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="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues" 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="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_LiabilityRelatedToSaleOfFutureRevenues_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="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_LiabilityRelatedToSaleOfRevenueCurrent" 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="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail" 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_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis"/>
          <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_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_InitialTermLoanMember" xlink:label="fgen_InitialTermLoanMember"/>
          <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="fgen-20231231.xsd#fgen_DebtFinancingAgreementMember" xlink:label="fgen_DebtFinancingAgreementMember"/>
          <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_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_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DelayedDrawTermLoanMember" xlink:label="fgen_DelayedDrawTermLoanMember"/>
          <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="fgen-20231231.xsd#fgen_DelayedDrawTermLoanTwoMember" xlink:label="fgen_DelayedDrawTermLoanTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RepaymentDescription" xlink:label="fgen_RepaymentDescription"/>
          <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_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_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts" xlink:label="fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DebtInstrumentAccruedInterest" xlink:label="fgen_DebtInstrumentAccruedInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt" xlink:label="us-gaap_InterestExpenseDebt"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts" xlink:label="fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_LongtermDebtTypeAxis" 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_LongtermDebtTypeDomain" xlink:to="fgen_InitialTermLoanMember" 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_DebtInstrumentNameDomain" xlink:to="fgen_DebtFinancingAgreementMember" 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_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebt" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" 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_DebtInstrumentTable" 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_LongtermDebtTypeDomain" xlink:to="fgen_DelayedDrawTermLoanMember" 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_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateDuringPeriod" 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="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_LongtermDebtTypeDomain" xlink:to="fgen_DelayedDrawTermLoanTwoMember" 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="fgen_RepaymentDescription" 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_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentLineItems" 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_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" 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_DeferredFinanceCostsNet" 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="us-gaap_DebtInstrumentMaturityDate" 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="fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts" 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="fgen_DebtInstrumentAccruedInterest" 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_InterestExpenseDebt" 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_DebtInstrumentLineItems" xlink:to="fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail" 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_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis"/>
          <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_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SeniorSecuredTermLoanFacilitiesMember" xlink:label="fgen_SeniorSecuredTermLoanFacilitiesMember"/>
          <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="fgen-20231231.xsd#fgen_UnamortizedIssuanceCostsAndTransactionCosts" xlink:label="fgen_UnamortizedIssuanceCostsAndTransactionCosts"/>
          <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="fgen-20231231.xsd#fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities" xlink:label="fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_LongtermDebtTypeAxis" 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_LongtermDebtTypeDomain" xlink:to="fgen_SeniorSecuredTermLoanFacilitiesMember" 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_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" 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_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" 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_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_DebtInstrumentLineItems" xlink:to="fgen_UnamortizedIssuanceCostsAndTransactionCosts" 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_LongTermDebt" 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_DebtInstrumentLineItems" xlink:to="fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities" 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="us-gaap_SecuredLongTermDebt" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRoyaltiesScheduleOfRevenuePaymentCapMaturityDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenuePaymentCapAmountDueNextTwelveMonths" xlink:label="fgen_RevenuePaymentCapAmountDueNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenuePaymentCapAmountDueInYearTwo" xlink:label="fgen_RevenuePaymentCapAmountDueInYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenuePaymentCapAmountDueInYearThree" xlink:label="fgen_RevenuePaymentCapAmountDueInYearThree"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenuePaymentCapAmountDueInYearFour" xlink:label="fgen_RevenuePaymentCapAmountDueInYearFour"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenuePaymentCapAmountDueInYearFive" xlink:label="fgen_RevenuePaymentCapAmountDueInYearFive"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenuePaymentCapAmountDueAfterYearFive" xlink:label="fgen_RevenuePaymentCapAmountDueAfterYearFive"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenuePaymentCapAmount" xlink:label="fgen_RevenuePaymentCapAmount"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_RevenuePaymentCapAmountDueNextTwelveMonths" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_RevenuePaymentCapAmountDueInYearTwo" 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="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_RevenuePaymentCapAmountDueInYearThree" 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="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_RevenuePaymentCapAmountDueInYearFour" 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="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_RevenuePaymentCapAmountDueInYearFive" 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="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_RevenuePaymentCapAmountDueAfterYearFive" 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="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" xlink:to="fgen_RevenuePaymentCapAmount" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail" 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/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_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_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NumberOfProductDevelopmentObligations" xlink:label="fgen_NumberOfProductDevelopmentObligations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BankOfFinlandInterestRateMember" xlink:label="fgen_BankOfFinlandInterestRateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis"/>
          <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_LoansReceivableBasisSpreadOnVariableRate" xlink:label="us-gaap_LoansReceivableBasisSpreadOnVariableRate"/>
          <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="fgen-20231231.xsd#fgen_AccruedProductDevelopmentCostsExcludingInterest" xlink:label="fgen_AccruedProductDevelopmentCostsExcludingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPayableCurrentAndNoncurrent" xlink:label="us-gaap_InterestPayableCurrentAndNoncurrent"/>
          <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/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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="fgen_NumberOfProductDevelopmentObligations" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateDomain" xlink:to="fgen_BankOfFinlandInterestRateMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" order="0" priority="2" use="optional" preferredLabel="http://www.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_VariableRateAxis" 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_DebtInstrumentLineItems" xlink:to="us-gaap_LoansReceivableBasisSpreadOnVariableRate" 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_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_DebtInstrumentInterestRateStatedPercentage" 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="fgen_AccruedProductDevelopmentCostsExcludingInterest" 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="us-gaap_InterestPayableCurrentAndNoncurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail" 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_UnconditionalPurchaseObligationsExcludingCapitalStockRedemptionsAbstract" xlink:label="us-gaap_UnconditionalPurchaseObligationsExcludingCapitalStockRedemptionsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligationTable" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligationLineItems" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear"/>
          <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="fgen-20231231.xsd#fgen_ManufactureAndSupplyOfPamrevlumabMember" xlink:label="fgen_ManufactureAndSupplyOfPamrevlumabMember"/>
          <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_RecordedUnconditionalPurchaseObligationDueInSecondYear" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ManufactureAndSupplyOfRoxadustatMember" xlink:label="fgen_ManufactureAndSupplyOfRoxadustatMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligation" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligation"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherPurchasesAndProgramsMember" xlink:label="fgen_OtherPurchasesAndProgramsMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_UnconditionalPurchaseObligationsExcludingCapitalStockRedemptionsAbstract" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RecordedUnconditionalPurchaseObligationLineItems" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:to="fgen_ManufactureAndSupplyOfPamrevlumabMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RecordedUnconditionalPurchaseObligationTable" xlink:to="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RecordedUnconditionalPurchaseObligationLineItems" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear" 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_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:to="fgen_ManufactureAndSupplyOfRoxadustatMember" 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_RecordedUnconditionalPurchaseObligationTable" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationLineItems" 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_RecordedUnconditionalPurchaseObligationLineItems" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligation" 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_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:to="fgen_OtherPurchasesAndProgramsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommitmentsAndContingenciesLineItems" xlink:label="fgen_CommitmentsAndContingenciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OperatingAndFinanceLeasePaymentObligations" xlink:label="fgen_OperatingAndFinanceLeasePaymentObligations"/>
          <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="fgen-20231231.xsd#fgen_CommitmentsAndContingenciesTable" xlink:label="fgen_CommitmentsAndContingenciesTable"/>
          <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"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember" xlink:label="fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MaximumFutureMilestonePayments" xlink:label="fgen_MaximumFutureMilestonePayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNewClaimsFiledNumber" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_CommitmentsAndContingenciesLineItems" xlink:to="fgen_OperatingAndFinanceLeasePaymentObligations" 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_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="fgen_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="fgen_CommitmentsAndContingenciesTable" xlink:to="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:to="fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_CommitmentsAndContingenciesLineItems" xlink:to="fgen_MaximumFutureMilestonePayments" 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="fgen_CommitmentsAndContingenciesTable" xlink:to="fgen_CommitmentsAndContingenciesLineItems" 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="fgen_CommitmentsAndContingenciesLineItems" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber" 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="fgen_CommitmentsAndContingenciesLineItems" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationCommonStockAdditionalInformationDetail" 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_CommonStockVotingRights" xlink:label="us-gaap_CommonStockVotingRights"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_CommonStockVotingRights" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail" 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_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
          <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_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
          <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="fgen-20231231.xsd#fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:label="fgen_ShareholdersEquityAndStockBasedCompensationAbstract"/>
          <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_EmployeeStockMember" xlink:label="us-gaap_EmployeeStockMember"/>
          <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="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_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommonStockSharesReserved" xlink:label="fgen_CommonStockSharesReserved"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" 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="fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:to="us-gaap_ScheduleOfStockByClassTable" order="0" priority="2" use="optional" preferredLabel="http://www.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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_EmployeeStockMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_ClassOfStockLineItems" 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_ClassOfStockLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" 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_ClassOfStockLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" 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_ClassOfStockLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" 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_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" 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_ClassOfStockLineItems" xlink:to="fgen_CommonStockSharesReserved" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:label="fgen_ShareholdersEquityAndStockBasedCompensationAbstract"/>
          <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_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_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_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_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_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_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_WeightedAverageOfferingPricesPerShare" xlink:label="fgen_WeightedAverageOfferingPricesPerShare"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AtmProgramMember" xlink:label="fgen_AtmProgramMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues" order="0" priority="2" use="optional" preferredLabel="http://www.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/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" 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_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" 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="fgen_WeightedAverageOfferingPricesPerShare" 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="fgen_AtmProgramMember" order="4.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail" 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_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="fgen-20231231.xsd#fgen_TwoThousandAndFiveStockPlanMember" xlink:label="fgen_TwoThousandAndFiveStockPlanMember"/>
          <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="fgen-20231231.xsd#fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:label="fgen_ShareholdersEquityAndStockBasedCompensationAbstract"/>
          <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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
          <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_VestingAxis" xlink:label="us-gaap_VestingAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TwoThousandAndFourteenEquityIncentivePlanMember" xlink:label="fgen_TwoThousandAndFourteenEquityIncentivePlanMember"/>
          <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/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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PerformanceBasedRestrictedStockAwardsMember" xlink:label="fgen_PerformanceBasedRestrictedStockAwardsMember"/>
          <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="fgen-20231231.xsd#fgen_TotalShareholderReturnAwardsMember" xlink:label="fgen_TotalShareholderReturnAwardsMember"/>
          <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="fgen-20231231.xsd#fgen_RsusPrsusAndTsrAwardsMember" xlink:label="fgen_RsusPrsusAndTsrAwardsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum"/>
          <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_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_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" xlink:label="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings"/>
          <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_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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares"/>
          <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="fgen_TwoThousandAndFiveStockPlanMember" order="0" priority="2" use="optional" preferredLabel="http://www.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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ShareholdersEquityAndStockBasedCompensationAbstract" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="0" priority="2" use="optional" preferredLabel="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/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_PlanNameAxis" order="0" priority="2" use="optional" preferredLabel="http://www.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_PlanNameDomain" xlink:to="fgen_TwoThousandAndFourteenEquityIncentivePlanMember" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" 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_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_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate" 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_VestingAxis" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights" 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_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" 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="fgen_PerformanceBasedRestrictedStockAwardsMember" 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_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" 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="fgen_TotalShareholderReturnAwardsMember" 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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" 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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="fgen_RsusPrsusAndTsrAwardsMember" 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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" order="10" 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_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="12" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail" 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_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear" xlink:label="fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod"/>
          <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_5"/>
          <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/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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
          <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_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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice"/>
          <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_13"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
          <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_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_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_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_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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" order="8" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_13" order="13" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" order="21" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:label="fgen_ShareholdersEquityAndStockBasedCompensationAbstract"/>
          <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_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_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_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_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_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_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_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_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"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember" xlink:label="fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember"/>
          <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_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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_9"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ShareholdersEquityAndStockBasedCompensationAbstract" 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_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" 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_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" 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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" 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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember" 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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_9" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail" 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_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember" xlink:label="fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember"/>
          <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="fgen-20231231.xsd#fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:label="fgen_ShareholdersEquityAndStockBasedCompensationAbstract"/>
          <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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
          <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember" order="0" priority="2" use="optional" preferredLabel="http://www.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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ShareholdersEquityAndStockBasedCompensationAbstract" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate" order="0" priority="2" use="optional" preferredLabel="http://www.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_PlanNameAxis" order="0" priority="2" use="optional" preferredLabel="http://www.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_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" 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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:label="fgen_ShareholdersEquityAndStockBasedCompensationAbstract"/>
          <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_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_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_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense"/>
          <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_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:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ShareholdersEquityAndStockBasedCompensationAbstract" 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_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_IncomeStatementLocationAxis" order="0" priority="2" use="optional" preferredLabel="http://www.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_AllocatedShareBasedCompensationExpense" order="0" priority="2" use="optional" preferredLabel="http://www.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_ResearchAndDevelopmentExpenseMember" order="0" priority="2" use="optional" preferredLabel="http://www.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="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_SellingGeneralAndAdministrativeExpensesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:label="fgen_ShareholdersEquityAndStockBasedCompensationAbstract"/>
          <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_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
          <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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum"/>
          <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
          <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_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_StockCompensationPlanMember" xlink:label="us-gaap_StockCompensationPlanMember"/>
          <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: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:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ShareholdersEquityAndStockBasedCompensationAbstract" 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_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="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" 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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" 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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" 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_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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" 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_StockCompensationPlanMember" 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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:label="fgen_ShareholdersEquityAndStockBasedCompensationAbstract"/>
          <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_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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
          <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_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_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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_StockOptionAwardsMember" xlink:label="fgen_StockOptionAwardsMember"/>
          <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="fgen-20231231.xsd#fgen_RsusPrsusAndTsrAwardsMember" xlink:label="fgen_RsusPrsusAndTsrAwardsMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ShareholdersEquityAndStockBasedCompensationAbstract" 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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" order="0" priority="2" use="optional" preferredLabel="http://www.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" 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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" 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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="fgen_StockOptionAwardsMember" 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_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="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="fgen_RsusPrsusAndTsrAwardsMember" order="6.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationWarrantsAdditionalInformationDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:label="fgen_ShareholdersEquityAndStockBasedCompensationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ClassOfWarrantOrRightNumberOfWarrantsOrRightsExercisedDuringPeriod" xlink:label="fgen_ClassOfWarrantOrRightNumberOfWarrantsOrRightsExercisedDuringPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:to="fgen_ClassOfWarrantOrRightNumberOfWarrantsOrRightsExercisedDuringPeriod" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:to="us-gaap_ClassOfWarrantOrRightOutstanding" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:label="fgen_ShareholdersEquityAndStockBasedCompensationAbstract"/>
          <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_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/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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
          <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum"/>
          <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TotalShareholderReturnAwardsMember" xlink:label="fgen_TotalShareholderReturnAwardsMember"/>
          <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: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:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" 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_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="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" 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/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/label"/>
          <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="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" 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="fgen_TotalShareholderReturnAwardsMember" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail" 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_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
          <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_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
          <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_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_SeriesAPreferredStockMember" xlink:label="us-gaap_SeriesAPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:label="fgen_ShareholdersEquityAndStockBasedCompensationAbstract"/>
          <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="fgen-20231231.xsd#fgen_FibrogenEuropeOyMember" xlink:label="fgen_FibrogenEuropeOyMember"/>
          <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_IPOMember" xlink:label="us-gaap_IPOMember"/>
          <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_PreferredStockRedemptionTerms" xlink:label="us-gaap_PreferredStockRedemptionTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesBPreferredStockMember" xlink:label="us-gaap_SeriesBPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FibroGenCaymanMember" xlink:label="fgen_FibroGenCaymanMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares" xlink:label="fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesCPreferredStockMember" xlink:label="us-gaap_SeriesCPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockVotingRights" xlink:label="us-gaap_PreferredStockVotingRights"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesDPreferredStockMember" xlink:label="us-gaap_SeriesDPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion" xlink:label="us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesEPreferredStockMember" xlink:label="us-gaap_SeriesEPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PreferredSharesIssuedPricePerShare" xlink:label="fgen_PreferredSharesIssuedPricePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesFPreferredStockMember" xlink:label="us-gaap_SeriesFPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockDividendRatePercentage" xlink:label="us-gaap_PreferredStockDividendRatePercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesGPreferredStockMember" xlink:label="us-gaap_SeriesGPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebt" xlink:label="us-gaap_ConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesHPreferredStockMember" xlink:label="us-gaap_SeriesHPreferredStockMember"/>
          <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_LongTermDebtContingentPaymentOfPrincipalOrInterest" xlink:label="us-gaap_LongTermDebtContingentPaymentOfPrincipalOrInterest"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable" 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_ClassOfStockLineItems" xlink:to="us-gaap_PreferredStockSharesOutstanding" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_SeriesAPreferredStockMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fgen_ShareholdersEquityAndStockBasedCompensationAbstract" xlink:to="us-gaap_ScheduleOfStockByClassTable" order="0" priority="2" use="optional" preferredLabel="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_EntityDomain" xlink:to="fgen_FibrogenEuropeOyMember" order="0" priority="2" use="optional" preferredLabel="http://www.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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_IPOMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_StatementClassOfStockAxis" 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_ClassOfStockLineItems" xlink:to="us-gaap_PreferredStockRedemptionTerms" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesBPreferredStockMember" 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_EntityDomain" xlink:to="fgen_FibroGenCaymanMember" 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_ScheduleOfStockByClassTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" 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_ClassOfStockLineItems" xlink:to="fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesCPreferredStockMember" 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_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" 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="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_ScheduleOfStockByClassTable" xlink:to="us-gaap_ClassOfStockLineItems" 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_ClassOfStockLineItems" xlink:to="us-gaap_PreferredStockVotingRights" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesDPreferredStockMember" 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_ClassOfStockLineItems" xlink:to="us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesEPreferredStockMember" 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_ClassOfStockLineItems" xlink:to="fgen_PreferredSharesIssuedPricePerShare" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesFPreferredStockMember" 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_ClassOfStockLineItems" xlink:to="us-gaap_PreferredStockDividendRatePercentage" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesGPreferredStockMember" 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_ClassOfStockLineItems" xlink:to="us-gaap_ConvertibleDebt" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesHPreferredStockMember" 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_ClassOfStockLineItems" xlink:to="us-gaap_DerivativeFixedInterestRate" 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_ClassOfStockLineItems" xlink:to="us-gaap_LongTermDebtContingentPaymentOfPrincipalOrInterest" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail" 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_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
          <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_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain"/>
          <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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
          <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="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="fgen-20231231.xsd#fgen_RsusPrsusAndTsrAwardsMember" xlink:label="fgen_RsusPrsusAndTsrAwardsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockMember" xlink:label="us-gaap_EmployeeStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantMember" xlink:label="us-gaap_WarrantMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" order="0" priority="2" use="optional" preferredLabel="http://www.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_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" 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_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" 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_AntidilutiveSecuritiesNameDomain" xlink:to="fgen_RsusPrsusAndTsrAwardsMember" 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_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_EmployeeStockMember" 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_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_WarrantMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesComponentsOfLossBeforeIncomeTaxesDetail" 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_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
          <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: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:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" 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_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" 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="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail" 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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit"/>
          <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_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit"/>
          <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_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_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" order="0" priority="2" use="optional" preferredLabel="http://www.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_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" 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_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" 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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" 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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" 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_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit" 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_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" 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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" 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_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail" 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_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_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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost" xlink:label="fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted" xlink:label="fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted"/>
          <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_EffectiveIncomeTaxRateReconciliationDeductions" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationDeductions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent"/>
          <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="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" 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_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="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost" 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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted" 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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" 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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationDeductions" 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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" 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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" 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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract"/>
          <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_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_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses" xlink:label="fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses"/>
          <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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredTaxAssetsIntangibleAssets" xlink:label="fgen_DeferredTaxAssetsIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther"/>
          <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:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredTaxLiabilitiesFixedAssets" xlink:label="fgen_DeferredTaxLiabilitiesFixedAssets"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses" xlink:label="fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther"/>
          <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_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsDeferredIncome" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="fgen_DeferredTaxAssetsIntangibleAssets" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsOther" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsGross" order="10" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsNet" order="12" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="fgen_DeferredTaxLiabilitiesFixedAssets" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesOther" order="15" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilities" order="16" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail" 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/stpr/2023/stpr-2023.xsd#stpr_CA" xlink:label="stpr_CA"/>
          <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="fgen-20231231.xsd#fgen_IncomeTaxesTable" xlink:label="fgen_IncomeTaxesTable"/>
          <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/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_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_ForeignCountryMember" xlink:label="us-gaap_ForeignCountryMember"/>
          <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="fgen-20231231.xsd#fgen_IncomeTaxesLineItems" xlink:label="fgen_IncomeTaxesLineItems"/>
          <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_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <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_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_DeferredTaxAssetIntraEntityTransferAssetOtherThanInventory" xlink:label="us-gaap_DeferredTaxAssetIntraEntityTransferAssetOtherThanInventory"/>
          <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="fgen-20231231.xsd#fgen_ExpirationYearTwoThousandTwentySixMember" xlink:label="fgen_ExpirationYearTwoThousandTwentySixMember"/>
          <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="fgen-20231231.xsd#fgen_OperatingLossCarryforwardsExpirationYear" xlink:label="fgen_OperatingLossCarryforwardsExpirationYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsOther" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsOther"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherTaxCreditCarryforwardsExpirationYear" xlink:label="fgen_OtherTaxCreditCarryforwardsExpirationYear"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ExperienceHistoricalOwnershipChanges" xlink:label="fgen_ExperienceHistoricalOwnershipChanges"/>
          <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_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued"/>
          <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_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible"/>
          <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="fgen-20231231.xsd#fgen_CorporateAlternativeMinimumTaxPercentage" xlink:label="fgen_CorporateAlternativeMinimumTaxPercentage"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfExciseTaxOnStockBuyback" xlink:label="fgen_PercentageOfExciseTaxOnStockBuyback"/>
          <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="stpr_CA" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_IncomeTaxesTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" order="0" priority="2" use="optional" preferredLabel="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_IncomeTaxAuthorityDomain" xlink:to="us-gaap_ForeignCountryMember" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <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_IncomeTaxDisclosureAbstract" xlink:to="fgen_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="fgen_IncomeTaxesTable" 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="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_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetIntraEntityTransferAssetOtherThanInventory" 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="fgen_IncomeTaxesTable" xlink:to="srt_StatementGeographicalAxis" 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="us-gaap_StateAndLocalJurisdictionMember" 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_TaxPeriodDomain" xlink:to="fgen_ExpirationYearTwoThousandTwentySixMember" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" 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="fgen_IncomeTaxesTable" xlink:to="us-gaap_TaxPeriodAxis" 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="fgen_IncomeTaxesLineItems" xlink:to="fgen_OperatingLossCarryforwardsExpirationYear" 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="fgen_IncomeTaxesTable" xlink:to="fgen_IncomeTaxesLineItems" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsOther" 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="fgen_IncomeTaxesLineItems" xlink:to="fgen_OtherTaxCreditCarryforwardsExpirationYear" 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="fgen_IncomeTaxesLineItems" xlink:to="fgen_ExperienceHistoricalOwnershipChanges" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_OpenTaxYear" 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="fgen_IncomeTaxesLineItems" xlink:to="fgen_CorporateAlternativeMinimumTaxPercentage" 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="fgen_IncomeTaxesLineItems" xlink:to="fgen_PercentageOfExciseTaxOnStockBuyback" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail" 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_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FederalAndStateMember" xlink:label="fgen_FederalAndStateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems"/>
          <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_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable"/>
          <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_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_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions"/>
          <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="fgen-20231231.xsd#fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation" xlink:label="fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation"/>
          <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_5"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="fgen_FederalAndStateMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems" 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_IncomeTaxContingencyTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <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_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxContingencyTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" 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_IncomeTaxContingencyTable" xlink:to="us-gaap_IncomeTaxContingencyLineItems" 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_IncomeTaxContingencyLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" 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_IncomeTaxContingencyLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" 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_IncomeTaxContingencyLineItems" xlink:to="fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation" 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_IncomeTaxContingencyLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits_5" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementMember" xlink:label="us-gaap_CollaborativeArrangementMember"/>
          <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_TransactionDomain" xlink:label="us-gaap_TransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_APIShipmentMember" xlink:label="fgen_APIShipmentMember"/>
          <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_Revenues" xlink:label="us-gaap_Revenues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <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="fgen-20231231.xsd#fgen_AstellasMember" xlink:label="fgen_AstellasMember"/>
          <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_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseAndDevelopmentMember" xlink:label="fgen_LicenseAndDevelopmentMember"/>
          <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_TransactionTypeAxis" xlink:label="us-gaap_TransactionTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenueFromRelatedParty" xlink:label="fgen_DrugProductRevenueFromRelatedParty"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FalikangMember" xlink:label="fgen_FalikangMember"/>
          <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_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_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_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableInterestEntityOwnershipPercentage" xlink:label="us-gaap_VariableInterestEntityOwnershipPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeDividend" xlink:label="us-gaap_InvestmentIncomeDividend"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MiscellaneousReceivables" xlink:label="fgen_MiscellaneousReceivables"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="us-gaap_CollaborativeArrangementMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <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_TransactionDomain" xlink:to="fgen_APIShipmentMember" order="0" priority="2" use="optional" preferredLabel="http://www.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_Revenues" 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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="http://www.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="fgen_AstellasMember" order="0" priority="2" use="optional" preferredLabel="http://www.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_ProductsAndServicesDomain" xlink:to="fgen_LicenseAndDevelopmentMember" order="0" priority="2" use="optional" preferredLabel="http://www.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_ProductOrServiceAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TransactionTypeAxis" xlink:to="us-gaap_TransactionDomain" order="0" priority="2" use="optional" preferredLabel="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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="fgen_DrugProductRevenueFromRelatedParty" 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="fgen_FalikangMember" 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_ProductMember" 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_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_TransactionTypeAxis" 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_AccountsReceivableNetCurrent" 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_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="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" 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_TypeOfArrangementAxis" 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_RelatedPartyTransactionLineItems" xlink:to="us-gaap_OtherLiabilities" 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_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionLineItems" 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_RelatedPartyTransactionLineItems" xlink:to="us-gaap_VariableInterestEntityOwnershipPercentage" 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_RelatedPartyTransactionLineItems" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments" 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_RelatedPartyTransactionLineItems" xlink:to="us-gaap_InvestmentIncomeDividend" 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_RelatedPartyTransactionLineItems" xlink:to="us-gaap_EquityMethodInvestments" 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_RelatedPartyTransactionLineItems" xlink:to="fgen_MiscellaneousReceivables" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail" 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_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RoxadustatDrugProductMember" xlink:label="fgen_RoxadustatDrugProductMember"/>
          <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/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_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_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments"/>
          <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_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_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_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_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="fgen_RoxadustatDrugProductMember" order="0" priority="2" use="optional" preferredLabel="http://www.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="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_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" priority="2" use="optional" preferredLabel="http://www.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_ConcentrationRiskByTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.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_NumberOfOperatingSegments" order="0" priority="2" use="optional" preferredLabel="http://www.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_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_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.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/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="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="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="us-gaap_ConcentrationRiskPercentage1" 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="srt_ProductOrServiceAxis" 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="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail" 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_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract" xlink:label="us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues"/>
          <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="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <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="fgen-20231231.xsd#fgen_AllOtherMember" xlink:label="fgen_AllOtherMember"/>
          <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_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_StatementGeographicalAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" order="0" priority="2" use="optional" preferredLabel="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_CN" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Revenues" 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_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_SegmentReportingInformationLineItems" 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="srt_SegmentGeographicalDomain" xlink:to="country_JP" 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="country_US" 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="srt_SegmentGeographicalDomain" xlink:to="fgen_AllOtherMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByGeographicAreaDetail" 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_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract" xlink:label="us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US"/>
          <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_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_StatementGeographicalAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" order="0" priority="2" use="optional" preferredLabel="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_CN" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_SegmentReportingInformationLineItems" 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="country_US" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByInventoryOwnershipDetail" 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_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract" xlink:label="us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OwnershipInUnitedStatesMember" xlink:label="fgen_OwnershipInUnitedStatesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OwnershipInChinaMember" xlink:label="fgen_OwnershipInChinaMember"/>
          <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_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_StatementGeographicalAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" order="0" priority="2" use="optional" preferredLabel="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="fgen_OwnershipInUnitedStatesMember" 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_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_SegmentReportingInformationLineItems" 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="fgen_OwnershipInChinaMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail" 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_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract" xlink:label="us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable"/>
          <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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems"/>
          <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.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <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_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" order="0" priority="2" use="optional" preferredLabel="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/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="srt_StatementGeographicalAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="0" priority="2" use="optional" preferredLabel="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_CN" 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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail" 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_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract" xlink:label="us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract"/>
          <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/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_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_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <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: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_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract" 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_SegmentGeographicalDomain" xlink:to="country_US" 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="srt_StatementGeographicalAxis" order="0" priority="2" use="optional" preferredLabel="http://www.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_FinanceLeaseRightOfUseAsset" 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_SegmentGeographicalDomain" xlink:to="country_CN" 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="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_OperatingLeaseRightOfUseAsset" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FalikangCollaborationAgreementMember" xlink:label="fgen_FalikangCollaborationAgreementMember"/>
          <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_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract" xlink:label="us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems"/>
          <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="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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <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="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_FalikangCollaborationAgreementMember" 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_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract" xlink:to="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0" priority="2" use="optional" preferredLabel="http://www.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="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_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" priority="2" use="optional" preferredLabel="http://www.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/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" 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_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" 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_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="us-gaap_EntityWideRevenueMajorCustomerLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SeniorSecuredLoanAgreementMember" xlink:label="fgen_SeniorSecuredLoanAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TermLoanMember" xlink:label="fgen_TermLoanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable"/>
          <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="fgen-20231231.xsd#fgen_InterestRateOptionOneMember" xlink:label="fgen_InterestRateOptionOneMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems"/>
          <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_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FortisTherapeuticsMember" xlink:label="fgen_FortisTherapeuticsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis"/>
          <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_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_InterestRateOptionTwoMember" xlink:label="fgen_InterestRateOptionTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DebtInstrumentInterestRatePayableCashStatedPercentage" xlink:label="fgen_DebtInstrumentInterestRatePayableCashStatedPercentage"/>
          <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="fgen-20231231.xsd#fgen_DebtInstrumentInterestRatePayableKindStatedPercentage" xlink:label="fgen_DebtInstrumentInterestRatePayableKindStatedPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionDescription" xlink:label="us-gaap_DebtInstrumentRedemptionDescription"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding" xlink:label="fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationPriceOfAcquisitionExpected" xlink:label="us-gaap_BusinessCombinationPriceOfAcquisitionExpected"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_SeniorSecuredLoanAgreementMember" 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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_LongtermDebtTypeDomain" xlink:to="fgen_TermLoanMember" 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_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventTable" 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="fgen_InterestRateOptionOneMember" 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_SubsequentEventLineItems" 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_BusinessAcquisitionAcquireeDomain" xlink:to="fgen_FortisTherapeuticsMember" 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_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" 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_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" 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_SubsequentEventTable" 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_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_DebtInstrumentNameDomain" xlink:to="fgen_InterestRateOptionTwoMember" 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_SubsequentEventLineItems" xlink:to="fgen_DebtInstrumentInterestRatePayableCashStatedPercentage" 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_SubsequentEventTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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_SubsequentEventLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" 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_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_SubsequentEventTable" xlink:to="us-gaap_LongtermDebtTypeAxis" 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_SubsequentEventLineItems" xlink:to="fgen_DebtInstrumentInterestRatePayableKindStatedPercentage" 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_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTypeAxis" 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_SubsequentEventLineItems" xlink:to="us-gaap_DebtInstrumentRedemptionDescription" 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_SubsequentEventTable" 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_SubsequentEventLineItems" xlink:to="fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding" 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_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventLineItems" 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_SubsequentEventLineItems" xlink:to="us-gaap_BusinessCombinationPriceOfAcquisitionExpected" 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_SubsequentEventLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsAbstract" xlink:label="srt_ValuationAndQualifyingAccountsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember" xlink:label="fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_4"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" order="0" priority="2" use="optional" preferredLabel="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_ValuationAndQualifyingAccountsAbstract" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" order="0" priority="2" use="optional" preferredLabel="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_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance" 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="srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureLineItems" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember" 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_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" 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_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" 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_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions" 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="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations">
          <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_OperatingCostsAndExpensesAbstract" xlink:label="us-gaap_OperatingCostsAndExpensesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract"/>
          <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/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_LicenseMember" xlink:label="us-gaap_LicenseMember"/>
          <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_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract"/>
          <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_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract"/>
          <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_TypeOfCostGoodOrServiceExtensibleList" xlink:label="us-gaap_TypeOfCostGoodOrServiceExtensibleList"/>
          <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="fgen-20231231.xsd#fgen_DevelopmentAndOtherRevenueMember" xlink:label="fgen_DevelopmentAndOtherRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <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_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_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_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet"/>
          <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="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <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_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges"/>
          <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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments"/>
          <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_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments"/>
          <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_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_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <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_OperatingCostsAndExpensesAbstract" xlink:to="us-gaap_CostOfRevenue" 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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" 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="srt_ProductsAndServicesDomain" xlink:to="us-gaap_LicenseMember" 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="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_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract" 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_NonoperatingIncomeExpenseAbstract" 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_OperatingCostsAndExpensesAbstract" xlink:to="us-gaap_TypeOfCostGoodOrServiceExtensibleList" 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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" 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="srt_ProductsAndServicesDomain" xlink:to="fgen_DevelopmentAndOtherRevenueMember" 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_RevenueFromContractWithCustomerExcludingAssessedTax" 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_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" 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_OperatingCostsAndExpensesAbstract" 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="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" 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_OperatingCostsAndExpensesAbstract" 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_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet" 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_OperatingCostsAndExpensesAbstract" 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="srt_ProductsAndServicesDomain" xlink:to="fgen_DrugProductRevenueMember" 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_OperatingIncomeLoss" 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_OperatingCostsAndExpensesAbstract" xlink:to="us-gaap_RestructuringCharges" 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_NonoperatingIncomeExpenseAbstract" 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_OperatingCostsAndExpensesAbstract" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" 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_IncomeTaxExpenseBenefit" 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_IncomeLossFromEquityMethodInvestments" 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_NetIncomeLoss" 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_EarningsPerShareBasic" 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_EarningsPerShareDiluted" 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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical">
          <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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_default"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseFeesAndMilestonesRevenue" xlink:label="fgen_LicenseFeesAndMilestonesRevenue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborationServicesAndOtherRevenue" xlink:label="fgen_CollaborationServicesAndOtherRevenue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProductRevenue" xlink:label="fgen_ProductRevenue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenueFromRelatedParty" xlink:label="fgen_DrugProductRevenueFromRelatedParty"/>
          <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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" 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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember_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_TypeOfArrangementAxis" 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="fgen_LicenseFeesAndMilestonesRevenue" 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="fgen_CollaborationServicesAndOtherRevenue" 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="fgen_ProductRevenue" 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="fgen_DrugProductRevenueFromRelatedParty" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit">
          <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_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_RedeemablePreferredStockMember" xlink:label="us-gaap_RedeemablePreferredStockMember"/>
          <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_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/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/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/>
          <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="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="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_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_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax"/>
          <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_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="fgen-20231231.xsd#fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" xlink:label="fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares" xlink:label="fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares"/>
          <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="fgen-20231231.xsd#fgen_WarrantsExercisedDuringPeriodValue" xlink:label="fgen_WarrantsExercisedDuringPeriodValue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_WarrantExercisedDuringPeriodShares" xlink:label="fgen_WarrantExercisedDuringPeriodShares"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ConversionOfSubsidiarysConvertibleNotePayable" xlink:label="fgen_ConversionOfSubsidiarysConvertibleNotePayable"/>
          <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_ClassOfStockDomain" xlink:to="us-gaap_RedeemablePreferredStockMember" 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="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/dimension-domain" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain" 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_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain_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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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_CumulativeEffectPeriodOfAdoptionDomain" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" 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_StatementClassOfStockAxis" 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="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="srt_CumulativeEffectPeriodOfAdoptionAxis" 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="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_StockIssuedDuringPeriodSharesAcquisitions" 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_EquityComponentDomain" xlink:to="us-gaap_NoncontrollingInterestMember" 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_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" 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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" 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_StockIssuedDuringPeriodValueNewIssues" 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_StockIssuedDuringPeriodSharesNewIssues" 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="fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" 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="fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares" 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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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="fgen_WarrantsExercisedDuringPeriodValue" 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="fgen_WarrantExercisedDuringPeriodShares" 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="fgen_ConversionOfSubsidiarysConvertibleNotePayable" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables">
          <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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <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="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerMilestoneMethodTableTextBlock" xlink:label="fgen_ContractWithCustomerMilestoneMethodTableTextBlock"/>
          <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_EuropeMember" xlink:label="srt_EuropeMember"/>
          <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="fgen-20231231.xsd#fgen_UnitedStatesRestOfWorldAndChinaMember" xlink:label="fgen_UnitedStatesRestOfWorldAndChinaMember"/>
          <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="fgen-20231231.xsd#fgen_ScheduleOfDrugProductRevenueTableTextBlock" xlink:label="fgen_ScheduleOfDrugProductRevenueTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock"/>
          <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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_JP" 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="fgen_DrugProductRevenueMember" 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="srt_StatementGeographicalAxis" 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="fgen_ContractWithCustomerMilestoneMethodTableTextBlock" 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="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_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_DisaggregationOfRevenueTableTextBlock" 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="fgen_UnitedStatesRestOfWorldAndChinaMember" 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_TypeOfArrangementAxis" 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_ContractWithCustomerAssetAndLiabilityTableTextBlock" 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="fgen_ScheduleOfDrugProductRevenueTableTextBlock" 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_DeferredRevenueByArrangementDisclosureTextBlock" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccountingPolicyLineItems" xlink:label="fgen_AccountingPolicyLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccountingPolicyTable" xlink:label="fgen_AccountingPolicyTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransactionDomain" xlink:label="us-gaap_TransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasAndAstraZenecaMember" xlink:label="fgen_AstellasAndAstraZenecaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember"/>
          <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/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_default"/>
          <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="fgen-20231231.xsd#fgen_RoxadustatDrugProductMember" xlink:label="fgen_RoxadustatDrugProductMember"/>
          <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="fgen-20231231.xsd#fgen_AccountsReceivableFromDistributorsMember" xlink:label="fgen_AccountsReceivableFromDistributorsMember"/>
          <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_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain_default"/>
          <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.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain"/>
          <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_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransactionTypeAxis" xlink:label="us-gaap_TransactionTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransactionDomain" xlink:label="us-gaap_TransactionDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionDomain" xlink:label="us-gaap_GeographicDistributionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionForeignMember" xlink:label="us-gaap_GeographicDistributionForeignMember"/>
          <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_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditConcentrationRiskMember" xlink:label="us-gaap_CreditConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionAxis" xlink:label="us-gaap_GeographicDistributionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionDomain" xlink:label="us-gaap_GeographicDistributionDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member" xlink:label="fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member"/>
          <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_default"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_HiFiBiOAgreementMember" xlink:label="fgen_HiFiBiOAgreementMember"/>
          <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_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax" xlink:label="us-gaap_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LaboratoryEquipmentMember" xlink:label="fgen_LaboratoryEquipmentMember"/>
          <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_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_HighlyLiquidInvestmentMaturityPeriod" xlink:label="fgen_HighlyLiquidInvestmentMaturityPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RestrictedTimeDepositsNoncurrent" xlink:label="fgen_RestrictedTimeDepositsNoncurrent"/>
          <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="fgen-20231231.xsd#fgen_ShortTermInvestmentsMaximumMaturityPeriod" xlink:label="fgen_ShortTermInvestmentsMaximumMaturityPeriod"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LongTermInvestmentsMinimumMaturityPeriod" xlink:label="fgen_LongTermInvestmentsMinimumMaturityPeriod"/>
          <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_ImpairmentOfLongLivedAssetsToBeDisposedOf" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetsFinitelived" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsFinitelived"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProfitSharePercent" xlink:label="fgen_ProfitSharePercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms" xlink:label="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DescriptionOfSalesReturn" xlink:label="fgen_DescriptionOfSalesReturn"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:label="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_InitialUpfrontPayment" xlink:label="fgen_InitialUpfrontPayment"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments" xlink:label="fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments"/>
          <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_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable" xlink:label="fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MaximumSalesMilestonesReceivable" xlink:label="fgen_MaximumSalesMilestonesReceivable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfTieredRoyaltiesReceivable" xlink:label="fgen_PercentageOfTieredRoyaltiesReceivable"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="fgen_AccountingPolicyLineItems" xlink:to="fgen_AccountingPolicyTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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="us-gaap_TransactionDomain" xlink:to="fgen_AstellasAndAstraZenecaMember" 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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_AccruedLiabilitiesMember" 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-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="srt_ProductsAndServicesDomain" xlink:to="fgen_RoxadustatDrugProductMember" 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="fgen_AccountsReceivableFromDistributorsMember" 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_InProcessResearchAndDevelopmentMember" 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_RestatementAxis" xlink:to="srt_RestatementDomain" 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_RestatementAxis" xlink:to="srt_RestatementDomain_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_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/dimension-domain" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_NumberOfOperatingSegments" 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_CumulativeEffectPeriodOfAdoptionDomain" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" 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_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" 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_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_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_TransactionTypeAxis" xlink:to="us-gaap_TransactionDomain" 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_TransactionTypeAxis" xlink:to="us-gaap_TransactionDomain_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_GeographicDistributionDomain" xlink:to="us-gaap_GeographicDistributionForeignMember" 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_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ComputerEquipmentMember" 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_CreditConcentrationRiskMember" 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_GeographicDistributionAxis" xlink:to="us-gaap_GeographicDistributionDomain" 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_GeographicDistributionAxis" xlink:to="us-gaap_GeographicDistributionDomain_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="fgen_AccountingPolicyTable" 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="srt_RestatementDomain" xlink:to="fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member" 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/domain-member" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_HiFiBiOAgreementMember" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax" 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="fgen_LaboratoryEquipmentMember" 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="fgen_AccountingPolicyTable" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" 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_MachineryAndEquipmentMember" 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="fgen_AccountingPolicyTable" xlink:to="srt_ProductOrServiceAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_HighlyLiquidInvestmentMaturityPeriod" 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="us-gaap_FurnitureAndFixturesMember" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_GeographicDistributionAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_RestrictedTimeDepositsNoncurrent" 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="fgen_AccountingPolicyTable" xlink:to="srt_RangeAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_ShortTermInvestmentsMaximumMaturityPeriod" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_LongTermInvestmentsMinimumMaturityPeriod" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_TransactionTypeAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_FinancialInstrumentAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf" 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="fgen_AccountingPolicyTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsFinitelived" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="fgen_AccountingPolicyTable" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_ProfitSharePercent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="fgen_AccountingPolicyTable" xlink:to="srt_RestatementAxis" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_DescriptionOfSalesReturn" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_InitialUpfrontPayment" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" 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="fgen_AccountingPolicyLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_MaximumSalesMilestonesReceivable" 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="fgen_AccountingPolicyLineItems" xlink:to="fgen_PercentageOfTieredRoyaltiesReceivable" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccountingPolicyLineItems" xlink:label="fgen_AccountingPolicyLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccountingPolicyTable" xlink:label="fgen_AccountingPolicyTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FalikangCollaborationAgreementMember" xlink:label="fgen_FalikangCollaborationAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <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_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_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_CreditConcentrationRiskMember" xlink:label="us-gaap_CreditConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="fgen_AccountingPolicyLineItems" xlink:to="fgen_AccountingPolicyTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_FalikangCollaborationAgreementMember" 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-domain" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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/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="fgen_AccountingPolicyLineItems" 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_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CreditConcentrationRiskMember" 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="fgen_AccountingPolicyTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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="fgen_AccountingPolicyTable" 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/hypercube-dimension" xlink:from="fgen_AccountingPolicyTable" xlink:to="us-gaap_TypeOfArrangementAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ClinicalDevelopmentMilestonesMember" xlink:label="fgen_ClinicalDevelopmentMilestonesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments" xlink:label="fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments"/>
          <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="fgen-20231231.xsd#fgen_RegulatoryMilestonesMember" xlink:label="fgen_RegulatoryMilestonesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PotentialMilestones" xlink:label="fgen_PotentialMilestones"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommercialSalesMilestone" xlink:label="fgen_CommercialSalesMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AdditionalConsiderationBasedOnNetSales" xlink:label="fgen_AdditionalConsiderationBasedOnNetSales"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TransactionPriceAllocatedToPerformanceObligations" xlink:label="fgen_TransactionPriceAllocatedToPerformanceObligations"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DevelopmentAndRegulatoryApprovalMilestones" xlink:label="fgen_DevelopmentAndRegulatoryApprovalMilestones"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfFundingForCosts" xlink:label="fgen_PercentageOfFundingForCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Supplies" xlink:label="us-gaap_Supplies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ManufacturingCosts" xlink:label="us-gaap_ManufacturingCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" xlink:label="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized"/>
          <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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" 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-domain" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_JP" 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_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" 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_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DrugProductRevenueMember" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain_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_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_ClinicalDevelopmentMilestonesMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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/domain-member" xlink:from="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_RegulatoryMilestonesMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PotentialMilestones" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_StatementGeographicalAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CommercialSalesMilestone" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_AdditionalConsiderationBasedOnNetSales" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_TransactionPriceAllocatedToPerformanceObligations" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_DevelopmentAndRegulatoryApprovalMilestones" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PercentageOfFundingForCosts" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_Supplies" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ManufacturingCosts" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputDiscountRateMember" xlink:label="us-gaap_MeasurementInputDiscountRateMember"/>
          <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_ValuationTechniqueDiscountedCashFlowMember" xlink:label="us-gaap_ValuationTechniqueDiscountedCashFlowMember"/>
          <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="fgen-20231231.xsd#fgen_ProceedsFromNonContingentUpfrontPayments" xlink:label="fgen_ProceedsFromNonContingentUpfrontPayments"/>
          <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/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember"/>
          <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="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone" xlink:label="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" xlink:label="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AlternativeInvestmentMeasurementInput" xlink:label="us-gaap_AlternativeInvestmentMeasurementInput"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod" xlink:label="fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProvisionForCoDevelopmentServices" xlink:label="fgen_ProvisionForCoDevelopmentServices"/>
          <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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" 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-domain" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_JP" 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="us-gaap_MeasurementInputDiscountRateMember" 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="us-gaap_ValuationTechniqueDiscountedCashFlowMember" 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/domain-member" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ProceedsFromNonContingentUpfrontPayments" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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="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/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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_StatementGeographicalAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_AlternativeInvestmentMeasurementInput" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_MeasurementInputTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationTechniqueAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ProvisionForCoDevelopmentServices" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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_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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesAndRestOfWorldMember" xlink:label="fgen_UnitedStatesAndRestOfWorldMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <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="fgen-20231231.xsd#fgen_FibroGenIncMember" xlink:label="fgen_FibroGenIncMember"/>
          <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="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ClinicalDevelopmentMilestonesMember" xlink:label="fgen_ClinicalDevelopmentMilestonesMember"/>
          <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_default"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments" xlink:label="fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments"/>
          <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="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_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedAndOtherCurrentLiabilitiesMember" xlink:label="fgen_AccruedAndOtherCurrentLiabilitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DirectSalesMember" xlink:label="fgen_DirectSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RegulatoryMilestonesMember" xlink:label="fgen_RegulatoryMilestonesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PotentialMilestones" xlink:label="fgen_PotentialMilestones"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredApprovalMilestoneMember" xlink:label="fgen_DeferredApprovalMilestoneMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommercialSalesMilestone" xlink:label="fgen_CommercialSalesMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SharedDevelopmentCosts" xlink:label="fgen_SharedDevelopmentCosts"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AdditionalConsiderationBasedOnNetSales" xlink:label="fgen_AdditionalConsiderationBasedOnNetSales"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TransactionPriceAllocatedToPerformanceObligations" xlink:label="fgen_TransactionPriceAllocatedToPerformanceObligations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments" xlink:label="fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommercialSalesAndOtherEventsMilestone" xlink:label="fgen_CommercialSalesAndOtherEventsMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsideration" xlink:label="fgen_CollaborativeArrangementAggregateConsideration"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ReversalOfAccruedCoPromotionExpenses" xlink:label="fgen_ReversalOfAccruedCoPromotionExpenses"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CoPromotionExpenses" xlink:label="fgen_CoPromotionExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent"/>
          <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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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-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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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="fgen_UnitedStatesAndRestOfWorldMember" 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_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" 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="dei_EntityDomain" xlink:to="fgen_FibroGenIncMember" 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/domain-member" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DrugProductRevenueMember" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_ClinicalDevelopmentMilestonesMember" 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="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments" 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/hypercube-dimension" xlink:from="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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_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/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="fgen_AccruedAndOtherCurrentLiabilitiesMember" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_DirectSalesMember" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_RegulatoryMilestonesMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PotentialMilestones" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_StatementGeographicalAxis" 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="country_CN" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_DeferredApprovalMilestoneMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CommercialSalesMilestone" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_SharedDevelopmentCosts" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="dei_LegalEntityAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_AdditionalConsiderationBasedOnNetSales" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_TransactionPriceAllocatedToPerformanceObligations" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_IncomeStatementLocationAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_BalanceSheetLocationAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_ProductOrServiceAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CommercialSalesAndOtherEventsMilestone" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CollaborativeArrangementAggregateConsideration" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ReversalOfAccruedCoPromotionExpenses" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CoPromotionExpenses" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesAndRestOfWorldAndChinaMember" xlink:label="fgen_UnitedStatesAndRestOfWorldAndChinaMember"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputDiscountRateMember" xlink:label="us-gaap_MeasurementInputDiscountRateMember"/>
          <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_ValuationTechniqueDiscountedCashFlowMember" xlink:label="us-gaap_ValuationTechniqueDiscountedCashFlowMember"/>
          <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="fgen-20231231.xsd#fgen_ProceedsFromNonContingentUpfrontPayments" xlink:label="fgen_ProceedsFromNonContingentUpfrontPayments"/>
          <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="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone" xlink:label="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" xlink:label="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_VariableConsiderationRelatedToProfitShare" xlink:label="fgen_VariableConsiderationRelatedToProfitShare"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RoyaltyRateOnNetRevenue" xlink:label="fgen_RoyaltyRateOnNetRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AlternativeInvestmentMeasurementInput" xlink:label="us-gaap_AlternativeInvestmentMeasurementInput"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear" xlink:label="fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear"/>
          <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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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-domain" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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="fgen_UnitedStatesAndRestOfWorldAndChinaMember" 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="us-gaap_MeasurementInputDiscountRateMember" 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="us-gaap_ValuationTechniqueDiscountedCashFlowMember" 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/domain-member" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ProceedsFromNonContingentUpfrontPayments" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_StatementGeographicalAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_MeasurementInputTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_VariableConsiderationRelatedToProfitShare" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationTechniqueAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_RoyaltyRateOnNetRevenue" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_AlternativeInvestmentMeasurementInput" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <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_CN" xlink:label="country_CN"/>
          <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="fgen-20231231.xsd#fgen_CorneaProductsMember" xlink:label="fgen_CorneaProductsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseAgreementWithEluminexMember" xlink:label="fgen_LicenseAgreementWithEluminexMember"/>
          <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_AccountingStandardsUpdate201409Member" xlink:label="us-gaap_AccountingStandardsUpdate201409Member"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments"/>
          <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/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_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="fgen-20231231.xsd#fgen_LicenseRevenueMember" xlink:label="fgen_LicenseRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BiosyntheticCorneaMember" xlink:label="fgen_BiosyntheticCorneaMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments" xlink:label="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DevelopmentAndOtherRevenueMember" xlink:label="fgen_DevelopmentAndOtherRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommercialMilestone" xlink:label="fgen_CommercialMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement" xlink:label="fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred" xlink:label="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAdditionalUpfrontPayments" xlink:label="fgen_CollaborativeArrangementAdditionalUpfrontPayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MilestonePayments" xlink:label="fgen_MilestonePayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ManufacturingRelatedMilestonePayments" xlink:label="fgen_ManufacturingRelatedMilestonePayments"/>
          <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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" 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_CN" 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="fgen_CorneaProductsMember" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_LicenseAgreementWithEluminexMember" 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_AccountingStandardsUpdate201409Member" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" 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="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-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/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="fgen_LicenseRevenueMember" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" 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="fgen_BiosyntheticCorneaMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments" 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="fgen_DevelopmentAndOtherRevenueMember" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_ProductOrServiceAxis" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_CommercialMilestone" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_StatementGeographicalAxis" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_CollaborativeArrangementAdditionalUpfrontPayments" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_MilestonePayments" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_ManufacturingRelatedMilestonePayments" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <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_LicenseMember" xlink:label="us-gaap_LicenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <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="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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="fgen-20231231.xsd#fgen_DevelopmentAndOtherRevenueMember" xlink:label="fgen_DevelopmentAndOtherRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesRestOfWorldAndChinaMember" xlink:label="fgen_UnitedStatesRestOfWorldAndChinaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" 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-domain" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_JP" 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_LicenseMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="fgen_DevelopmentAndOtherRevenueMember" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_ProductOrServiceAxis" 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="fgen_UnitedStatesRestOfWorldAndChinaMember" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_StatementGeographicalAxis" 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_SegmentGeographicalDomain" xlink:to="country_CN" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <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_LicenseMember" xlink:label="us-gaap_LicenseMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" xlink:label="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized"/>
          <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_EuropeMember" xlink:label="srt_EuropeMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DevelopmentAndOtherRevenueMember" xlink:label="fgen_DevelopmentAndOtherRevenueMember"/>
          <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="fgen-20231231.xsd#fgen_CashConsiderationReceivedUnderCollaborationAgreement" xlink:label="fgen_CashConsiderationReceivedUnderCollaborationAgreement"/>
          <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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" 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-domain" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_JP" 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_LicenseMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="fgen_DevelopmentAndOtherRevenueMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_StatementGeographicalAxis" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_CashConsiderationReceivedUnderCollaborationAgreement" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_ProductOrServiceAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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="fgen-20231231.xsd#fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" xlink:label="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesRestOfWorldAndChinaMember" xlink:label="fgen_UnitedStatesRestOfWorldAndChinaMember"/>
          <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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" 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-domain" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_JP" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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/domain-member" xlink:from="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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="fgen_UnitedStatesRestOfWorldAndChinaMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesRestOfWorldAndChinaMember" xlink:label="fgen_UnitedStatesRestOfWorldAndChinaMember"/>
          <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_LicenseMember" xlink:label="us-gaap_LicenseMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" xlink:label="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized"/>
          <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="fgen-20231231.xsd#fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember" xlink:label="fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember"/>
          <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="fgen-20231231.xsd#fgen_ChinaPerformanceObligationMember" xlink:label="fgen_ChinaPerformanceObligationMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CashConsiderationReceivedUnderCollaborationAgreement" xlink:label="fgen_CashConsiderationReceivedUnderCollaborationAgreement"/>
          <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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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-domain" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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="fgen_UnitedStatesRestOfWorldAndChinaMember" 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_LicenseMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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="fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_StatementGeographicalAxis" 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="fgen_ChinaPerformanceObligationMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_CashConsiderationReceivedUnderCollaborationAgreement" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_ProductOrServiceAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnitedStatesAndRestOfWorldMember" xlink:label="fgen_UnitedStatesAndRestOfWorldMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
          <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="fgen-20231231.xsd#fgen_SuppliesNet" xlink:label="fgen_SuppliesNet"/>
          <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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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-domain" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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="fgen_UnitedStatesAndRestOfWorldMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="srt_StatementGeographicalAxis" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="fgen_SuppliesNet" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:label="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable"/>
          <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_LicenseMember" xlink:label="us-gaap_LicenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseAgreementWithEluminexMember" xlink:label="fgen_LicenseAgreementWithEluminexMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <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="fgen-20231231.xsd#fgen_OtherRevenuePatentTransferMember" xlink:label="fgen_OtherRevenuePatentTransferMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DevelopmentAndOtherRevenueMember" xlink:label="fgen_DevelopmentAndOtherRevenueMember"/>
          <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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_RevenueRecognitionMultipleDeliverableArrangementsTable" 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_LicenseMember" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_LicenseAgreementWithEluminexMember" 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" 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="fgen_OtherRevenuePatentTransferMember" 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_RevenueRecognitionMultipleDeliverableArrangementsTable" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" 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="fgen_DevelopmentAndOtherRevenueMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail">
          <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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DirectSalesMember" xlink:label="fgen_DirectSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <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="fgen-20231231.xsd#fgen_PriceAdjustmentMember" xlink:label="fgen_PriceAdjustmentMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax" xlink:label="fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SalesToFalikangMember" xlink:label="fgen_SalesToFalikangMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NonKeyAccountHospitalListingAwardMember" xlink:label="fgen_NonKeyAccountHospitalListingAwardMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractualSalesRebateMember" xlink:label="fgen_ContractualSalesRebateMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax" xlink:label="fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherDiscountsAndRebatesMember" xlink:label="fgen_OtherDiscountsAndRebatesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DiscountsAndRebatesMember" xlink:label="fgen_DiscountsAndRebatesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesReturnsAndAllowancesMember" xlink:label="us-gaap_SalesReturnsAndAllowancesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProfitShareMember" xlink:label="fgen_ProfitShareMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NetTransferPriceMember" xlink:label="fgen_NetTransferPriceMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseInDeferredRevenueMember" xlink:label="fgen_IncreaseInDeferredRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInDeferredRevenueMember" xlink:label="fgen_IncreaseDecreaseInDeferredRevenueMember"/>
          <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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_DirectSalesMember" 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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" 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/domain-member" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="fgen_PriceAdjustmentMember" 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="fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_SalesToFalikangMember" 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_TypeOfArrangementAxis" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_NonKeyAccountHospitalListingAwardMember" 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_RevenueFromContractWithCustomerExcludingAssessedTax" 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="us-gaap_ValuationAllowancesAndReservesTypeAxis" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_ContractualSalesRebateMember" 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_DisaggregationOfRevenueLineItems" xlink:to="fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_OtherDiscountsAndRebatesMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DiscountsAndRebatesMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_SalesReturnsAndAllowancesMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_ProfitShareMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_NetTransferPriceMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_IncreaseInDeferredRevenueMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_IncreaseDecreaseInDeferredRevenueMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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_EquityMethodInvestmentNonconsolidatedInvesteeAxis" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain_default"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BeijingFalikangPharmaceuticalCoLtdMember" xlink:label="fgen_BeijingFalikangPharmaceuticalCoLtdMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <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="fgen-20231231.xsd#fgen_ContractualSalesRebateMember" xlink:label="fgen_ContractualSalesRebateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract"/>
          <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/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_GrossAccountsReceivableMember" xlink:label="fgen_GrossAccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DiscountsAndRebatesMember" xlink:label="fgen_DiscountsAndRebatesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractLiabilitiesMember" xlink:label="fgen_ContractLiabilitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DiscountsAndRebatesCurrentMember" xlink:label="fgen_DiscountsAndRebatesCurrentMember"/>
          <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="fgen-20231231.xsd#fgen_NonKeyAccountHospitalListingAwardMember" xlink:label="fgen_NonKeyAccountHospitalListingAwardMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RebatesAndDiscountsMember" xlink:label="fgen_RebatesAndDiscountsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration" xlink:label="fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredForFutureRecognitionMember" xlink:label="fgen_DeferredForFutureRecognitionMember"/>
          <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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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-domain" xlink:from="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis" xlink:to="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain" 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_EquityMethodInvestmentNonconsolidatedInvesteeAxis" xlink:to="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain_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_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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_EquityMethodInvestmentNonconsolidatedInvesteeDomain" xlink:to="fgen_BeijingFalikangPharmaceuticalCoLtdMember" 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_CN" 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_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" 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/domain-member" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="fgen_ContractualSalesRebateMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_ContractWithCustomerLiabilityAbstract" 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/hypercube-dimension" xlink:from="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" 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_BalanceSheetLocationDomain" xlink:to="fgen_GrossAccountsReceivableMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DiscountsAndRebatesMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_BalanceSheetLocationAxis" 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="fgen_ContractLiabilitiesMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DiscountsAndRebatesCurrentMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_NonKeyAccountHospitalListingAwardMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_StatementGeographicalAxis" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_RebatesAndDiscountsMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_ProductOrServiceAxis" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DeferredForFutureRecognitionMember" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityLineItems" xlink:label="fgen_ContractWithCustomerLiabilityLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityTable" xlink:label="fgen_ContractWithCustomerLiabilityTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DirectSalesMember" xlink:label="fgen_DirectSalesMember"/>
          <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_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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <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_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractLiabilitiesMember" xlink:label="fgen_ContractLiabilitiesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasJapanAgreementMember" xlink:label="fgen_AstellasJapanAgreementMember"/>
          <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="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityAdditions" xlink:label="fgen_ContractWithCustomerLiabilityAdditions"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityDeduction" xlink:label="fgen_ContractWithCustomerLiabilityDeduction"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasAgreementMember" xlink:label="fgen_AstellasAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther" xlink:label="fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability" xlink:label="fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset" xlink:label="fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="fgen_ContractWithCustomerLiabilityTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_DirectSalesMember" 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-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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_JP" 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="fgen_ContractWithCustomerLiabilityTable" 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/domain-member" xlink:from="fgen_ContractWithCustomerLiabilityLineItems" 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/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_BalanceSheetLocationDomain" xlink:to="fgen_ContractLiabilitiesMember" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasJapanAgreementMember" 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="fgen_ContractWithCustomerLiabilityTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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="fgen_DrugProductRevenueMember" 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="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="fgen_ContractWithCustomerLiabilityAdditions" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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="country_US" 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="fgen_ContractWithCustomerLiabilityTable" xlink:to="us-gaap_BalanceSheetLocationAxis" 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="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="fgen_ContractWithCustomerLiabilityDeduction" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasAgreementMember" 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="fgen_ContractWithCustomerLiabilityTable" xlink:to="srt_StatementGeographicalAxis" 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="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther" 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="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" 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="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability" 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="fgen_ContractWithCustomerLiabilityLineItems" xlink:to="fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasAgreementMember" xlink:label="fgen_AstellasAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US"/>
          <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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasAgreementMember" 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-domain" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_JP" 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_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DrugProductRevenueMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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="country_US" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasAgreementMember" xlink:label="fgen_AstellasAgreementMember"/>
          <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_TransactionDomain" xlink:label="us-gaap_TransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_APIShipmentMember" xlink:label="fgen_APIShipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <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_RoyaltyMember" xlink:label="us-gaap_RoyaltyMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransactionTypeAxis" xlink:label="us-gaap_TransactionTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <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="fgen-20231231.xsd#fgen_AstellasEuropeAgreementMember" xlink:label="fgen_AstellasEuropeAgreementMember"/>
          <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="fgen-20231231.xsd#fgen_BulkDrugProductMember" xlink:label="fgen_BulkDrugProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ManufacturingCosts" xlink:label="us-gaap_ManufacturingCosts"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseAgreementWithEluminexMember" xlink:label="fgen_LicenseAgreementWithEluminexMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Supplies" xlink:label="us-gaap_Supplies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BilledContractReceivables" xlink:label="us-gaap_BilledContractReceivables"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrentAndNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments" xlink:label="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommercialMilestone" xlink:label="fgen_CommercialMilestone"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred" xlink:label="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred"/>
          <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: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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasAgreementMember" 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="us-gaap_TransactionDomain" xlink:to="fgen_APIShipmentMember" 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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_JP" 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_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" 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_RoyaltyMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DrugProductRevenueMember" 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_TransactionTypeAxis" xlink:to="us-gaap_TransactionDomain" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" 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="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasEuropeAgreementMember" 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/domain-member" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="fgen_BulkDrugProductMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_StatementGeographicalAxis" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ManufacturingCosts" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_LicenseAgreementWithEluminexMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_Supplies" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_ProductOrServiceAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_BilledContractReceivables" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TransactionTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_CommercialMilestone" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_EUSupplyAndAstellasAgreementMember" xlink:label="fgen_EUSupplyAndAstellasAgreementMember"/>
          <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_TransactionDomain" xlink:label="us-gaap_TransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_APIShipmentMember" xlink:label="fgen_APIShipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransactionTypeAxis" xlink:label="us-gaap_TransactionTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaMember" xlink:label="fgen_AstraZenecaMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BulkDrugProductMember" xlink:label="fgen_BulkDrugProductMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Supplies" xlink:label="us-gaap_Supplies"/>
          <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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_EUSupplyAndAstellasAgreementMember" 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="us-gaap_TransactionDomain" xlink:to="fgen_APIShipmentMember" 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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_EuropeMember" 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_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DrugProductRevenueMember" 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_TransactionTypeAxis" xlink:to="us-gaap_TransactionDomain" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" 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_TransactionDomain" xlink:to="fgen_AstraZenecaMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_BulkDrugProductMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_Supplies" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TransactionTypeAxis" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_StatementGeographicalAxis" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail">
          <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/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_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_SeriesAPreferredStockMember" xlink:label="us-gaap_SeriesAPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_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_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputDiscountRateMember" xlink:label="us-gaap_MeasurementInputDiscountRateMember"/>
          <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_ValuationTechniqueDiscountedCashFlowMember" xlink:label="us-gaap_ValuationTechniqueDiscountedCashFlowMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherInvesteesMember" xlink:label="us-gaap_OtherInvesteesMember"/>
          <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_OwnershipDomain" xlink:label="srt_OwnershipDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ThirdPartyShareholdersMember" xlink:label="fgen_ThirdPartyShareholdersMember"/>
          <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_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FortisTherapeuticsMember" xlink:label="fgen_FortisTherapeuticsMember"/>
          <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_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_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherInvestorsMember" xlink:label="fgen_OtherInvestorsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentToOptionsExercised" xlink:label="fgen_PaymentToOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProductDevelopmentCosts" xlink:label="fgen_ProductDevelopmentCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AlternativeInvestmentMeasurementInput" xlink:label="us-gaap_AlternativeInvestmentMeasurementInput"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets" xlink:label="fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets"/>
          <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="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_ClassOfStockDomain" xlink:to="us-gaap_SeriesAPreferredStockMember" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain_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/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="us-gaap_MeasurementInputDiscountRateMember" 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="us-gaap_ValuationTechniqueDiscountedCashFlowMember" 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_EquityMethodInvesteeNameDomain" xlink:to="us-gaap_OtherInvesteesMember" 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/domain-member" xlink:from="srt_OwnershipDomain" xlink:to="fgen_ThirdPartyShareholdersMember" 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_BusinessCombinationConsiderationTransferred1" 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="fgen_FortisTherapeuticsMember" 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_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-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/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_StatementClassOfStockAxis" 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_OwnershipDomain" xlink:to="fgen_OtherInvestorsMember" 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="fgen_PaymentToOptionsExercised" 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="srt_OwnershipAxis" 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_PaymentForContingentConsiderationLiabilityInvestingActivities" 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="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" 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="fgen_ProductDevelopmentCosts" 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_ValuationTechniqueAxis" 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_EquityMethodInvestmentOwnershipPercentage" 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_MeasurementInputTypeAxis" 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_AlternativeInvestmentMeasurementInput" 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="fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu">
          <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/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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract"/>
          <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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract"/>
          <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_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_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FortisTherapeuticsMember" xlink:label="fgen_FortisTherapeuticsMember"/>
          <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="fgen-20231231.xsd#fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities" xlink:label="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment" xlink:label="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment"/>
          <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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RedeemableNonControllingInterests" xlink:label="fgen_RedeemableNonControllingInterests"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonredeemableNoncontrollingInterest" xlink:label="us-gaap_NonredeemableNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LossOnAssetAcquisition" xlink:label="fgen_LossOnAssetAcquisition"/>
          <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="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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" 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_BusinessCombinationConsiderationTransferred1" 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="fgen_FortisTherapeuticsMember" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract" xlink:to="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract" xlink:to="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" 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="fgen_RedeemableNonControllingInterests" 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_NonredeemableNoncontrollingInterest" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" 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="fgen_LossOnAssetAcquisition" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:label="fgen_AcquisitionAndVariableInterestEntityLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityTable" xlink:label="fgen_AcquisitionAndVariableInterestEntityTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BeijingFalikangPharmaceuticalCoLtdMember" xlink:label="fgen_BeijingFalikangPharmaceuticalCoLtdMember"/>
          <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="fgen-20231231.xsd#fgen_FibroGenBeijingMember" xlink:label="fgen_FibroGenBeijingMember"/>
          <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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaABMember" xlink:label="fgen_AstraZenecaABMember"/>
          <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_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
          <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="fgen-20231231.xsd#fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember" xlink:label="fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember"/>
          <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_InvestmentIncomeDividend" xlink:label="us-gaap_InvestmentIncomeDividend"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="fgen_AcquisitionAndVariableInterestEntityTable" 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_EquityMethodInvestmentNonconsolidatedInvesteeAxis" xlink:to="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain" 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_EquityMethodInvestmentNonconsolidatedInvesteeDomain" xlink:to="fgen_BeijingFalikangPharmaceuticalCoLtdMember" 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="fgen_FibroGenBeijingMember" 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="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="fgen_AstraZenecaABMember" 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="fgen_AcquisitionAndVariableInterestEntityTable" 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="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" 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="fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember" 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="fgen_AcquisitionAndVariableInterestEntityTable" xlink:to="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis" 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="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="us-gaap_InvestmentIncomeDividend" 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="fgen_AcquisitionAndVariableInterestEntityTable" 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/hypercube-dimension" xlink:from="fgen_AcquisitionAndVariableInterestEntityTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:label="fgen_AcquisitionAndVariableInterestEntityLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquisitionAndVariableInterestEntityTable" xlink:label="fgen_AcquisitionAndVariableInterestEntityTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BeijingFalikangPharmaceuticalCoLtdMember" xlink:label="fgen_BeijingFalikangPharmaceuticalCoLtdMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeDividend" xlink:label="us-gaap_InvestmentIncomeDividend"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation" xlink:label="fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="fgen_AcquisitionAndVariableInterestEntityTable" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" 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_EquityMethodInvesteeNameDomain" xlink:to="fgen_BeijingFalikangPharmaceuticalCoLtdMember" 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="fgen_AcquisitionAndVariableInterestEntityTable" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" 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="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" 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="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="us-gaap_EquityMethodInvestments" 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="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments" 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="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="us-gaap_InvestmentIncomeDividend" 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="fgen_AcquisitionAndVariableInterestEntityLineItems" xlink:to="fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail">
          <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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
          <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_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_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
          <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_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis"/>
          <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_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_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_CorporateBondSecuritiesMember" xlink:label="us-gaap_CorporateBondSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember" xlink:label="us-gaap_CommercialPaperMember"/>
          <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_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_USGovernmentBondsMember" xlink:label="fgen_USGovernmentBondsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AgencyBondsMember" xlink:label="fgen_AgencyBondsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="us-gaap_AssetBackedSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignGovernmentDebtMember" xlink:label="us-gaap_ForeignGovernmentDebtMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtSecuritiesMember" xlink:label="us-gaap_ConvertibleDebtSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ConvertiblePromissoryNoteMember" xlink:label="fgen_ConvertiblePromissoryNoteMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BondAndMutualFundsMember" xlink:label="fgen_BondAndMutualFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquitySecuritiesMember" xlink:label="us-gaap_EquitySecuritiesMember"/>
          <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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" 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_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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure" 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/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" 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_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" 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="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="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_CorporateBondSecuritiesMember" 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_AvailableForSaleSecuritiesDebtSecurities" 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_FairValueInputsLevel2Member" 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_FairValueByFairValueHierarchyLevelAxis" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_CommercialPaperMember" 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_AssetsFairValueDisclosure" 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_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/hypercube-dimension" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FinancialInstrumentAxis" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="fgen_USGovernmentBondsMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="fgen_AgencyBondsMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_AssetBackedSecuritiesMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_ForeignGovernmentDebtMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_ConvertibleDebtSecuritiesMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="fgen_ConvertiblePromissoryNoteMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="fgen_BondAndMutualFundsMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_EquitySecuritiesMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems"/>
          <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_LesseeFinanceLeaseTermOfContract1" xlink:label="us-gaap_LesseeFinanceLeaseTermOfContract1"/>
          <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="fgen-20231231.xsd#fgen_ShorensteinPropertiesLLCMember" xlink:label="fgen_ShorensteinPropertiesLLCMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LeaseAmendmentMember" xlink:label="fgen_LeaseAmendmentMember"/>
          <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_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_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_AccountingStandardsUpdate201901Member" xlink:label="us-gaap_AccountingStandardsUpdate201901Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain_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="fgen-20231231.xsd#fgen_OfficeSpacesMember" xlink:label="fgen_OfficeSpacesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LesseeFinanceLeaseExpirationPeriod" xlink:label="fgen_LesseeFinanceLeaseExpirationPeriod"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BeijingEconomicTechnologicalDevelopmentAreaMember" xlink:label="fgen_BeijingEconomicTechnologicalDevelopmentAreaMember"/>
          <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_OfficeEquipmentMember" xlink:label="us-gaap_OfficeEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm" xlink:label="fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod" xlink:label="fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate" xlink:label="fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend" xlink:label="us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseOptionToExtend" xlink:label="us-gaap_LesseeFinanceLeaseOptionToExtend"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NumberOfOptionalRightsToExtendLease" xlink:label="fgen_NumberOfOptionalRightsToExtendLease"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduledRentCommencementYearOptionOne" xlink:label="fgen_ScheduledRentCommencementYearOptionOne"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo" xlink:label="fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduledRentCommencementYearOptionTwo" xlink:label="fgen_ScheduledRentCommencementYearOptionTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability"/>
          <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="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_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LesseeOperatingLeaseExpirationPeriod" xlink:label="fgen_LesseeOperatingLeaseExpirationPeriod"/>
          <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_LesseeLeaseDescriptionLineItems" 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/domain-member" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeFinanceLeaseTermOfContract1" 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="fgen_ShorensteinPropertiesLLCMember" 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_LeaseContractualTermDomain" xlink:to="fgen_LeaseAmendmentMember" 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="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" 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/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_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/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate201901Member" 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_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain" 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_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain_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_PropertyPlantAndEquipmentTypeDomain" xlink:to="fgen_OfficeSpacesMember" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_LesseeFinanceLeaseExpirationPeriod" 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="fgen_BeijingEconomicTechnologicalDevelopmentAreaMember" 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_LesseeLeaseDescriptionTable" xlink:to="us-gaap_LeaseContractualTermAxis" 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_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_OfficeEquipmentMember" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm" 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_LesseeLeaseDescriptionTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod" 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_LesseeLeaseDescriptionTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate" 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_LesseeLeaseDescriptionTable" xlink:to="srt_RangeAxis" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeFinanceLeaseOptionToExtend" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_NumberOfOptionalRightsToExtendLease" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_ScheduledRentCommencementYearOptionOne" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_ScheduledRentCommencementYearOptionTwo" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_FinanceLeaseLiability" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_OperatingLeaseLiability" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_OperatingLeasePayments" 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_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract" 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_LesseeLeaseDescriptionLineItems" xlink:to="fgen_LesseeOperatingLeaseExpirationPeriod" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfLeasesLineItems" xlink:label="fgen_ScheduleOfLeasesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ScheduleOfLeasesTable" xlink:label="fgen_ScheduleOfLeasesTable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract" xlink:label="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract" xlink:label="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract"/>
          <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="fgen-20231231.xsd#fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:label="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset"/>
          <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_AccountingStandardsUpdate201901Member" xlink:label="us-gaap_AccountingStandardsUpdate201901Member"/>
          <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_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_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_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RepaymentsOfFinanceLeaseLiabilities" xlink:label="fgen_RepaymentsOfFinanceLeaseLiabilities"/>
          <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_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent"/>
          <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:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="fgen_ScheduleOfLeasesLineItems" xlink:to="fgen_ScheduleOfLeasesTable" 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="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" 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="fgen_ScheduleOfLeasesLineItems" xlink:to="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract" 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="fgen_ScheduleOfLeasesTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" 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="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" 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_AccountingStandardsUpdate201901Member" 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="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract" xlink:to="us-gaap_OperatingLeasePayments" 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="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" 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="fgen_ScheduleOfLeasesLineItems" xlink:to="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract" 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="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" 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="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability" 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="fgen_ScheduleOfLeasesLineItems" xlink:to="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" 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="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" 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="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract" xlink:to="fgen_RepaymentsOfFinanceLeaseLiabilities" 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="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" 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="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent" 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="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <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_GeographicDistributionAxis" xlink:label="us-gaap_GeographicDistributionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale" xlink:label="us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseAgreementWithEluminexMember" xlink:label="fgen_LicenseAgreementWithEluminexMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionDomain" xlink:label="us-gaap_GeographicDistributionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicDistributionForeignMember" xlink:label="us-gaap_GeographicDistributionForeignMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasJapanAgreementMember" xlink:label="fgen_AstellasJapanAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance" xlink:label="fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance"/>
          <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="fgen-20231231.xsd#fgen_AstellasEuropeAgreementMember" xlink:label="fgen_AstellasEuropeAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TransferPriceTrueUp" xlink:label="fgen_TransferPriceTrueUp"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" xlink:label="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_HiFiBiOAgreementsMember" xlink:label="fgen_HiFiBiOAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SuppliesNet" xlink:label="fgen_SuppliesNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyReceivableCurrent" xlink:label="us-gaap_LossContingencyReceivableCurrent"/>
          <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="fgen-20231231.xsd#fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent" xlink:label="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquiredInProcessResearchAndDevelopmentAsset" xlink:label="fgen_AcquiredInProcessResearchAndDevelopmentAsset"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedLitigationSettlement" xlink:label="fgen_AccruedLitigationSettlement"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent" xlink:label="us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent"/>
          <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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRestructuring" xlink:label="us-gaap_PaymentsForRestructuring"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedRestructuringCharges" xlink:label="fgen_AccruedRestructuringCharges"/>
          <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: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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" 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_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_GeographicDistributionAxis" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale" 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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_LicenseAgreementWithEluminexMember" 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_GeographicDistributionDomain" xlink:to="us-gaap_GeographicDistributionForeignMember" 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_GeographicDistributionAxis" xlink:to="us-gaap_GeographicDistributionDomain" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasJapanAgreementMember" 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_DebtSecuritiesAvailableForSaleTable" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance" 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="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasEuropeAgreementMember" 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_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_TransferPriceTrueUp" 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="country_CN" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_HiFiBiOAgreementsMember" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_SuppliesNet" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_LossContingencyReceivableCurrent" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_Depreciation" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_AcquiredInProcessResearchAndDevelopmentAsset" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_AccruedLitigationSettlement" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_RestructuringCharges" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_PaymentsForRestructuring" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="fgen_AccruedRestructuringCharges" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="us-gaap_CorporateBondSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember" xlink:label="us-gaap_CommercialPaperMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasuryAndGovernmentMember" xlink:label="us-gaap_USTreasuryAndGovernmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BondsMember" xlink:label="us-gaap_BondsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="us-gaap_AssetBackedSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignGovernmentDebtMember" xlink:label="us-gaap_ForeignGovernmentDebtMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ConvertiblePromissoryNoteMember" xlink:label="fgen_ConvertiblePromissoryNoteMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BondAndMutualFundsMember" xlink:label="fgen_BondAndMutualFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquitySecuritiesMember" xlink:label="us-gaap_EquitySecuritiesMember"/>
          <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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTable" 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_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_FinancialInstrumentAxis" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_CorporateBondSecuritiesMember" 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_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_CommercialPaperMember" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_USTreasuryAndGovernmentMember" 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_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_BondsMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_AssetBackedSecuritiesMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_ForeignGovernmentDebtMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="fgen_ConvertiblePromissoryNoteMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="fgen_BondAndMutualFundsMember" 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_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_EquitySecuritiesMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:label="us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months"/>
          <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_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_CorporateBondSecuritiesMember" xlink:label="us-gaap_CorporateBondSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasuryAndGovernmentMember" xlink:label="us-gaap_USTreasuryAndGovernmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BondsMember" xlink:label="us-gaap_BondsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="us-gaap_AssetBackedSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignGovernmentDebtMember" xlink:label="us-gaap_ForeignGovernmentDebtMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss"/>
          <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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable" 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" 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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable" 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/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_CorporateBondSecuritiesMember" 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" 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_USTreasuryAndGovernmentMember" 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" 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="us-gaap_BondsMember" 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" 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_InvestmentTypeCategorizationMember" xlink:to="us-gaap_AssetBackedSecuritiesMember" 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" 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_InvestmentTypeCategorizationMember" xlink:to="us-gaap_ForeignGovernmentDebtMember" 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail">
          <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_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_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_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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LaboratoryEquipmentMember" xlink:label="fgen_LaboratoryEquipmentMember"/>
          <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_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember"/>
          <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_PropertyPlantAndEquipmentGross" 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/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" 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="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" 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="fgen_LaboratoryEquipmentMember" 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_PropertyPlantAndEquipmentNet" 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_MachineryAndEquipmentMember" 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="us-gaap_ComputerEquipmentMember" 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="us-gaap_FurnitureAndFixturesMember" 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_ConstructionInProgressMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasAgreementMember" xlink:label="fgen_AstellasAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateDomain" xlink:label="us-gaap_AwardDateDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember" xlink:label="fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <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/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="fgen-20231231.xsd#fgen_DrugProductRevenueMember" xlink:label="fgen_DrugProductRevenueMember"/>
          <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="fgen-20231231.xsd#fgen_RevenueInterestFinancingAgreementMember" xlink:label="fgen_RevenueInterestFinancingAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:label="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RegulatoryMilestonesMember" xlink:label="fgen_RegulatoryMilestonesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FutureRevenueGranted" xlink:label="fgen_FutureRevenueGranted"/>
          <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_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NovaquestCapitalManagementMember" xlink:label="fgen_NovaquestCapitalManagementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateAxis" xlink:label="us-gaap_AwardDateAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateDomain" xlink:label="us-gaap_AwardDateDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember" xlink:label="fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember"/>
          <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="fgen-20231231.xsd#fgen_OtherRevenueMember" xlink:label="fgen_OtherRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DevelopmentRevenueMember" xlink:label="fgen_DevelopmentRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfRoyaltyPaymentOnGlobalNetSales" xlink:label="fgen_PercentageOfRoyaltyPaymentOnGlobalNetSales"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember" xlink:label="fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MilestonePaymentsMember" xlink:label="fgen_MilestonePaymentsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfRevenueInterestOnGlobalNetSales" xlink:label="fgen_PercentageOfRevenueInterestOnGlobalNetSales"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentPeriodOneMember" xlink:label="fgen_PaymentPeriodOneMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LicenseMember" xlink:label="us-gaap_LicenseMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfRevenueSold" xlink:label="fgen_PercentageOfRevenueSold"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentPeriodTwoMember" xlink:label="fgen_PaymentPeriodTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DevelopmentAndOtherRevenueMember" xlink:label="fgen_DevelopmentAndOtherRevenueMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ReceivedFromSaleOfRevenue" xlink:label="fgen_ReceivedFromSaleOfRevenue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentCapDateInTwoThousandThirtyOneMember" xlink:label="fgen_PaymentCapDateInTwoThousandThirtyOneMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_GrossProceedsReceivedFromSaleOfRevenue" xlink:label="fgen_GrossProceedsReceivedFromSaleOfRevenue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PrepaymentAmount" xlink:label="fgen_PrepaymentAmount"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MaximumPaymentCapAmount" xlink:label="fgen_MaximumPaymentCapAmount"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenueInterestPayment" xlink:label="fgen_RevenueInterestPayment"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" xlink:label="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues" xlink:label="fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NonCashInterestExpenseRelatedToDrugProductRevenue" xlink:label="fgen_NonCashInterestExpenseRelatedToDrugProductRevenue"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RevenuePaymentCapAmount" xlink:label="fgen_RevenuePaymentCapAmount"/>
          <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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasAgreementMember" 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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_AwardDateDomain" xlink:to="fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember" 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_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" 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="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/domain-member" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DrugProductRevenueMember" 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="fgen_RevenueInterestFinancingAgreementMember" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain" xlink:to="fgen_RegulatoryMilestonesMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_FutureRevenueGranted" 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/hypercube-dimension" xlink:from="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="fgen_NovaquestCapitalManagementMember" 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_AwardDateAxis" xlink:to="us-gaap_AwardDateDomain" 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_AwardDateAxis" xlink:to="us-gaap_AwardDateDomain_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_AwardDateDomain" xlink:to="fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember" 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="srt_ProductsAndServicesDomain" xlink:to="fgen_OtherRevenueMember" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_DevelopmentRevenueMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PercentageOfRoyaltyPaymentOnGlobalNetSales" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_ProductOrServiceAxis" 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_AwardDateDomain" xlink:to="fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember" 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="fgen_MilestonePaymentsMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PercentageOfRevenueInterestOnGlobalNetSales" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_AwardDateDomain" xlink:to="fgen_PaymentPeriodOneMember" 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="us-gaap_LicenseMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PercentageOfRevenueSold" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="srt_CounterpartyNameAxis" 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_AwardDateDomain" xlink:to="fgen_PaymentPeriodTwoMember" 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="fgen_DevelopmentAndOtherRevenueMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_ReceivedFromSaleOfRevenue" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_AwardDateAxis" 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_AwardDateDomain" xlink:to="fgen_PaymentCapDateInTwoThousandThirtyOneMember" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_GrossProceedsReceivedFromSaleOfRevenue" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_DebtInstrumentAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PrepaymentAmount" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_MaximumPaymentCapAmount" 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_RevenueInterestPayment" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_NonCashInterestExpenseRelatedToDrugProductRevenue" 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="fgen_RevenuePaymentCapAmount" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail">
          <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_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_InitialTermLoanMember" xlink:label="fgen_InitialTermLoanMember"/>
          <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="fgen-20231231.xsd#fgen_DebtFinancingAgreementMember" xlink:label="fgen_DebtFinancingAgreementMember"/>
          <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_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_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DelayedDrawTermLoanMember" xlink:label="fgen_DelayedDrawTermLoanMember"/>
          <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="fgen-20231231.xsd#fgen_DelayedDrawTermLoanTwoMember" xlink:label="fgen_DelayedDrawTermLoanTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RepaymentDescription" xlink:label="fgen_RepaymentDescription"/>
          <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_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_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts" xlink:label="fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DebtInstrumentAccruedInterest" xlink:label="fgen_DebtInstrumentAccruedInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt" xlink:label="us-gaap_InterestExpenseDebt"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts" xlink:label="fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts"/>
          <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_LongtermDebtTypeAxis" 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_LongtermDebtTypeDomain" xlink:to="fgen_InitialTermLoanMember" 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="fgen_DebtFinancingAgreementMember" 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_LongTermDebt" 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_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" 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_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain_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_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_LongtermDebtTypeDomain" xlink:to="fgen_DelayedDrawTermLoanMember" 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_DebtInstrumentInterestRateDuringPeriod" 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="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_LongtermDebtTypeDomain" xlink:to="fgen_DelayedDrawTermLoanTwoMember" 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="fgen_RepaymentDescription" 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_DebtInstrumentCarryingAmount" 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_DeferredFinanceCostsNet" 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_DebtInstrumentMaturityDate" 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="fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts" 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="fgen_DebtInstrumentAccruedInterest" 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_InterestExpenseDebt" 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="fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail">
          <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_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SeniorSecuredTermLoanFacilitiesMember" xlink:label="fgen_SeniorSecuredTermLoanFacilitiesMember"/>
          <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="fgen-20231231.xsd#fgen_UnamortizedIssuanceCostsAndTransactionCosts" xlink:label="fgen_UnamortizedIssuanceCostsAndTransactionCosts"/>
          <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="fgen-20231231.xsd#fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities" xlink:label="fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt"/>
          <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_LongtermDebtTypeAxis" 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_LongtermDebtTypeDomain" xlink:to="fgen_SeniorSecuredTermLoanFacilitiesMember" 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="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" 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="fgen_UnamortizedIssuanceCostsAndTransactionCosts" 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_LongTermDebt" 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="fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities" 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_SecuredLongTermDebt" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail">
          <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/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="fgen-20231231.xsd#fgen_NumberOfProductDevelopmentObligations" xlink:label="fgen_NumberOfProductDevelopmentObligations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BankOfFinlandInterestRateMember" xlink:label="fgen_BankOfFinlandInterestRateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_default"/>
          <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_LoansReceivableBasisSpreadOnVariableRate" xlink:label="us-gaap_LoansReceivableBasisSpreadOnVariableRate"/>
          <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="fgen-20231231.xsd#fgen_AccruedProductDevelopmentCostsExcludingInterest" xlink:label="fgen_AccruedProductDevelopmentCostsExcludingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPayableCurrentAndNoncurrent" xlink:label="us-gaap_InterestPayableCurrentAndNoncurrent"/>
          <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="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_DebtInstrumentLineItems" xlink:to="fgen_NumberOfProductDevelopmentObligations" 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_VariableRateDomain" xlink:to="fgen_BankOfFinlandInterestRateMember" 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_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" 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_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain_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_DebtInstrumentTable" xlink:to="us-gaap_VariableRateAxis" 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_DebtInstrumentLineItems" xlink:to="us-gaap_LoansReceivableBasisSpreadOnVariableRate" 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_DebtInstrumentInterestRateStatedPercentage" 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="fgen_AccruedProductDevelopmentCostsExcludingInterest" 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_InterestPayableCurrentAndNoncurrent" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligationLineItems" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligationTable" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear"/>
          <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="fgen-20231231.xsd#fgen_ManufactureAndSupplyOfPamrevlumabMember" xlink:label="fgen_ManufactureAndSupplyOfPamrevlumabMember"/>
          <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_RecordedUnconditionalPurchaseObligationDueInSecondYear" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ManufactureAndSupplyOfRoxadustatMember" xlink:label="fgen_ManufactureAndSupplyOfRoxadustatMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligation" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligation"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherPurchasesAndProgramsMember" xlink:label="fgen_OtherPurchasesAndProgramsMember"/>
          <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_RecordedUnconditionalPurchaseObligationLineItems" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationTable" 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_RecordedUnconditionalPurchaseObligationLineItems" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear" 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="fgen_ManufactureAndSupplyOfPamrevlumabMember" 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/hypercube-dimension" xlink:from="us-gaap_RecordedUnconditionalPurchaseObligationTable" 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="us-gaap_RecordedUnconditionalPurchaseObligationLineItems" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear" 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_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:to="fgen_ManufactureAndSupplyOfRoxadustatMember" 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_RecordedUnconditionalPurchaseObligationLineItems" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligation" 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_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:to="fgen_OtherPurchasesAndProgramsMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommitmentsAndContingenciesLineItems" xlink:label="fgen_CommitmentsAndContingenciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommitmentsAndContingenciesTable" xlink:label="fgen_CommitmentsAndContingenciesTable"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OperatingAndFinanceLeasePaymentObligations" xlink:label="fgen_OperatingAndFinanceLeasePaymentObligations"/>
          <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"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember" xlink:label="fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MaximumFutureMilestonePayments" xlink:label="fgen_MaximumFutureMilestonePayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNewClaimsFiledNumber" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="fgen_CommitmentsAndContingenciesLineItems" xlink:to="fgen_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="fgen_CommitmentsAndContingenciesLineItems" xlink:to="fgen_OperatingAndFinanceLeasePaymentObligations" 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="fgen_CommitmentsAndContingenciesTable" xlink:to="us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" 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="fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember" 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="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="fgen_CommitmentsAndContingenciesLineItems" xlink:to="fgen_MaximumFutureMilestonePayments" 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="fgen_CommitmentsAndContingenciesLineItems" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber" 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="fgen_CommitmentsAndContingenciesLineItems" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
          <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_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding"/>
          <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_EmployeeStockMember" xlink:label="us-gaap_EmployeeStockMember"/>
          <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="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_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommonStockSharesReserved" xlink:label="fgen_CommonStockSharesReserved"/>
          <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_ClassOfStockLineItems" xlink:to="us-gaap_ScheduleOfStockByClassTable" 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_ScheduleOfStockByClassTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" 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_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" 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_EmployeeStockMember" 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_ClassOfStockLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" 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_ClassOfStockLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" 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_ClassOfStockLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" 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_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" 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_ClassOfStockLineItems" xlink:to="fgen_CommonStockSharesReserved" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails">
          <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_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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AtmProgramMember" xlink:label="fgen_AtmProgramMember"/>
          <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_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_WeightedAverageOfferingPricesPerShare" xlink:label="fgen_WeightedAverageOfferingPricesPerShare"/>
          <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/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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues" 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="fgen_AtmProgramMember" 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="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" 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_ProceedsFromIssuanceOfCommonStock" 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="fgen_WeightedAverageOfferingPricesPerShare" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail">
          <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_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="fgen-20231231.xsd#fgen_TwoThousandAndFiveStockPlanMember" xlink:label="fgen_TwoThousandAndFiveStockPlanMember"/>
          <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
          <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="fgen-20231231.xsd#fgen_PerformanceBasedRestrictedStockAwardsMember" xlink:label="fgen_PerformanceBasedRestrictedStockAwardsMember"/>
          <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_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="fgen-20231231.xsd#fgen_TwoThousandAndFourteenEquityIncentivePlanMember" xlink:label="fgen_TwoThousandAndFourteenEquityIncentivePlanMember"/>
          <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/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TotalShareholderReturnAwardsMember" xlink:label="fgen_TotalShareholderReturnAwardsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RsusPrsusAndTsrAwardsMember" xlink:label="fgen_RsusPrsusAndTsrAwardsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
          <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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum"/>
          <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_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_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" xlink:label="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings"/>
          <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_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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares"/>
          <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_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="fgen_TwoThousandAndFiveStockPlanMember" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" 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/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="fgen_PerformanceBasedRestrictedStockAwardsMember" 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="us-gaap_PlanNameAxis" 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="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="fgen_TwoThousandAndFourteenEquityIncentivePlanMember" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" 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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="fgen_TotalShareholderReturnAwardsMember" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate" 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="fgen_RsusPrsusAndTsrAwardsMember" 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="us-gaap_VestingAxis" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights" 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_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" 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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail">
          <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_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_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember" xlink:label="fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember"/>
          <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_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_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_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_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: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/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="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/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="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" 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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail">
          <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_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember" xlink:label="fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember"/>
          <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
          <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
          <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_PlanNameDomain" xlink:to="fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember" 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/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate" 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_PlanNameAxis" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" 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_CommonStockCapitalSharesReservedForFutureIssuance" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail">
          <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.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_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense"/>
          <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_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="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/domain-member" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" 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_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_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail">
          <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_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_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/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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
          <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_StockCompensationPlanMember" xlink:label="us-gaap_StockCompensationPlanMember"/>
          <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/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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
          <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: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: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/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="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/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/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" 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="us-gaap_StockCompensationPlanMember" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail">
          <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_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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_StockOptionAwardsMember" xlink:label="fgen_StockOptionAwardsMember"/>
          <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_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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RsusPrsusAndTsrAwardsMember" xlink:label="fgen_RsusPrsusAndTsrAwardsMember"/>
          <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/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="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" 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="fgen_StockOptionAwardsMember" 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="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" 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="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" 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="fgen_RsusPrsusAndTsrAwardsMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails">
          <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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TotalShareholderReturnAwardsMember" xlink:label="fgen_TotalShareholderReturnAwardsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
          <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/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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
          <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: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: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/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="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="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="fgen_TotalShareholderReturnAwardsMember" 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="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
          <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_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_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_SeriesAPreferredStockMember" xlink:label="us-gaap_SeriesAPreferredStockMember"/>
          <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.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FibrogenEuropeOyMember" xlink:label="fgen_FibrogenEuropeOyMember"/>
          <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_IPOMember" xlink:label="us-gaap_IPOMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockRedemptionTerms" xlink:label="us-gaap_PreferredStockRedemptionTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesBPreferredStockMember" xlink:label="us-gaap_SeriesBPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FibroGenCaymanMember" xlink:label="fgen_FibroGenCaymanMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares" xlink:label="fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesCPreferredStockMember" xlink:label="us-gaap_SeriesCPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockVotingRights" xlink:label="us-gaap_PreferredStockVotingRights"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesDPreferredStockMember" xlink:label="us-gaap_SeriesDPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion" xlink:label="us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesEPreferredStockMember" xlink:label="us-gaap_SeriesEPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PreferredSharesIssuedPricePerShare" xlink:label="fgen_PreferredSharesIssuedPricePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesFPreferredStockMember" xlink:label="us-gaap_SeriesFPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockDividendRatePercentage" xlink:label="us-gaap_PreferredStockDividendRatePercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesGPreferredStockMember" xlink:label="us-gaap_SeriesGPreferredStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebt" xlink:label="us-gaap_ConvertibleDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesHPreferredStockMember" xlink:label="us-gaap_SeriesHPreferredStockMember"/>
          <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_LongTermDebtContingentPaymentOfPrincipalOrInterest" xlink:label="us-gaap_LongTermDebtContingentPaymentOfPrincipalOrInterest"/>
          <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_ClassOfStockLineItems" xlink:to="us-gaap_ScheduleOfStockByClassTable" 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_ScheduleOfStockByClassTable" 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_ClassOfStockLineItems" xlink:to="us-gaap_PreferredStockSharesOutstanding" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesAPreferredStockMember" 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/domain-member" xlink:from="dei_EntityDomain" xlink:to="fgen_FibrogenEuropeOyMember" 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="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_IPOMember" 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_ScheduleOfStockByClassTable" xlink:to="us-gaap_StatementClassOfStockAxis" 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_ClassOfStockLineItems" xlink:to="us-gaap_PreferredStockRedemptionTerms" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesBPreferredStockMember" 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="dei_EntityDomain" xlink:to="fgen_FibroGenCaymanMember" 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_ScheduleOfStockByClassTable" 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_ClassOfStockLineItems" xlink:to="fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesCPreferredStockMember" 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_ClassOfStockLineItems" xlink:to="us-gaap_PreferredStockVotingRights" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesDPreferredStockMember" 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_ClassOfStockLineItems" xlink:to="us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesEPreferredStockMember" 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_ClassOfStockLineItems" xlink:to="fgen_PreferredSharesIssuedPricePerShare" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesFPreferredStockMember" 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_ClassOfStockLineItems" xlink:to="us-gaap_PreferredStockDividendRatePercentage" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesGPreferredStockMember" 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_ClassOfStockLineItems" xlink:to="us-gaap_ConvertibleDebt" 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_ClassOfStockDomain" xlink:to="us-gaap_SeriesHPreferredStockMember" 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_ClassOfStockLineItems" xlink:to="us-gaap_DerivativeFixedInterestRate" 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_ClassOfStockLineItems" xlink:to="us-gaap_LongTermDebtContingentPaymentOfPrincipalOrInterest" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain"/>
          <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_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_default"/>
          <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="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="fgen-20231231.xsd#fgen_RsusPrsusAndTsrAwardsMember" xlink:label="fgen_RsusPrsusAndTsrAwardsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockMember" xlink:label="us-gaap_EmployeeStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantMember" xlink:label="us-gaap_WarrantMember"/>
          <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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" 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_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" 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_AntidilutiveSecuritiesNameDomain" 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="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" 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_AntidilutiveSecuritiesNameDomain" 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/domain-member" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="fgen_RsusPrsusAndTsrAwardsMember" 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_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_EmployeeStockMember" 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_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_WarrantMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncomeTaxesLineItems" xlink:label="fgen_IncomeTaxesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncomeTaxesTable" xlink:label="fgen_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.sec.gov/stpr/2023/stpr-2023.xsd#stpr_CA" xlink:label="stpr_CA"/>
          <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.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/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_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_ForeignCountryMember" xlink:label="us-gaap_ForeignCountryMember"/>
          <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_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_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_default"/>
          <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_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_DeferredTaxAssetIntraEntityTransferAssetOtherThanInventory" xlink:label="us-gaap_DeferredTaxAssetIntraEntityTransferAssetOtherThanInventory"/>
          <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="fgen-20231231.xsd#fgen_ExpirationYearTwoThousandTwentySixMember" xlink:label="fgen_ExpirationYearTwoThousandTwentySixMember"/>
          <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="fgen-20231231.xsd#fgen_OperatingLossCarryforwardsExpirationYear" xlink:label="fgen_OperatingLossCarryforwardsExpirationYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsOther" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsOther"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OtherTaxCreditCarryforwardsExpirationYear" xlink:label="fgen_OtherTaxCreditCarryforwardsExpirationYear"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ExperienceHistoricalOwnershipChanges" xlink:label="fgen_ExperienceHistoricalOwnershipChanges"/>
          <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_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued"/>
          <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_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible"/>
          <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="fgen-20231231.xsd#fgen_CorporateAlternativeMinimumTaxPercentage" xlink:label="fgen_CorporateAlternativeMinimumTaxPercentage"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PercentageOfExciseTaxOnStockBuyback" xlink:label="fgen_PercentageOfExciseTaxOnStockBuyback"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="fgen_IncomeTaxesLineItems" xlink:to="fgen_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="srt_SegmentGeographicalDomain" xlink:to="stpr_CA" 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="fgen_IncomeTaxesTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" 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_IncomeTaxAuthorityDomain" xlink:to="us-gaap_ForeignCountryMember" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" 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="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="fgen_IncomeTaxesTable" 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="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_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" 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="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetIntraEntityTransferAssetOtherThanInventory" 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="fgen_IncomeTaxesTable" xlink:to="srt_StatementGeographicalAxis" 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="us-gaap_StateAndLocalJurisdictionMember" 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="fgen_ExpirationYearTwoThousandTwentySixMember" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" 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="fgen_IncomeTaxesTable" xlink:to="us-gaap_TaxPeriodAxis" 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="fgen_IncomeTaxesLineItems" xlink:to="fgen_OperatingLossCarryforwardsExpirationYear" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsOther" 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="fgen_IncomeTaxesLineItems" xlink:to="fgen_OtherTaxCreditCarryforwardsExpirationYear" 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="fgen_IncomeTaxesLineItems" xlink:to="fgen_ExperienceHistoricalOwnershipChanges" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible" 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="fgen_IncomeTaxesLineItems" xlink:to="us-gaap_OpenTaxYear" 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="fgen_IncomeTaxesLineItems" xlink:to="fgen_CorporateAlternativeMinimumTaxPercentage" 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="fgen_IncomeTaxesLineItems" xlink:to="fgen_PercentageOfExciseTaxOnStockBuyback" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable"/>
          <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="fgen-20231231.xsd#fgen_FederalAndStateMember" xlink:label="fgen_FederalAndStateMember"/>
          <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_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_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions"/>
          <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="fgen-20231231.xsd#fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation" xlink:label="fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation"/>
          <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_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxContingencyTable" 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="fgen_FederalAndStateMember" 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_IncomeTaxContingencyLineItems" 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_IncomeTaxContingencyTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" 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="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" 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_IncomeTaxContingencyLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" 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_IncomeTaxContingencyLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" 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_IncomeTaxContingencyLineItems" xlink:to="fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail">
          <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_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementMember" xlink:label="us-gaap_CollaborativeArrangementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransactionDomain" xlink:label="us-gaap_TransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_APIShipmentMember" xlink:label="fgen_APIShipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <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="fgen-20231231.xsd#fgen_AstellasMember" xlink:label="fgen_AstellasMember"/>
          <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_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LicenseAndDevelopmentMember" xlink:label="fgen_LicenseAndDevelopmentMember"/>
          <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_TransactionTypeAxis" xlink:label="us-gaap_TransactionTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DrugProductRevenueFromRelatedParty" xlink:label="fgen_DrugProductRevenueFromRelatedParty"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FalikangMember" xlink:label="fgen_FalikangMember"/>
          <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_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_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_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableInterestEntityOwnershipPercentage" xlink:label="us-gaap_VariableInterestEntityOwnershipPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeDividend" xlink:label="us-gaap_InvestmentIncomeDividend"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MiscellaneousReceivables" xlink:label="fgen_MiscellaneousReceivables"/>
          <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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="us-gaap_CollaborativeArrangementMember" 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_TransactionDomain" xlink:to="fgen_APIShipmentMember" 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_Revenues" 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_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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="fgen_AstellasMember" 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/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="fgen_LicenseAndDevelopmentMember" 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="srt_ProductOrServiceAxis" 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_TransactionTypeAxis" xlink:to="us-gaap_TransactionDomain" 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="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="fgen_DrugProductRevenueFromRelatedParty" 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="fgen_FalikangMember" 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_ProductMember" 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="us-gaap_TransactionTypeAxis" 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_AccountsReceivableNetCurrent" 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_ContractWithCustomerLiability" 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="us-gaap_TypeOfArrangementAxis" 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_RelatedPartyTransactionLineItems" xlink:to="us-gaap_OtherLiabilities" 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_RelatedPartyTransactionLineItems" xlink:to="us-gaap_VariableInterestEntityOwnershipPercentage" 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_RelatedPartyTransactionLineItems" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments" 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_RelatedPartyTransactionLineItems" xlink:to="us-gaap_InvestmentIncomeDividend" 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_RelatedPartyTransactionLineItems" xlink:to="us-gaap_EquityMethodInvestments" 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_RelatedPartyTransactionLineItems" xlink:to="fgen_MiscellaneousReceivables" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail">
          <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_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_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RoxadustatDrugProductMember" xlink:label="fgen_RoxadustatDrugProductMember"/>
          <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/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_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_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_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_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <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_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_ProductsAndServicesDomain" xlink:to="fgen_RoxadustatDrugProductMember" 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/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" 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_NumberOfOperatingSegments" 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_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="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" 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="us-gaap_ConcentrationRiskPercentage1" 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="srt_ProductOrServiceAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
          <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_CN" xlink:label="country_CN"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues"/>
          <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="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP"/>
          <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="fgen-20231231.xsd#fgen_AllOtherMember" xlink:label="fgen_AllOtherMember"/>
          <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_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" 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_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_StatementGeographicalAxis" 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_CN" 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_SegmentReportingInformationLineItems" xlink:to="us-gaap_Revenues" 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="country_JP" 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_SegmentGeographicalDomain" xlink:to="country_US" 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_SegmentGeographicalDomain" xlink:to="fgen_AllOtherMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByGeographicAreaDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
          <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_CN" xlink:label="country_CN"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US"/>
          <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_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" 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_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_StatementGeographicalAxis" 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_CN" 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_US" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByInventoryOwnershipDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
          <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="fgen-20231231.xsd#fgen_OwnershipInUnitedStatesMember" xlink:label="fgen_OwnershipInUnitedStatesMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OwnershipInChinaMember" xlink:label="fgen_OwnershipInChinaMember"/>
          <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_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" 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_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_StatementGeographicalAxis" 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="fgen_OwnershipInUnitedStatesMember" 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="fgen_OwnershipInChinaMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable"/>
          <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_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" 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/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="srt_StatementGeographicalAxis" 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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" 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_CN" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail">
          <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/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_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN"/>
          <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: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="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/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" 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_FinanceLeaseRightOfUseAsset" 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_CN" 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_OperatingLeaseRightOfUseAsset" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FalikangCollaborationAgreementMember" xlink:label="fgen_FalikangCollaborationAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <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="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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AstellasCollaborationAgreementMember" xlink:label="fgen_AstellasCollaborationAgreementMember"/>
          <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="fgen-20231231.xsd#fgen_AstraZenecaAgreementsMember" xlink:label="fgen_AstraZenecaAgreementsMember"/>
          <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_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_FalikangCollaborationAgreementMember" 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-domain" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" 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_EntityWideRevenueMajorCustomerLineItems" 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="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="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="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstellasCollaborationAgreementMember" 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_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" 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_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_AstraZenecaAgreementsMember" 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_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="us-gaap_TypeOfArrangementAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_SeniorSecuredLoanAgreementMember" xlink:label="fgen_SeniorSecuredLoanAgreementMember"/>
          <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_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_TermLoanMember" xlink:label="fgen_TermLoanMember"/>
          <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="fgen-20231231.xsd#fgen_InterestRateOptionOneMember" xlink:label="fgen_InterestRateOptionOneMember"/>
          <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_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FortisTherapeuticsMember" xlink:label="fgen_FortisTherapeuticsMember"/>
          <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_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis"/>
          <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="fgen-20231231.xsd#fgen_InterestRateOptionTwoMember" xlink:label="fgen_InterestRateOptionTwoMember"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DebtInstrumentInterestRatePayableCashStatedPercentage" xlink:label="fgen_DebtInstrumentInterestRatePayableCashStatedPercentage"/>
          <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="fgen-20231231.xsd#fgen_DebtInstrumentInterestRatePayableKindStatedPercentage" xlink:label="fgen_DebtInstrumentInterestRatePayableKindStatedPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionDescription" xlink:label="us-gaap_DebtInstrumentRedemptionDescription"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding" xlink:label="fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationPriceOfAcquisitionExpected" xlink:label="us-gaap_BusinessCombinationPriceOfAcquisitionExpected"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability"/>
          <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_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventTable" 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_ArrangementsAndNonarrangementTransactionsMember" xlink:to="fgen_SeniorSecuredLoanAgreementMember" 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/dimension-domain" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" 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_LongtermDebtTypeDomain" xlink:to="fgen_TermLoanMember" 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="fgen_InterestRateOptionOneMember" 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_SubsequentEventLineItems" 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/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="fgen_FortisTherapeuticsMember" 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/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" 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_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" 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_SubsequentEventTable" 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/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_DebtInstrumentNameDomain" xlink:to="fgen_InterestRateOptionTwoMember" 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_SubsequentEventLineItems" xlink:to="fgen_DebtInstrumentInterestRatePayableCashStatedPercentage" 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_SubsequentEventTable" xlink:to="us-gaap_TypeOfArrangementAxis" 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_SubsequentEventLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" 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_SubsequentEventTable" xlink:to="us-gaap_LongtermDebtTypeAxis" 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_SubsequentEventLineItems" xlink:to="fgen_DebtInstrumentInterestRatePayableKindStatedPercentage" 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_SubsequentEventTable" 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_SubsequentEventLineItems" xlink:to="us-gaap_DebtInstrumentRedemptionDescription" 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_SubsequentEventTable" 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/domain-member" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding" 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_SubsequentEventLineItems" xlink:to="us-gaap_BusinessCombinationPriceOfAcquisitionExpected" 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_SubsequentEventLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember" xlink:label="fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable" 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="srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" 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_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" 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_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" 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_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance" 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_ValuationAllowancesAndReservesDomain" xlink:to="fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember" 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_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" 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_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" 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_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions" 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_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_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_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_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
          <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_LiabilitiesNoncurrentAbstract" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract"/>
          <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:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" 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_AssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" priority="2" use="optional"/>
        </link:definitionLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets">
          <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.00" 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.00" 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.00" 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.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquity" order="0" weight="1.00" 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.00" 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.00" 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_ShortTermInvestments" order="1" weight="1.00" 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.00" 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_AccruedLiabilitiesAndOtherLiabilities" order="1" weight="1.00" 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_RestrictedCashAndCashEquivalentsNoncurrent" order="1" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_NonredeemableNoncontrollingInterest" 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="fgen_AccruedProductDevelopmentCosts" order="1" weight="1.00" 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.00" 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.00" 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_RedeemableNoncontrollingInterestEquityCarryingAmount" 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_ContractWithCustomerLiabilityCurrent" order="2" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="fgen_LongTermInvestmentExcludingEquityMethodInvestments" order="2" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_MinorityInterest" order="2" weight="1.00" 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_ContractWithCustomerLiabilityNoncurrent" order="2" weight="1.00" 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_AdditionalPaidInCapital" order="2" weight="1.00" 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.00" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" order="3" weight="1.00" 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_PropertyPlantAndEquipmentNet" order="3" weight="1.00" 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.00" 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.00" 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="4" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent" 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.00" 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_EquityMethodInvestments" order="5" weight="1.00" 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_SecuredLongTermDebt" 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_Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="6" weight="1.00" 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_OtherAssetsNoncurrent" order="7" weight="1.00" 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_OperatingLeaseLiabilityNoncurrent" order="7" weight="1.00" 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_OtherLiabilitiesNoncurrent" order="8" weight="1.00" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
          <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_ShortTermInvestments" xlink:label="us-gaap_ShortTermInvestments"/>
          <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_AccruedLiabilitiesAndOtherLiabilities" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonredeemableNoncontrollingInterest" xlink:label="us-gaap_NonredeemableNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedProductDevelopmentCosts" xlink:label="fgen_AccruedProductDevelopmentCosts"/>
          <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_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LongTermInvestmentExcludingEquityMethodInvestments" xlink:label="fgen_LongTermInvestmentExcludingEquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital"/>
          <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_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_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_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent"/>
          <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_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt"/>
          <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_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_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_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim1">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" 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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" 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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_OperatingIncomeLoss" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:to="us-gaap_InterestExpense" order="0" weight="-1.00" 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_CostOfRevenue" order="0" weight="1.00" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" order="0" weight="1.00" 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="1" weight="-1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet" order="1" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:to="us-gaap_NonoperatingIncomeExpense" order="1" weight="1.00" 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.00" 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="1" weight="-1.00" 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.00" 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_IncomeLossFromEquityMethodInvestments" order="2" weight="1.00" 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_RestructuringCharges" 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_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_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet"/>
          <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_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_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue"/>
          <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_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_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_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_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_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments"/>
          <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:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss">
          <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="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="0" weight="1.00" 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_OtherComprehensiveIncomeLossNetOfTax" order="1" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" order="1" weight="1.00" 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_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_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
          <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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProfitLoss" order="0" weight="1.00" 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="0" weight="1.00" 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="0" weight="-1.00" 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_ProceedsFromIssuanceOfSecuredDebt" 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="us-gaap_Depreciation" order="1" weight="1.00" 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="1" weight="1.00" 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_PaymentsToAcquireInProcessResearchAndDevelopment" order="1" weight="-1.00" 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_RepaymentsOfSecuredDebt" 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_FinanceLeaseRightOfUseAssetAmortization" order="2" weight="1.00" 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="2" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="fgen_RepaymentsOfFinanceLeaseLiabilities" order="2" weight="-1.00" 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_AccretionAmortizationOfDiscountsAndPremiumsInvestments" order="3" weight="-1.00" 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="3" weight="1.00" 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_RepaymentsOfDebtAndCapitalLeaseObligations" order="3" weight="-1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="fgen_UnrealizedLossGainOnEquityInvestments" order="4" weight="-1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts" 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_NetCashProvidedByUsedInOperatingActivities" xlink:to="fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity" order="5" weight="-1.00" 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="5" weight="-1.00" 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_GainLossOnDispositionOfAssets" order="6" weight="-1.00" 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_CashAcquiredFromAcquisition" 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="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" 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_ShareBasedCompensation" order="7" weight="1.00" 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_ProceedsFromSaleOfPropertyPlantAndEquipment" order="7" weight="1.00" 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_ProceedsFromIssuanceInitialPublicOffering" 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="fgen_AcquiredInProcessResearchAndDevelopmentExpenses" 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_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" order="8" weight="-1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="fgen_ProceedsFromSalesOfAvailableForSaleSecurities" order="9" weight="1.00" 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_ImpairmentOfInvestments" 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_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" order="10" weight="1.00" 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_ProceedsFromIssuanceOfCommonStock" order="10" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity" 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="fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues" 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_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment" order="14" weight="-1.00" 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="15" weight="-1.00" 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="16" weight="-1.00" 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="17" weight="-1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets" order="18" weight="-1.00" 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="19" weight="-1.00" 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="20" weight="1.00" 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_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" order="21" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" order="22" weight="1.00" 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_IncreaseDecreaseInContractWithCustomerLiability" order="23" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities" order="24" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent" order="25" weight="1.00" 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="26" weight="1.00" 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_ProfitLoss" xlink:label="us-gaap_ProfitLoss"/>
          <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_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_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_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_ProceedsFromIssuanceOfSecuredDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfSecuredDebt"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInProcessResearchAndDevelopment" xlink:label="us-gaap_PaymentsToAcquireInProcessResearchAndDevelopment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfSecuredDebt" xlink:label="us-gaap_RepaymentsOfSecuredDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_RepaymentsOfFinanceLeaseLiabilities" xlink:label="fgen_RepaymentsOfFinanceLeaseLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
          <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_RepaymentsOfDebtAndCapitalLeaseObligations" xlink:label="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_UnrealizedLossGainOnEquityInvestments" xlink:label="fgen_UnrealizedLossGainOnEquityInvestments"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts" xlink:label="fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity" xlink:label="fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity"/>
          <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_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAcquiredFromAcquisition" xlink:label="us-gaap_CashAcquiredFromAcquisition"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" xlink:label="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues"/>
          <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_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:label="us-gaap_ProceedsFromIssuanceInitialPublicOffering"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AcquiredInProcessResearchAndDevelopmentExpenses" xlink:label="fgen_AcquiredInProcessResearchAndDevelopmentExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_ProceedsFromSalesOfAvailableForSaleSecurities" xlink:label="fgen_ProceedsFromSalesOfAvailableForSaleSecurities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments"/>
          <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="fgen-20231231.xsd#fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity" xlink:label="fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues" xlink:label="fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment"/>
          <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="fgen-20231231.xsd#fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets"/>
          <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_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities" xlink:label="fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent" xlink:label="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent"/>
          <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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_CashConsiderationReceivedUnderCollaborationAgreement" xlink:to="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_CashConsiderationReceivedUnderCollaborationAgreement" xlink:to="us-gaap_ContractWithCustomerLiability" order="1" weight="1.00" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CashConsiderationReceivedUnderCollaborationAgreement" xlink:label="fgen_CashConsiderationReceivedUnderCollaborationAgreement"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" xlink:label="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized"/>
          <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:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:to="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="fgen_RedeemableNonControllingInterests" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:to="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="us-gaap_NonredeemableNoncontrollingInterest" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="fgen_LossOnAssetAcquisition" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet"/>
          <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_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_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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities" xlink:label="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities"/>
          <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="fgen-20231231.xsd#fgen_RedeemableNonControllingInterests" xlink:label="fgen_RedeemableNonControllingInterests"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment" xlink:label="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonredeemableNoncontrollingInterest" xlink:label="us-gaap_NonredeemableNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LossOnAssetAcquisition" xlink:label="fgen_LossOnAssetAcquisition"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" order="0" weight="1.00" 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="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiability" order="1" weight="1.00" 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="1" weight="1.00" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount"/>
          <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_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_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability"/>
          <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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="fgen_OperatingLeaseRightOfUseAssetsCost" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseRightOfUseAsset" xlink:to="fgen_FinanceLeaseRightOfUseAssetsCost" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_FinanceLeaseAndOperatingLeaseAssets" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_FinanceLeaseAndOperatingLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="fgen_OperatingLeaseAccumulatedAmortization" order="1" weight="-1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseRightOfUseAsset" xlink:to="fgen_FinanceLeaseAccumulatedAmortization" order="1" weight="-1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_FinanceLeaseAndOperatingLeaseAssets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="1" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_FinanceLeaseAndOperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="1" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_FinanceLeaseAndOperatingLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent" order="2" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_FinanceLeaseAndOperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="3" weight="1.00" use="optional"/>
          <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="fgen-20231231.xsd#fgen_OperatingLeaseRightOfUseAssetsCost" xlink:label="fgen_OperatingLeaseRightOfUseAssetsCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FinanceLeaseRightOfUseAssetsCost" xlink:label="fgen_FinanceLeaseRightOfUseAssetsCost"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FinanceLeaseAndOperatingLeaseAssets" xlink:label="fgen_FinanceLeaseAndOperatingLeaseAssets"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FinanceLeaseAndOperatingLeaseLiability" xlink:label="fgen_FinanceLeaseAndOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_OperatingLeaseAccumulatedAmortization" xlink:label="fgen_OperatingLeaseAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_FinanceLeaseAccumulatedAmortization" xlink:label="fgen_FinanceLeaseAccumulatedAmortization"/>
          <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_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent"/>
          <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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_FinanceLeaseInterestExpense" order="1" weight="1.00" use="optional"/>
          <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="2" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_SubleaseIncome" order="3" weight="-1.00" 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_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense"/>
          <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_SubleaseIncome" xlink:label="us-gaap_SubleaseIncome"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" order="0" weight="1.00" 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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" order="1" weight="1.00" 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.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" order="2" weight="1.00" 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.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" order="3" weight="1.00" 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.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" order="4" weight="1.00" 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.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" order="5" weight="1.00" 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.00" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths"/>
          <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_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo"/>
          <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_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree"/>
          <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_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour"/>
          <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_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive"/>
          <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_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive"/>
          <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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_Cash" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CommercialPaperAtCarryingValue" order="1" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_MoneyMarketFundsAtCarryingValue" order="2" weight="1.00" use="optional"/>
          <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_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_CommercialPaperAtCarryingValue" xlink:label="us-gaap_CommercialPaperAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="us-gaap_MoneyMarketFundsAtCarryingValue"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" order="0" weight="-1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" order="1" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities" order="2" weight="1.00" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" 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_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" 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_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryRawMaterials" order="0" weight="1.00" 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_InventoryWorkInProcess" order="1" weight="1.00" 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_InventoryFinishedGoods" order="2" weight="1.00" 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_InventoryRawMaterials" xlink:label="us-gaap_InventoryRawMaterials"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess" xlink:label="us-gaap_InventoryWorkInProcess"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="fgen_SuppliesNet" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_SuppliesNet" xlink:to="us-gaap_Supplies" order="0" weight="1.00" 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_PrepaidExpenseCurrent" order="1" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_SuppliesNet" xlink:to="fgen_DeferredRevenuesFromAssociatedContracts" 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_LossContingencyReceivableCurrent" 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.00" 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="fgen-20231231.xsd#fgen_SuppliesNet" xlink:label="fgen_SuppliesNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Supplies" xlink:label="us-gaap_Supplies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="us-gaap_PrepaidExpenseCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredRevenuesFromAssociatedContracts" xlink:label="fgen_DeferredRevenuesFromAssociatedContracts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyReceivableCurrent" xlink:label="us-gaap_LossContingencyReceivableCurrent"/>
          <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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail">
          <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.00" 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.00" 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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="fgen_AccruedPreclinicalAndClinicalTrialCurrent" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent" 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="fgen_LitigationSettlementCurrent" 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_AccruedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" order="4" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="fgen_AccruedCoPromotionExpensesCurrent" order="6" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="fgen_AccruedProfitShareCurrent" order="7" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="fgen_PropertyTaxesAndOtherCurrent" order="8" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent" 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_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedProfessionalFeesCurrent" order="10" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="fgen_AccruedRestructuringChargeCurrent" 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_AccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" order="12" weight="1.00" 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="fgen-20231231.xsd#fgen_AccruedPreclinicalAndClinicalTrialCurrent" xlink:label="fgen_AccruedPreclinicalAndClinicalTrialCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent" xlink:label="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LitigationSettlementCurrent" xlink:label="fgen_LitigationSettlementCurrent"/>
          <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="fgen-20231231.xsd#fgen_AccruedCoPromotionExpensesCurrent" xlink:label="fgen_AccruedCoPromotionExpensesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedProfitShareCurrent" xlink:label="fgen_AccruedProfitShareCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_PropertyTaxesAndOtherCurrent" xlink:label="fgen_PropertyTaxesAndOtherCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent" xlink:label="fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_AccruedRestructuringChargeCurrent" xlink:label="fgen_AccruedRestructuringChargeCurrent"/>
          <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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_RecordedUnconditionalPurchaseObligation" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_RecordedUnconditionalPurchaseObligation" xlink:to="us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear" order="1" weight="1.00" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligation" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear" xlink:label="us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_CommonStockSharesReserved" xlink:to="us-gaap_CommonStockSharesOutstanding" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_CommonStockSharesReserved" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="1" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_CommonStockSharesReserved" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" order="2" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_CommonStockSharesReserved" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="3" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fgen_CommonStockSharesReserved" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" order="4" weight="1.00" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_CommonStockSharesReserved" xlink:label="fgen_CommonStockSharesReserved"/>
          <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="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="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_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesComponentsOfLossBeforeIncomeTaxesDetail">
          <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.00" 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.00" 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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail">
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" order="0" weight="1.00" 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_CurrentIncomeTaxExpenseBenefit" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" order="1" weight="1.00" 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_DeferredIncomeTaxExpenseBenefit" order="1" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" order="1" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" order="2" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit" order="2" weight="1.00" use="optional"/>
          <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_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
          <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail">
          <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.00" 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="1" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost" order="2" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted" order="5" weight="1.00" 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="6" weight="1.00" 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_EffectiveIncomeTaxRateReconciliationDeductions" order="7" weight="1.00" 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_EffectiveIncomeTaxRateReconciliationGiltiPercent" 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="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="9" weight="1.00" 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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost" xlink:label="fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted" xlink:label="fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted"/>
          <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_EffectiveIncomeTaxRateReconciliationDeductions" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationDeductions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent"/>
          <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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail">
          <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.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="fgen_DeferredTaxLiabilitiesFixedAssets" order="0" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsNet" order="0" weight="1.00" 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="0" weight="1.00" 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.00" 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_DeferredTaxLiabilitiesOther" order="1" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxLiabilities" order="1" weight="-1.00" 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="1" weight="1.00" 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_DeferredTaxAssetsOperatingLossCarryforwardsForeign" order="2" weight="1.00" 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="3" weight="1.00" 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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" order="4" weight="1.00" 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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" order="5" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses" 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_DeferredTaxAssetsDeferredIncome" order="7" weight="1.00" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="fgen_DeferredTaxAssetsIntangibleAssets" order="8" weight="1.00" 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_DeferredTaxAssetsOther" order="9" weight="1.00" 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="fgen-20231231.xsd#fgen_DeferredTaxLiabilitiesFixedAssets" xlink:label="fgen_DeferredTaxLiabilitiesFixedAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
          <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_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_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther"/>
          <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_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign"/>
          <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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses" xlink:label="fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome"/>
          <link:loc xlink:type="locator" xlink:href="fgen-20231231.xsd#fgen_DeferredTaxAssetsIntangibleAssets" xlink:label="fgen_DeferredTaxAssetsIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther"/>
        </link:calculationLink>
      </link:linkbase>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element id="fgen_OtherRevenueMember" name="OtherRevenueMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax" name="RevenueGrossFromContractWithCustomerExcludingAssessedTax" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_PriceAdjustmentMember" name="PriceAdjustmentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock" name="LicenseAcquisitionAgreementPolicyPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_CommitmentsAndContingenciesLineItems" name="CommitmentsAndContingenciesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts" name="AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ProductRevenue" name="ProductRevenue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_SeniorSecuredLoanAgreementMember" name="SeniorSecuredLoanAgreementMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares" name="RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_OperatingAndFinanceLeasePaymentObligations" name="OperatingAndFinanceLeasePaymentObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_RevenuePaymentCapAmountDueInYearFive" name="RevenuePaymentCapAmountDueInYearFive" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_RevenuePaymentCapAmountDueNextTwelveMonths" name="RevenuePaymentCapAmountDueNextTwelveMonths" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_APIShipmentMember" name="APIShipmentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues" name="NonCashInterestExpenseRelatedToSaleOfFutureRevenues" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments" name="ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember" name="TwoThousandAndFourteenEmployeeStockPurchasePlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty" name="IncreaseDecreaseInAccountsPayableFromRelatedParty" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_ProfitSharePercent" name="ProfitSharePercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_ProductRevenuePolicyPolicyTextBlock" name="ProductRevenuePolicyPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone" name="VariableConsiderationPaymentReceivedUponAchievementOfMilestone" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_LeaseAmendmentMember" name="LeaseAmendmentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_LeasesDisclosureTextBlock" name="LeasesDisclosureTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_DrugProductRevenueFromRelatedParty" name="DrugProductRevenueFromRelatedParty" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_TwoThousandAndFourteenEquityIncentivePlanMember" name="TwoThousandAndFourteenEquityIncentivePlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_DebtInstrumentInterestRatePayableKindStatedPercentage" name="DebtInstrumentInterestRatePayableKindStatedPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_ProceedsFromSalesOfAvailableForSaleSecurities" name="ProceedsFromSalesOfAvailableForSaleSecurities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted" name="EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_ShareholdersEquityAndStockBasedCompensationAbstract" name="ShareholdersEquityAndStockBasedCompensationAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_DescriptionOfSalesReturn" name="DescriptionOfSalesReturn" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_BankOfFinlandInterestRateMember" name="BankOfFinlandInterestRateMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract" name="NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_MaximumFutureMilestonePayments" name="MaximumFutureMilestonePayments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" name="IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_RedeemableNonControllingInterests" name="RedeemableNonControllingInterests" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" name="PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_BeijingEconomicTechnologicalDevelopmentAreaMember" name="BeijingEconomicTechnologicalDevelopmentAreaMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_RevenueInterestFinancingAgreementMember" name="RevenueInterestFinancingAgreementMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_NonKeyAccountHospitalListingAwardMember" name="NonKeyAccountHospitalListingAwardMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock" name="ScheduleOfLeaseTermAndDiscountRateTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_RevenuePaymentCapAmountDueAfterYearFive" name="RevenuePaymentCapAmountDueAfterYearFive" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding" name="MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock" name="ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_NonCashInterestExpenseRelatedToDrugProductRevenue" name="NonCashInterestExpenseRelatedToDrugProductRevenue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_RestrictedTimeDepositsNoncurrent" name="RestrictedTimeDepositsNoncurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_RecentlyIssuedAndAdoptedAccountingGuidancePolicyTextBlock" name="RecentlyIssuedAndAdoptedAccountingGuidancePolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax" name="RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_SuppliesNet" name="SuppliesNet" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_CorporateAlternativeMinimumTaxPercentage" name="CorporateAlternativeMinimumTaxPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_InitialUpfrontPayment" name="InitialUpfrontPayment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_HiFiBiOAgreementMember" name="HiFiBiOAgreementMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" name="CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_PercentageOfTieredRoyaltiesReceivable" name="PercentageOfTieredRoyaltiesReceivable" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance" name="PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments" name="ProceedsFromUpfrontNonContingentAndNonRefundablePayments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_OperatingLossCarryforwardsExpirationYear" name="OperatingLossCarryforwardsExpirationYear" type="xbrli:gYearItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_FalikangMember" name="FalikangMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock" name="ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_LaboratoryEquipmentMember" name="LaboratoryEquipmentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_HiFiBiOAgreementsMember" name="HiFiBiOAgreementsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_MaximumSalesMilestonesReceivable" name="MaximumSalesMilestonesReceivable" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_ManufactureAndSupplyOfPamrevlumabMember" name="ManufactureAndSupplyOfPamrevlumabMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember" name="PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_RevenuePaymentCapAmountDueInYearThree" name="RevenuePaymentCapAmountDueInYearThree" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock" name="LiabilityRelatedToSaleOfFutureRevenueTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_ScheduledRentCommencementYearOptionTwo" name="ScheduledRentCommencementYearOptionTwo" type="xbrli:gYearItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_AccruedLitigationSettlement" name="AccruedLitigationSettlement" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_SeniorSecuredTermLoanFacilitiesMember" name="SeniorSecuredTermLoanFacilitiesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_AccountingPolicyTable" name="AccountingPolicyTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_AstellasAndAstraZenecaMember" name="AstellasAndAstraZenecaMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities" name="IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_PrepaymentAmount" name="PrepaymentAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_AstraZenecaMember" name="AstraZenecaMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_AccruedProfitShareCurrent" name="AccruedProfitShareCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ExpirationYearTwoThousandTwentySixMember" name="ExpirationYearTwoThousandTwentySixMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_NetTransferPriceMember" name="NetTransferPriceMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_AstraZenecaABMember" name="AstraZenecaABMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_DevelopmentAndOtherRevenueMember" name="DevelopmentAndOtherRevenueMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_CommitmentsAndContingenciesTable" name="CommitmentsAndContingenciesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_IncomeTaxesTable" name="IncomeTaxesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ShorensteinPropertiesLLCMember" name="ShorensteinPropertiesLLCMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear" name="StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_DrugProductRevenuePolicyTextBlock" name="DrugProductRevenuePolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther" name="ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration" name="ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_IncreaseDecreaseInDeferredRevenueMember" name="IncreaseDecreaseInDeferredRevenueMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_LicenseRevenueMember" name="LicenseRevenueMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_FinanceLeaseAccumulatedAmortization" name="FinanceLeaseAccumulatedAmortization" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_WarrantExercisedDuringPeriodShares" name="WarrantExercisedDuringPeriodShares" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_AccruedAndOtherCurrentLiabilitiesMember" name="AccruedAndOtherCurrentLiabilitiesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock" name="ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_DelayedDrawTermLoanTwoMember" name="DelayedDrawTermLoanTwoMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise" name="BalanceInOtherReceivablesRelatedToStockOptionExercise" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_DebtInstrumentInterestRatePayableCashStatedPercentage" name="DebtInstrumentInterestRatePayableCashStatedPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_UnamortizedIssuanceCostsAndTransactionCosts" name="UnamortizedIssuanceCostsAndTransactionCosts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_FortisTherapeuticsMember" name="FortisTherapeuticsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_FinanceLeaseAndOperatingLeaseAssets" name="FinanceLeaseAndOperatingLeaseAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" name="LiabilityRelatedToSaleOfFutureRoyaltiesAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred" name="PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_OperatingLeaseAccumulatedAmortization" name="OperatingLeaseAccumulatedAmortization" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_FutureRevenueGranted" name="FutureRevenueGranted" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm" name="LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts" name="ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract" name="CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_FibrogenEuropeOyMember" name="FibrogenEuropeOyMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_PaymentPeriodTwoMember" name="PaymentPeriodTwoMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_RoyaltyRateOnNetRevenue" name="RoyaltyRateOnNetRevenue" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments" name="FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock" name="ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_MilestonePaymentsMember" name="MilestonePaymentsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable" name="MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock" name="ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_AstellasMember" name="AstellasMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ExperienceHistoricalOwnershipChanges" name="ExperienceHistoricalOwnershipChanges" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_MiscellaneousReceivables" name="MiscellaneousReceivables" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_SharedDevelopmentCosts" name="SharedDevelopmentCosts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_ScheduleOfLeasesTable" name="ScheduleOfLeasesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_LitigationSettlementCurrent" name="LitigationSettlementCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ClinicalDevelopmentMilestonesMember" name="ClinicalDevelopmentMilestonesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_GrossProceedsReceivedFromSaleOfRevenue" name="GrossProceedsReceivedFromSaleOfRevenue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_LesseeFinanceLeaseExpirationPeriod" name="LesseeFinanceLeaseExpirationPeriod" type="xbrli:gYearItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_LicenseFeesAndMilestonesRevenue" name="LicenseFeesAndMilestonesRevenue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_DrugProductRevenueMember" name="DrugProductRevenueMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ProvisionForCoDevelopmentServices" name="ProvisionForCoDevelopmentServices" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_USGovernmentBondsMember" name="USGovernmentBondsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_DebtInstrumentAccruedInterest" name="DebtInstrumentAccruedInterest" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_AdditionalConsiderationBasedOnNetSales" name="AdditionalConsiderationBasedOnNetSales" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_FairValueAssetsLevel1ToLevel2TransferAmount" name="FairValueAssetsLevel1ToLevel2TransferAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_LongTermInvestmentExcludingEquityMethodInvestments" name="LongTermInvestmentExcludingEquityMethodInvestments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_ReversalOfAccruedCoPromotionExpenses" name="ReversalOfAccruedCoPromotionExpenses" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_OwnershipInUnitedStatesMember" name="OwnershipInUnitedStatesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties" name="IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ReceivedFromSaleOfRevenue" name="ReceivedFromSaleOfRevenue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_ScheduledRentCommencementYearOptionOne" name="ScheduledRentCommencementYearOptionOne" type="xbrli:gYearItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_FibroGenBeijingMember" name="FibroGenBeijingMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_NumberOfProductDevelopmentObligations" name="NumberOfProductDevelopmentObligations" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock" name="LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_NumberOfOptionalRightsToExtendLease" name="NumberOfOptionalRightsToExtendLease" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_RsusPrsusAndTsrAwardsMember" name="RsusPrsusAndTsrAwardsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_NonCashAcquisitionInFortis" name="NonCashAcquisitionInFortis" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_PaymentToOptionsExercised" name="PaymentToOptionsExercised" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" name="VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_PercentageOfFundingForCosts" name="PercentageOfFundingForCosts" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_PreferredSharesIssuedPricePerShare" name="PreferredSharesIssuedPricePerShare" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="fgen_DevelopmentRevenueMember" name="DevelopmentRevenueMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ProductDevelopmentObligationsDisclosureTextBlock" name="ProductDevelopmentObligationsDisclosureTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_TermLoanMember" name="TermLoanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_GrossAccountsReceivableMember" name="GrossAccountsReceivableMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember" name="RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_EUSupplyAndAstellasAgreementMember" name="EUSupplyAndAstellasAgreementMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_LiabilityRelatedToSaleOfFutureRoyaltiesTextBlock" name="LiabilityRelatedToSaleOfFutureRoyaltiesTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" name="CumulativeRevenueLicenseAndDevelopmentRevenueRecognized" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_PercentageOfExciseTaxOnStockBuyback" name="PercentageOfExciseTaxOnStockBuyback" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock" name="RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_CommercialSalesAndOtherEventsMilestone" name="CommercialSalesAndOtherEventsMilestone" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_PaymentPeriodOneMember" name="PaymentPeriodOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_BiosyntheticCorneaMember" name="BiosyntheticCorneaMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_BulkDrugProductMember" name="BulkDrugProductMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_OtherPurchasesAndProgramsMember" name="OtherPurchasesAndProgramsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_OperatingLeaseRightOfUseAssetsCost" name="OperatingLeaseRightOfUseAssetsCost" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares" name="SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation" name="UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo" name="PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_LicenseAndDevelopmentMember" name="LicenseAndDevelopmentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_FinanceLeaseAndOperatingLeaseLiability" name="FinanceLeaseAndOperatingLeaseLiability" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember" name="CoDevelopmentInformationSharingAndCommitteeServicesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ScheduleOfLeasesLineItems" name="ScheduleOfLeasesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ChinaPerformanceObligationMember" name="ChinaPerformanceObligationMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock" name="ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_PercentageOfRevenueSold" name="PercentageOfRevenueSold" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_InitialTermLoanMember" name="InitialTermLoanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_AllOtherMember" name="AllOtherMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_OtherRisksAndUncertaintiesPolicyTextBlock" name="OtherRisksAndUncertaintiesPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_RepaymentDescription" name="RepaymentDescription" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets" name="IncreaseDecreaseInOperatingLeaseRightOfUseAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember" name="ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock" name="CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities" name="CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_UnitedStatesRestOfWorldAndChinaMember" name="UnitedStatesRestOfWorldAndChinaMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_OtherLiabilitiesNoncurrentDueToRelatedParties" name="OtherLiabilitiesNoncurrentDueToRelatedParties" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_DebtFinancingAgreementMember" name="DebtFinancingAgreementMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ClassOfWarrantOrRightNumberOfWarrantsOrRightsExercisedDuringPeriod" name="ClassOfWarrantOrRightNumberOfWarrantsOrRightsExercisedDuringPeriod" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember" name="BeijingKangdaYongfuPharmaceuticalCoLTDMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_PaymentCapDateInTwoThousandThirtyOneMember" name="PaymentCapDateInTwoThousandThirtyOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember" name="PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_DevelopmentAndRegulatoryApprovalMilestones" name="DevelopmentAndRegulatoryApprovalMilestones" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_OtherLiabilitiesCurrentDueToRelatedParties" name="OtherLiabilitiesCurrentDueToRelatedParties" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_InterestRateOptionTwoMember" name="InterestRateOptionTwoMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_RebatesAndDiscountsMember" name="RebatesAndDiscountsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_TransactionPriceAllocatedToPerformanceObligations" name="TransactionPriceAllocatedToPerformanceObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ScheduleOfDrugProductRevenueTableTextBlock" name="ScheduleOfDrugProductRevenueTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_OwnershipInChinaMember" name="OwnershipInChinaMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_DeferredTaxLiabilitiesFixedAssets" name="DeferredTaxLiabilitiesFixedAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_RevenuePaymentCapAmountDueInYearTwo" name="RevenuePaymentCapAmountDueInYearTwo" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_AgencyBondsMember" name="AgencyBondsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_RegulatoryMilestonesMember" name="RegulatoryMilestonesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_GrossProceedsFromSaleOfFutureRevenues" name="GrossProceedsFromSaleOfFutureRevenues" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_ShortTermInvestmentsMaximumMaturityPeriod" name="ShortTermInvestmentsMaximumMaturityPeriod" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_ProfitShareMember" name="ProfitShareMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_AssetAcquisitionPolicyPolicyTextBlock" name="AssetAcquisitionPolicyPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_AccountingPolicyLineItems" name="AccountingPolicyLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_LicenseAgreementWithEluminexMember" name="LicenseAgreementWithEluminexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_WeightedAverageRemainingLeaseTermAbstract" name="WeightedAverageRemainingLeaseTermAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_FalikangCollaborationAgreementMember" name="FalikangCollaborationAgreementMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ManufactureAndSupplyOfRoxadustatMember" name="ManufactureAndSupplyOfRoxadustatMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_DueToRelatedPartiesDeferredRevenueCurrent" name="DueToRelatedPartiesDeferredRevenueCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_IncreaseInDeferredRevenueMember" name="IncreaseInDeferredRevenueMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_WeightedAverageOfferingPricesPerShare" name="WeightedAverageOfferingPricesPerShare" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_AstellasEuropeAgreementMember" name="AstellasEuropeAgreementMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_InventoryByGeographicAreasTableTextBlock" name="InventoryByGeographicAreasTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod" name="CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod" type="xbrli:gYearMonthItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_BeijingFalikangPharmaceuticalCoLtdMember" name="BeijingFalikangPharmaceuticalCoLtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_AcquisitionAndVariableInterestEntityAbstract" name="AcquisitionAndVariableInterestEntityAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_AccruedRestructuringChargeCurrent" name="AccruedRestructuringChargeCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_UnitedStatesAndRestOfWorldMember" name="UnitedStatesAndRestOfWorldMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_CorneaProductsMember" name="CorneaProductsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_PercentageOfRoyaltyPaymentOnGlobalNetSales" name="PercentageOfRoyaltyPaymentOnGlobalNetSales" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_UnrealizedLossGainOnEquityInvestments" name="UnrealizedLossGainOnEquityInvestments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_AcquisitionAndVariableInterestEntityTable" name="AcquisitionAndVariableInterestEntityTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_BondAndMutualFundsMember" name="BondAndMutualFundsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_AccountsReceivableFromDistributorsMember" name="AccountsReceivableFromDistributorsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_OtherRevenuePatentTransferMember" name="OtherRevenuePatentTransferMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_CollaborativeArrangementAdditionalUpfrontPayments" name="CollaborativeArrangementAdditionalUpfrontPayments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_TransactionCostsRelatedToSaleOfFutureRevenues" name="TransactionCostsRelatedToSaleOfFutureRevenues" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity" name="DividendReceivedFromUnconsolidatedVariableInterestEntity" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_AstellasAgreementMember" name="AstellasAgreementMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_CoPromotionExpenses" name="CoPromotionExpenses" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" name="NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests" name="ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_InterestRateOptionOneMember" name="InterestRateOptionOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock" name="CollaborativeArrangementAndRevenuesPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember" name="ResearchAndPreClinicalStageDevelopmentProgramsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_AccruedPreclinicalAndClinicalTrialCurrent" name="AccruedPreclinicalAndClinicalTrialCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_CommercialMilestone" name="CommercialMilestone" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_PerformanceBasedRestrictedStockAwardsMember" name="PerformanceBasedRestrictedStockAwardsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_StockOptionAwardsMember" name="StockOptionAwardsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear" name="CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear" type="xbrli:gYearItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_DeferredTaxAssetsIntangibleAssets" name="DeferredTaxAssetsIntangibleAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_FibroGenIncMember" name="FibroGenIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" name="CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent" name="LiabilityRelatedToSaleOfFutureRevenuesCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_AstellasJapanAgreementMember" name="AstellasJapanAgreementMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_TransferPriceTrueUp" name="TransferPriceTrueUp" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity" name="InvestmentGainLossInUnconsolidatedVariableInterestEntity" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_OtherTaxCreditCarryforwardsExpirationYear" name="OtherTaxCreditCarryforwardsExpirationYear" type="xbrli:gYearItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_ProceedsFromNonContingentUpfrontPayments" name="ProceedsFromNonContingentUpfrontPayments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_DiscountsAndRebatesCurrentMember" name="DiscountsAndRebatesCurrentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_AtmProgramMember" name="AtmProgramMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets" name="FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_OtherDiscountsAndRebatesMember" name="OtherDiscountsAndRebatesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_CollaborationServicesAndOtherRevenue" name="CollaborationServicesAndOtherRevenue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ContractLiabilitiesMember" name="ContractLiabilitiesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_PotentialMilestones" name="PotentialMilestones" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_VariableConsiderationRelatedToProfitShare" name="VariableConsiderationRelatedToProfitShare" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_ContractWithCustomerLiabilityLineItems" name="ContractWithCustomerLiabilityLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" name="ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_CommercialSalesMilestone" name="CommercialSalesMilestone" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues" name="EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_LongTermInvestmentsMinimumMaturityPeriod" name="LongTermInvestmentsMinimumMaturityPeriod" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_ProductDevelopmentCosts" name="ProductDevelopmentCosts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" name="AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock" name="SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments" name="ProceedsFromUpfrontNonContingentAndTimeBasedPayments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_FibroGenCaymanMember" name="FibroGenCaymanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_WarrantsExercisedDuringPeriodValue" name="WarrantsExercisedDuringPeriodValue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_AccruedRestructuringCharges" name="AccruedRestructuringCharges" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ContractWithCustomerMilestoneMethodTableTextBlock" name="ContractWithCustomerMilestoneMethodTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_RestructuringChargePolicyTextBlock" name="RestructuringChargePolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_CashConsiderationReceivedUnderCollaborationAgreement" name="CashConsiderationReceivedUnderCollaborationAgreement" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_TwoThousandAndFiveStockPlanMember" name="TwoThousandAndFiveStockPlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_UnitedStatesAndRestOfWorldAndChinaMember" name="UnitedStatesAndRestOfWorldAndChinaMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_CommonStockSharesReserved" name="CommonStockSharesReserved" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="fgen_PercentageOfRevenueInterestOnGlobalNetSales" name="PercentageOfRevenueInterestOnGlobalNetSales" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent" name="IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_AstellasCollaborationAgreementMember" name="AstellasCollaborationAgreementMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_IncomeTaxesLineItems" name="IncomeTaxesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_MilestonePayments" name="MilestonePayments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRoyaltiesTableTextBlock" name="ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRoyaltiesTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_AcquisitionAndVariableInterestEntityLineItems" name="AcquisitionAndVariableInterestEntityLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_FinanceLeaseRightOfUseAssetsCost" name="FinanceLeaseRightOfUseAssetsCost" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts" name="UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_AcquiredInProcessResearchAndDevelopmentExpenses" name="AcquiredInProcessResearchAndDevelopmentExpenses" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_NovaquestCapitalManagementMember" name="NovaquestCapitalManagementMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent" name="LiabilityRelatedToSaleOfRevenuesNoncurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_DirectSalesMember" name="DirectSalesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_SalesToFalikangMember" name="SalesToFalikangMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod" name="LesseeFinanceLeaseAdditionalLeaseExpirationPeriod" type="xbrli:gYearItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_MaximumPaymentCapAmount" name="MaximumPaymentCapAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_WeightedAverageDiscountRateAbstract" name="WeightedAverageDiscountRateAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent" name="AccruedApiAndBulkDrugProductPriceTrueUpCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ManufacturingRelatedMilestonePayments" name="ManufacturingRelatedMilestonePayments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_RepaymentsOfFinanceLeaseLiabilities" name="RepaymentsOfFinanceLeaseLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ConvertiblePromissoryNoteMember" name="ConvertiblePromissoryNoteMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement" name="NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" name="VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_AstraZenecaAgreementsMember" name="AstraZenecaAgreementsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses" name="DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_RevenueInterestPayment" name="RevenueInterestPayment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_AccruedProductDevelopmentCosts" name="AccruedProductDevelopmentCosts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_FairValueAssetsLevel2ToLevel1TransferAmount" name="FairValueAssetsLevel2ToLevel1TransferAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember" name="PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_DiscountsAndRebatesMember" name="DiscountsAndRebatesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation" name="EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_PropertyTaxesAndOtherCurrent" name="PropertyTaxesAndOtherCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_LossOnAssetAcquisition" name="LossOnAssetAcquisition" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_OtherInvestorsMember" name="OtherInvestorsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_RevenuePaymentCapAmountDueInYearFour" name="RevenuePaymentCapAmountDueInYearFour" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_RoxadustatDrugProductMember" name="RoxadustatDrugProductMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock" name="CollaborativeArrangementAndRevenuesDisclosureTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_CollaborativeArrangementAggregateConsideration" name="CollaborativeArrangementAggregateConsideration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member" name="ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_NoncashInterestExpenseRelatedToSaleOfFutureRevenue" name="NoncashInterestExpenseRelatedToSaleOfFutureRevenue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_TotalShareholderReturnAwardsMember" name="TotalShareholderReturnAwardsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_LiabilityRelatedToSaleOfRevenueCurrent" name="LiabilityRelatedToSaleOfRevenueCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_AccruedCoPromotionExpensesCurrent" name="AccruedCoPromotionExpensesCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_AccruedProductDevelopmentCostsExcludingInterest" name="AccruedProductDevelopmentCostsExcludingInterest" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_AcquiredInProcessResearchAndDevelopmentAsset" name="AcquiredInProcessResearchAndDevelopmentAsset" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_LesseeOperatingLeaseExpirationPeriod" name="LesseeOperatingLeaseExpirationPeriod" type="xbrli:gYearItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_AccountsReceivableNetCurrentRelatedParties" name="AccountsReceivableNetCurrentRelatedParties" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_InitialIssuanceCostsRelatedToSaleOfFutureRevenues" name="InitialIssuanceCostsRelatedToSaleOfFutureRevenues" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock" name="ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_LiabilityRelatedToSaleOfFutureRevenues" name="LiabilityRelatedToSaleOfFutureRevenues" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset" name="ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ContractWithCustomerLiabilityDeduction" name="ContractWithCustomerLiabilityDeduction" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses" name="DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments" name="MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate" name="PercentageIncreasesOnEachAnniversaryOfRentCommencementDate" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_DueToRelatedPartiesDeferredRevenueNoncurrent" name="DueToRelatedPartiesDeferredRevenueNoncurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent" name="LiabilityRelatedToSaleOfFutureRevenuesNonCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_DeferredForFutureRecognitionMember" name="DeferredForFutureRecognitionMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ClinicalTrialAccrualPolicyTextBlock" name="ClinicalTrialAccrualPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost" name="EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_ThirdPartyShareholdersMember" name="ThirdPartyShareholdersMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_DeferredApprovalMilestoneMember" name="DeferredApprovalMilestoneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_DelayedDrawTermLoanMember" name="DelayedDrawTermLoanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ContractWithCustomerLiabilityAdditions" name="ContractWithCustomerLiabilityAdditions" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock" name="ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_FederalAndStateMember" name="FederalAndStateMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_RevenuePaymentCapAmount" name="RevenuePaymentCapAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_OfficeSpacesMember" name="OfficeSpacesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability" name="ContractWithCustomerLiabilityReclassifiedToAccruedLiability" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_ContractWithCustomerLiabilityTable" name="ContractWithCustomerLiabilityTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_ConversionOfSubsidiarysConvertibleNotePayable" name="ConversionOfSubsidiarysConvertibleNotePayable" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="fgen_HighlyLiquidInvestmentMaturityPeriod" name="HighlyLiquidInvestmentMaturityPeriod" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="fgen_ContractualSalesRebateMember" name="ContractualSalesRebateMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="fgen_DeferredRevenuesFromAssociatedContracts" name="DeferredRevenuesFromAssociatedContracts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<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="idm140628934254384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - USD ($)<br> $ in Millions</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>Jan. 31, 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_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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_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="ro">
<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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">FGEN<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">FIBROGEN, INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000921299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_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="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">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_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="re">
<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="ro">
<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">Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</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_EntityEmergingGrowthCompany', window );">Entity 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="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_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, $0.01 par value<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-36740<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">77-0357827<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">409 Illinois Street<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">San Francisco<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">94158<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_CityAreaCode', window );">City Area Code</a></td>
<td class="text">415<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">978-1200 <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">98,771,247<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 261.5<span></span>
</td>
</tr>
<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_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_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>
<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">238<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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 Name</a></td>
<td class="text">PricewaterhouseCoopers 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 Location</a></td>
<td class="text">San Jose, California<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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:9pt;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></p><p style="text-indent:4.533%;font-size:10pt;margin-top:3pt;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;">Items 10, 11, 12, 13 and 14 of Part III of this Annual Report on Form 10-K for the year ended December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> (the &#8220;Annual Report&#8221;) incorporate information by reference from the definitive proxy statement for the registrant&#8217;s 2024 Annual Meeting of Stockholders to be filed with the Securities and Exchange Commission pursuant to Regulation 14A not later than after 120 days after the end of the fiscal year covered by this Annual Report.</span></p><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>12
<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="idm140628932523248">
<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">$ 113,688<span></span>
</td>
<td class="nump">$ 155,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_ShortTermInvestments', window );">Short-term investments</a></td>
<td class="nump">121,898<span></span>
</td>
<td class="nump">266,308<span></span>
</td>
</tr>
<tr class="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 ($6,079 and $12,088 from related parties)</a></td>
<td class="nump">12,553<span></span>
</td>
<td class="nump">16,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_InventoryNet', window );">Inventories</a></td>
<td class="nump">41,565<span></span>
</td>
<td class="nump">40,436<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">41,855<span></span>
</td>
<td class="nump">14,083<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">331,559<span></span>
</td>
<td class="nump">492,826<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent', window );">Restricted time deposits</a></td>
<td class="nump">1,658<span></span>
</td>
<td class="nump">2,072<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_fgen_LongTermInvestmentExcludingEquityMethodInvestments', window );">Long-term investments</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">4,348<span></span>
</td>
</tr>
<tr class="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 and equipment, net</a></td>
<td class="nump">13,126<span></span>
</td>
<td class="nump">20,605<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Equity method investment in unconsolidated variable interest entity</a></td>
<td class="nump">5,290<span></span>
</td>
<td class="nump">5,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_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">68,093<span></span>
</td>
<td class="nump">79,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_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">3,803<span></span>
</td>
<td class="nump">5,282<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_Assets', window );">Total assets</a></td>
<td class="nump">423,529<span></span>
</td>
<td class="nump">610,087<span></span>
</td>
</tr>
<tr class="re">
<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="ro">
<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">17,960<span></span>
</td>
<td class="nump">30,758<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesAndOtherLiabilities', window );">Accrued and other current liabilities ($39,814 and $63,886 to a related party)</a></td>
<td class="nump">172,891<span></span>
</td>
<td class="nump">219,773<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue ($7,220 and $9,259 to related parties)</a></td>
<td class="nump">12,740<span></span>
</td>
<td class="nump">12,739<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities, current</a></td>
<td class="nump">14,077<span></span>
</td>
<td class="nump">10,292<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">217,668<span></span>
</td>
<td class="nump">273,562<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_fgen_AccruedProductDevelopmentCosts', window );">Product development obligations</a></td>
<td class="nump">17,763<span></span>
</td>
<td class="nump">16,917<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, net of current ($9,705 and $31,044 to a related party)</a></td>
<td class="nump">157,555<span></span>
</td>
<td class="nump">185,722<span></span>
</td>
</tr>
<tr class="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 liabilities, non-current</a></td>
<td class="nump">66,537<span></span>
</td>
<td class="nump">79,593<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SecuredLongTermDebt', window );">Senior secured term loan facilities, non-current</a></td>
<td class="nump">71,934<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_fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent', window );">Liability related to sale of future revenues, non-current</a></td>
<td class="nump">51,413<span></span>
</td>
<td class="nump">49,333<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other long-term liabilities ($656 and $0 to a related party)</a></td>
<td class="nump">2,858<span></span>
</td>
<td class="nump">6,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_Liabilities', window );">Total liabilities</a></td>
<td class="nump">585,728<span></span>
</td>
<td class="nump">611,567<span></span>
</td>
</tr>
<tr class="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 12)</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount', window );">Redeemable non-controlling interests</a></td>
<td class="nump">21,480<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract', window );"><strong>Stockholders' deficit:</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_PreferredStockValue', window );">Preferred stock, $0.01 par value; 125,000 shares authorized; no shares issued and outstanding at December 31, 2023 and 2022</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<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; 225,000 shares authorized at December 31, 2023 and 2022; 98,770 and 94,166 shares issued and outstanding at December 31, 2023 and 2022</a></td>
<td class="nump">988<span></span>
</td>
<td class="nump">942<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">1,643,641<span></span>
</td>
<td class="nump">1,541,019<span></span>
</td>
</tr>
<tr class="ro">
<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">(6,875)<span></span>
</td>
<td class="num">(5,720)<span></span>
</td>
</tr>
<tr class="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 );">Accumulated deficit</a></td>
<td class="num">(1,841,920)<span></span>
</td>
<td class="num">(1,557,688)<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_StockholdersEquity', window );">Total stockholders' deficit attributable to FibroGen</a></td>
<td class="num">(204,166)<span></span>
</td>
<td class="num">(21,447)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonredeemableNoncontrollingInterest', window );">Nonredeemable non-controlling interests</a></td>
<td class="nump">20,487<span></span>
</td>
<td class="nump">19,967<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Total deficit</a></td>
<td class="num">(183,679)<span></span>
</td>
<td class="num">(1,480)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities, redeemable non-controlling interests and deficit</a></td>
<td class="nump">$ 423,529<span></span>
</td>
<td class="nump">$ 610,087<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_AccruedProductDevelopmentCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-term portion of the outstanding principal and accrued interest of advances in the form note agreements received by the entity to fund various product development efforts.</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;">fgen_AccruedProductDevelopmentCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Liability related to sale of future revenues 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;">fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_LongTermInvestmentExcludingEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment excluding equity method investments.</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;">fgen_LongTermInvestmentExcludingEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_AccruedLiabilitiesAndOtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 nor invoiced, and 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_AccruedLiabilitiesAndOtherLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred 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/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/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<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> -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_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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 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_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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 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_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses 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 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 2: 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 (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: 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(10))<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 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-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_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NonredeemableNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent entity which is not redeemable by the parent 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_NonredeemableNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RedeemableNoncontrollingInterestEquityCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>As of the reporting date, the aggregate carrying amount of all noncontrolling interests which are redeemable by the (parent) entity (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control of the (parent) entity. This item includes noncontrolling interest holder's ownership (or holders' ownership) regardless of the type of equity interest (common, preferred, other) including all potential organizational (legal) forms of the investee 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> -Topic 480<br> -SubTopic 10<br> -Subparagraph (12)(c)<br> -Section S99<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480244/480-10-S99-3A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Subparagraph 14<br> -Paragraph 3A<br> -Section S99<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480244/480-10-S99-3A<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Subparagraph 15<br> -Paragraph 3A<br> -Section S99<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480244/480-10-S99-3A<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Subparagraph (16)(c)<br> -Paragraph 3A<br> -Section S99<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480244/480-10-S99-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_RedeemableNoncontrollingInterestEquityCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="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> -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><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -SubTopic 210<br> -Topic 954<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480632/954-210-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_RestrictedCashAndCashEquivalentsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_SecuredLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 collateralized debt obligations with maturities initially due after one year or beyond the operating cycle, if longer, excluding the current portion. Obligations include, but not limited to, mortgage loans, chattel loans, and other borrowings secured by 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 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_SecuredLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and 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(8))<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(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 3: 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(4))<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_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and noncontrolling interest. Excludes temporary 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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-5<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483550/848-10-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 14: 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 (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 15: 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 (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 22: 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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 23: 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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 24: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 25: 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 26: 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 27: 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 28: 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 29: 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 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-3<br><br>Reference 32: 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 33: 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 34: 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 35: 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 36: 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 37: 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 38: 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 39: 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 40: 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 41: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-15<br><br>Reference 42: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-16<br><br>Reference 43: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-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>13
<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="idm140628933050544">
<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_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountsReceivableNetCurrentRelatedParties', window );">Accounts receivable from related parties</a></td>
<td class="nump">$ 6,079<span></span>
</td>
<td class="nump">$ 12,088<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_fgen_OtherLiabilitiesCurrentDueToRelatedParties', window );">Accrued and other current liabilities to related party</a></td>
<td class="nump">39,814<span></span>
</td>
<td class="nump">63,886<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_fgen_DueToRelatedPartiesDeferredRevenueCurrent', window );">Deferred revenue current to related party</a></td>
<td class="nump">7,220<span></span>
</td>
<td class="nump">9,259<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_fgen_DueToRelatedPartiesDeferredRevenueNoncurrent', window );">Deferred revenue non-current to related party</a></td>
<td class="nump">9,705<span></span>
</td>
<td class="nump">31,044<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_fgen_OtherLiabilitiesNoncurrentDueToRelatedParties', window );">Due to related parties, noncurrent</a></td>
<td class="nump">$ 656<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_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="ro">
<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">125,000,000<span></span>
</td>
<td class="nump">125,000,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_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="ro">
<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="re">
<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="ro">
<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">225,000,000<span></span>
</td>
<td class="nump">225,000,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_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">98,770,000<span></span>
</td>
<td class="nump">94,166,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_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">98,770,000<span></span>
</td>
<td class="nump">94,166,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_AccountsReceivableNetCurrentRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accounts receivable net current related parties.</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;">fgen_AccountsReceivableNetCurrentRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_DueToRelatedPartiesDeferredRevenueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Due to related parties deferred revenue 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;">fgen_DueToRelatedPartiesDeferredRevenueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_DueToRelatedPartiesDeferredRevenueNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Due to related parties deferred revenue 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;">fgen_DueToRelatedPartiesDeferredRevenueNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_OtherLiabilitiesCurrentDueToRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Other liabilities current due to related parties.</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;">fgen_OtherLiabilitiesCurrentDueToRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_OtherLiabilitiesNoncurrentDueToRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Other liabilities noncurrent due to related parties.</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;">fgen_OtherLiabilitiesNoncurrentDueToRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-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>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="idm140628935004864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations - USD ($)<br> shares in Thousands, $ 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_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue:</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 147,752<span></span>
</td>
<td class="nump">$ 140,734<span></span>
</td>
<td class="nump">$ 235,309<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingCostsAndExpensesAbstract', window );"><strong>Operating costs and expenses:</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_CostOfRevenue', window );">Cost of goods sold</a></td>
<td class="nump">$ 18,848<span></span>
</td>
<td class="nump">$ 20,280<span></span>
</td>
<td class="nump">$ 12,871<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TypeOfCostGoodOrServiceExtensibleList', window );">Cost, Product and Service [Extensible List]</a></td>
<td class="text">Product Revenue, Net [Member]<span></span>
</td>
<td class="text">Product Revenue, Net [Member]<span></span>
</td>
<td class="text">Product Revenue, Net [Member]<span></span>
</td>
</tr>
<tr class="ro">
<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">$ 282,861<span></span>
</td>
<td class="nump">$ 296,791<span></span>
</td>
<td class="nump">$ 387,043<span></span>
</td>
</tr>
<tr class="re">
<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">115,252<span></span>
</td>
<td class="nump">124,688<span></span>
</td>
<td class="nump">123,925<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCharges', window );">Restructuring charge</a></td>
<td class="nump">12,606<span></span>
</td>
<td class="nump">0<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_CostsAndExpenses', window );">Total operating costs and expenses</a></td>
<td class="nump">429,567<span></span>
</td>
<td class="nump">441,759<span></span>
</td>
<td class="nump">523,839<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_OperatingIncomeLoss', window );">Loss from operations</a></td>
<td class="num">(281,815)<span></span>
</td>
<td class="num">(301,025)<span></span>
</td>
<td class="num">(288,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_NonoperatingIncomeExpenseAbstract', window );"><strong>Interest and other, net</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_InterestExpense', window );">Interest expense</a></td>
<td class="num">(15,532)<span></span>
</td>
<td class="num">(1,440)<span></span>
</td>
<td class="num">(1,075)<span></span>
</td>
</tr>
<tr class="re">
<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 );">Interest income and other income (expenses), net</a></td>
<td class="nump">10,480<span></span>
</td>
<td class="nump">7,596<span></span>
</td>
<td class="num">(1,078)<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_InterestIncomeExpenseNonoperatingNet', window );">Total interest and other, net</a></td>
<td class="num">(5,052)<span></span>
</td>
<td class="nump">6,156<span></span>
</td>
<td class="num">(2,153)<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Loss before income taxes</a></td>
<td class="num">(286,867)<span></span>
</td>
<td class="num">(294,869)<span></span>
</td>
<td class="num">(290,683)<span></span>
</td>
</tr>
<tr class="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 );">Provision for income taxes</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">358<span></span>
</td>
<td class="nump">347<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Share of Net Income</a></td>
<td class="nump">2,638<span></span>
</td>
<td class="nump">1,573<span></span>
</td>
<td class="nump">1,007<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_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (284,232)<span></span>
</td>
<td class="num">$ (293,654)<span></span>
</td>
<td class="num">$ (290,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_EarningsPerShareBasic', window );">Net loss per share - basic</a></td>
<td class="num">$ (2.92)<span></span>
</td>
<td class="num">$ (3.14)<span></span>
</td>
<td class="num">$ (3.14)<span></span>
</td>
</tr>
<tr class="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 );">Net loss per share - diluted</a></td>
<td class="num">$ (2.92)<span></span>
</td>
<td class="num">$ (3.14)<span></span>
</td>
<td class="num">$ (3.14)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract', window );"><strong>Weighted average number of common shares used to calculate net loss per share - basic and diluted</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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">97,303<span></span>
</td>
<td class="nump">93,582<span></span>
</td>
<td class="nump">92,349<span></span>
</td>
</tr>
<tr class="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">97,303<span></span>
</td>
<td class="nump">93,582<span></span>
</td>
<td class="nump">92,349<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_LicenseMember', window );">License Revenue [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_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue:</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 9,649<span></span>
</td>
<td class="nump">$ 22,590<span></span>
</td>
<td class="nump">$ 116,434<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=fgen_DevelopmentAndOtherRevenueMember', window );">Development and Other Revenue [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_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue:</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">18,401<span></span>
</td>
<td class="nump">24,189<span></span>
</td>
<td class="nump">70,275<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, Net [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_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue:</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">100,949<span></span>
</td>
<td class="nump">82,869<span></span>
</td>
<td class="nump">47,638<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=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [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_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue:</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 18,753<span></span>
</td>
<td class="nump">$ 11,086<span></span>
</td>
<td class="nump">$ 962<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_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cost of goods produced and sold and services rendered 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 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 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 5: 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 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)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: 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 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)(5))<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 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 10: 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 11: 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 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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: 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)<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_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.</p></div>
<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(8))<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) for proportionate share of equity method investee's income (loss).</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 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-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 (g)<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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<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(13)(f))<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_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InterestIncomeExpenseNonoperatingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of nonoperating interest income (expense).</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_InterestIncomeExpenseNonoperatingNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-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_OperatingCostsAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OperatingCostsAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-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_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_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_RestructuringCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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><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)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482047/420-10-45-3<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 1<br> -Subparagraph (SAB Topic 5.P.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-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_RestructuringCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding 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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_TypeOfCostGoodOrServiceExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 type of cost from product sold and service rendered.</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 55<br> -Paragraph 91<br> -Subparagraph (a)<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_TypeOfCostGoodOrServiceExtensibleList</td>
</tr>
<tr>
<td style="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>duration</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_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_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract</td>
</tr>
<tr>
<td style="padding-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_ProductOrServiceAxis=us-gaap_LicenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LicenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_DevelopmentAndOtherRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_DevelopmentAndOtherRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fgen_DrugProductRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_DrugProductRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>15
<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="idm140628934187744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations (Parenthetical) - Astellas Agreement [Member] - 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_LicenseFeesAndMilestonesRevenue', window );">License and milestone revenue from a related party</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 22,590<span></span>
</td>
<td class="nump">$ 108,434<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_fgen_CollaborationServicesAndOtherRevenue', window );">Collaboration services and other revenue from a related party</a></td>
<td class="nump">6,662<span></span>
</td>
<td class="nump">9,908<span></span>
</td>
<td class="nump">21,928<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_fgen_ProductRevenue', window );">Product revenue from a related party</a></td>
<td class="nump">89,055<span></span>
</td>
<td class="nump">71,167<span></span>
</td>
<td class="nump">35,568<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_fgen_DrugProductRevenueFromRelatedParty', window );">Drug product revenue from a related party</a></td>
<td class="nump">$ 18,753<span></span>
</td>
<td class="nump">$ 11,086<span></span>
</td>
<td class="nump">$ 3,186<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_CollaborationServicesAndOtherRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recognized from co-development services, manufacturing of clinical supplies, committee services and information services and other revenue.</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;">fgen_CollaborationServicesAndOtherRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_DrugProductRevenueFromRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Drug product revenue from related party.</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;">fgen_DrugProductRevenueFromRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_LicenseFeesAndMilestonesRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from multiple-deliverable arrangements that include licensing fees and services revenue and the amount of consideration recognized during the period for milestones. Licensing revenue is consideration received from another party for the right to use, but not own, certain of the entity's intangible assets. Licensing arrangements include, but are not limited to, rights to use a patent, copyright, technology, manufacturing process, software or trademark. Licensing fees are generally, but not always, fixed as to amount and not dependent upon the revenue generated by the licensing party. An entity may receive licensing fees for licenses that also generate royalty payments to the entity. Services revenue may be derived by providing other, non-specified, services during the reporting 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;">fgen_LicenseFeesAndMilestonesRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ProductRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Product revenue from a related party.</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;">fgen_ProductRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628935188368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Comprehensive Loss - 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_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [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_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (284,232)<span></span>
</td>
<td class="num">$ (293,654)<span></span>
</td>
<td class="num">$ (290,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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Other comprehensive income (loss):</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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments</a></td>
<td class="num">(3,712)<span></span>
</td>
<td class="nump">75<span></span>
</td>
<td class="nump">1,235<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Available-for-sale investments:</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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Unrealized gain (loss) on investments, net of tax effect</a></td>
<td class="nump">2,557<span></span>
</td>
<td class="num">(1,632)<span></span>
</td>
<td class="num">(899)<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_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive gain (loss), net of taxes</a></td>
<td class="num">(1,155)<span></span>
</td>
<td class="num">(1,557)<span></span>
</td>
<td class="nump">336<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_ComprehensiveIncomeNetOfTax', window );">Comprehensive loss</a></td>
<td class="num">$ (285,387)<span></span>
</td>
<td class="num">$ (295,211)<span></span>
</td>
<td class="num">$ (289,687)<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_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_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_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract</td>
</tr>
<tr>
<td style="padding-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_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_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other comprehensive income (loss).</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 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 3: 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 4: 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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<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 6: http://www.xbrl.org/2009/role/commonPracticeRef<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 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> -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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 9: 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(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 10: 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 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482739/220-10-55-15<br><br>Reference 12: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract</td>
</tr>
<tr>
<td style="padding-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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to 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/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-9<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 10A<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-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>17
<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="idm140628926891312">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Changes in Stockholders' Equity (Deficit) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>Accumulated Other Comprehensive Loss [Member]</div></th>
<th class="th"><div>Accumulated Deficit [Member]</div></th>
<th class="th"><div>Noncontrolling Interests [Member]</div></th>
<th class="th">
<div>Noncontrolling Interests [Member] </div>
<div>Redeemable Preferred Stock Member</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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2020</a></td>
<td class="nump">$ 441,449<span></span>
</td>
<td class="nump">$ 914<span></span>
</td>
<td class="nump">$ 1,399,774<span></span>
</td>
<td class="num">$ (4,499)<span></span>
</td>
<td class="num">$ (974,011)<span></span>
</td>
<td class="nump">$ 19,271<span></span>
</td>
<td class="nump">$ 0<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, Shares at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">91,440,633<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 loss</a></td>
<td class="num">(290,023)<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="num">(290,023)<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_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax', window );">Change in unrealized gain or loss on investments</a></td>
<td class="num">(899)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(899)<span></span>
</td>
<td class="nump">0<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments</a></td>
<td class="nump">1,235<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,235<span></span>
</td>
<td class="nump">0<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_fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid', window );">Shares issued from stock plans, net of payroll taxes paid</a></td>
<td class="nump">5,494<span></span>
</td>
<td class="nump">$ 15<span></span>
</td>
<td class="nump">5,479<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="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_fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares', window );">Shares issued from stock plans, net of payroll taxes paid, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,439,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="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</a></td>
<td class="nump">71,161<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">71,161<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="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_fgen_ConversionOfSubsidiarysConvertibleNotePayable', window );">Conversion of subsidiary's convertible note payable(Note 13)</a></td>
<td class="nump">696<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="nump">0<span></span>
</td>
<td class="nump">696<span></span>
</td>
<td class="nump">0<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2021</a></td>
<td class="nump">229,113<span></span>
</td>
<td class="nump">$ 929<span></span>
</td>
<td class="nump">1,476,414<span></span>
</td>
<td class="num">(4,163)<span></span>
</td>
<td class="num">(1,264,034)<span></span>
</td>
<td class="nump">19,967<span></span>
</td>
<td class="nump">0<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, Shares at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">92,880,533<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 loss</a></td>
<td class="num">(293,654)<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="num">(293,654)<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_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax', window );">Change in unrealized gain or loss on investments</a></td>
<td class="num">(1,632)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,632)<span></span>
</td>
<td class="nump">0<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments</a></td>
<td class="nump">75<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">75<span></span>
</td>
<td class="nump">0<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_fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid', window );">Shares issued from stock plans, net of payroll taxes paid</a></td>
<td class="num">(983)<span></span>
</td>
<td class="nump">$ 13<span></span>
</td>
<td class="num">(996)<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="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_fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares', window );">Shares issued from stock plans, net of payroll taxes paid, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,285,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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">65,601<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">65,601<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="nump">0<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2022</a></td>
<td class="num">(1,480)<span></span>
</td>
<td class="nump">$ 942<span></span>
</td>
<td class="nump">1,541,019<span></span>
</td>
<td class="num">(5,720)<span></span>
</td>
<td class="num">(1,557,688)<span></span>
</td>
<td class="nump">19,967<span></span>
</td>
<td class="nump">0<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, Shares at Dec. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">94,166,086<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 loss</a></td>
<td class="num">$ (284,232)<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="num">$ (284,232)<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_StockIssuedDuringPeriodSharesAcquisitions', window );">Consolidation of Fortis (Note 4)</a></td>
<td class="nump">520,000<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="nump">0<span></span>
</td>
<td class="nump">520,000<span></span>
</td>
<td class="nump">21,480,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_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax', window );">Change in unrealized gain or loss on investments</a></td>
<td class="nump">$ 2,557<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 2,557<span></span>
</td>
<td class="nump">$ 0<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments</a></td>
<td class="num">(3,712)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(3,712)<span></span>
</td>
<td class="nump">0<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_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common stock under ATM Program</a></td>
<td class="nump">48,407<span></span>
</td>
<td class="nump">$ 24<span></span>
</td>
<td class="nump">48,383<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="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_StockIssuedDuringPeriodSharesNewIssues', window );">Issuance of common stock under ATM Program shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,472,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>
</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_fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid', window );">Shares issued from stock plans, net of payroll taxes paid</a></td>
<td class="nump">3,494<span></span>
</td>
<td class="nump">$ 22<span></span>
</td>
<td class="nump">3,472<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="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_fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares', window );">Shares issued from stock plans, net of payroll taxes paid, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,132,071<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">50,767<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">50,767<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="nump">0<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2023</a></td>
<td class="num">$ (183,679)<span></span>
</td>
<td class="nump">$ 988<span></span>
</td>
<td class="nump">$ 1,643,641<span></span>
</td>
<td class="num">$ (6,875)<span></span>
</td>
<td class="num">$ (1,841,920)<span></span>
</td>
<td class="nump">$ 20,487<span></span>
</td>
<td class="nump">$ 21,480<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, Shares at Dec. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">98,770,247<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Adjustments to additional paid in capital shares issued from stock plans net of payroll taxes paid.</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;">fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ConversionOfSubsidiarysConvertibleNotePayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Conversion of subsidiary's convertible note payable.</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;">fgen_ConversionOfSubsidiarysConvertibleNotePayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Shares issued from stock plans net of payroll taxes paid 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;">fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_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_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to 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/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<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 10A<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 new stock issued 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://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 (a)<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)(1))<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_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="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 (a)<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_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and noncontrolling interest. Excludes temporary 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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-5<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483550/848-10-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 14: 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 (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 15: 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 (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 22: 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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 23: 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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 24: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 25: 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 26: 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 27: 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 28: 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 29: 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 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-3<br><br>Reference 32: 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 33: 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 34: 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 35: 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 36: 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 37: 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 38: 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 39: 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 40: 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 41: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-15<br><br>Reference 42: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-16<br><br>Reference 43: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>18
<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="idm140628933014816">
<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>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_ProfitLoss', window );">Net loss</a></td>
<td class="num">$ (284,232)<span></span>
</td>
<td class="num">$ (293,654)<span></span>
</td>
<td class="num">$ (290,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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net loss to net cash used in 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_Depreciation', window );">Depreciation</a></td>
<td class="nump">9,518<span></span>
</td>
<td class="nump">10,017<span></span>
</td>
<td class="nump">10,170<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAssetAmortization', window );">Amortization of finance lease right-of-use assets</a></td>
<td class="nump">412<span></span>
</td>
<td class="nump">587<span></span>
</td>
<td class="nump">4,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_AccretionAmortizationOfDiscountsAndPremiumsInvestments', window );">Net accretion of premium and discount on investments</a></td>
<td class="num">(5,061)<span></span>
</td>
<td class="nump">1,619<span></span>
</td>
<td class="nump">2,482<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_fgen_UnrealizedLossGainOnEquityInvestments', window );">Unrealized loss on equity investments</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">30<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_fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity', window );">Investment income in unconsolidated variable interest entity</a></td>
<td class="num">(2,638)<span></span>
</td>
<td class="num">(1,573)<span></span>
</td>
<td class="num">(1,007)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets', window );">Loss (gain) on disposal of property and equipment</a></td>
<td class="nump">4<span></span>
</td>
<td class="num">(1)<span></span>
</td>
<td class="nump">233<span></span>
</td>
</tr>
<tr class="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">50,767<span></span>
</td>
<td class="nump">65,601<span></span>
</td>
<td class="nump">71,161<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_fgen_AcquiredInProcessResearchAndDevelopmentExpenses', window );">Acquired In-process Research and Development Expenses</a></td>
<td class="nump">24,636<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">60,000<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_fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues', window );">Non-cash interest expense related to sale of future revenues</a></td>
<td class="nump">7,734<span></span>
</td>
<td class="nump">1,036<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_fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity', window );">Dividend received from unconsolidated variable interest entity</a></td>
<td class="nump">2,255<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_ImpairmentOfInvestments', window );">Impairment of investment</a></td>
<td class="nump">1,000<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_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment', window );">Realized loss on sales of available-for-sale securities</a></td>
<td class="nump">271<span></span>
</td>
<td class="nump">5<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_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</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_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable, net ($6,009, $(1,158) and $(6,803) from related parties)</a></td>
<td class="nump">3,433<span></span>
</td>
<td class="nump">765<span></span>
</td>
<td class="nump">25,180<span></span>
</td>
</tr>
<tr class="ro">
<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="num">(1,695)<span></span>
</td>
<td class="num">(10,999)<span></span>
</td>
<td class="num">(14,158)<span></span>
</td>
</tr>
<tr class="re">
<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 current assets ($0, $0 and $889 from a related party)</a></td>
<td class="num">(28,165)<span></span>
</td>
<td class="nump">4,916<span></span>
</td>
<td class="num">(9,854)<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_fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets', window );">Operating lease right-of-use assets</a></td>
<td class="nump">11,704<span></span>
</td>
<td class="nump">10,908<span></span>
</td>
<td class="nump">4,209<span></span>
</td>
</tr>
<tr class="re">
<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="nump">256<span></span>
</td>
<td class="nump">263<span></span>
</td>
<td class="num">(4,412)<span></span>
</td>
</tr>
<tr class="ro">
<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 ($0, $0 and $(1,118) from a related party)</a></td>
<td class="num">(15,514)<span></span>
</td>
<td class="nump">5,909<span></span>
</td>
<td class="nump">805<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities', window );">Accrued and other liabilities ($(24,072), $63,882 and $(20) from a related party)</a></td>
<td class="num">(49,778)<span></span>
</td>
<td class="nump">90,556<span></span>
</td>
<td class="nump">16,380<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_fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent', window );">Operating lease liabilities, current</a></td>
<td class="nump">3,820<span></span>
</td>
<td class="num">(547)<span></span>
</td>
<td class="nump">503<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Deferred revenue ($(23,378), $11,211 and $21,549 from related parties)</a></td>
<td class="num">(28,166)<span></span>
</td>
<td class="num">(4,130)<span></span>
</td>
<td class="nump">57,637<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_fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities', window );">Accrued interest for finance lease liabilities</a></td>
<td class="num">(11)<span></span>
</td>
<td class="nump">33<span></span>
</td>
<td class="num">(75)<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_fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent', window );">Operating lease liabilities, non-current</a></td>
<td class="num">(12,998)<span></span>
</td>
<td class="num">(8,994)<span></span>
</td>
<td class="num">(4,043)<span></span>
</td>
</tr>
<tr class="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 );">Other long-term liabilities</a></td>
<td class="num">(2,573)<span></span>
</td>
<td class="num">(18,250)<span></span>
</td>
<td class="num">(12,089)<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 );">Net cash used in operating activities</a></td>
<td class="num">(315,021)<span></span>
</td>
<td class="num">(145,933)<span></span>
</td>
<td class="num">(82,232)<span></span>
</td>
</tr>
<tr class="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>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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property and equipment</a></td>
<td class="num">(2,519)<span></span>
</td>
<td class="num">(3,741)<span></span>
</td>
<td class="num">(5,186)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInProcessResearchAndDevelopment', window );">Payment made for acquired in-process research and development asset</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(35,000)<span></span>
</td>
<td class="num">(25,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_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from sale of property and equipment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">6<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_PaymentsToAcquireAvailableForSaleSecuritiesDebt', window );">Purchases of available-for-sale securities</a></td>
<td class="num">(251,830)<span></span>
</td>
<td class="num">(164,023)<span></span>
</td>
<td class="num">(484,144)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAcquiredFromAcquisition', window );">Cash acquired from consolidation of Fortis</a></td>
<td class="nump">656<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_fgen_ProceedsFromSalesOfAvailableForSaleSecurities', window );">Proceeds from sales of available-for-sale securities</a></td>
<td class="nump">6,729<span></span>
</td>
<td class="nump">7,382<span></span>
</td>
<td class="nump">4,214<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments', window );">Proceeds from maturities of investments</a></td>
<td class="nump">400,621<span></span>
</td>
<td class="nump">284,492<span></span>
</td>
<td class="nump">83,144<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 );">Net cash provided by (used in) investing activities</a></td>
<td class="nump">153,657<span></span>
</td>
<td class="nump">89,116<span></span>
</td>
<td class="num">(426,972)<span></span>
</td>
</tr>
<tr class="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>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_ProceedsFromIssuanceOfSecuredDebt', window );">Proceeds from senior secured term loan facilities, net of issuance costs</a></td>
<td class="nump">74,078<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_RepaymentsOfSecuredDebt', window );">Cash paid for transaction costs for senior secured term loan facilities</a></td>
<td class="num">(2,746)<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_fgen_RepaymentsOfFinanceLeaseLiabilities', window );">Repayments of finance lease liabilities</a></td>
<td class="num">(148)<span></span>
</td>
<td class="num">(135)<span></span>
</td>
<td class="num">(5,489)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations', window );">Repayments of lease obligations</a></td>
<td class="num">(336)<span></span>
</td>
<td class="num">(403)<span></span>
</td>
<td class="num">(403)<span></span>
</td>
</tr>
<tr class="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 );">Cash paid for payroll taxes on restricted stock unit releases</a></td>
<td class="num">(237)<span></span>
</td>
<td class="num">(5,167)<span></span>
</td>
<td class="num">(7,372)<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_fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts', window );">Proceeds from sale of future revenues, net of issuance costs</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">49,750<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_fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues', window );">Cash paid for transaction costs related to sale of future revenues</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,453)<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_ProceedsFromIssuanceInitialPublicOffering', window );">Proceeds from issuance of common stock under ATM Program, net of commissions</a></td>
<td class="nump">48,407<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_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from issuance of common stock under employee stock plans</a></td>
<td class="nump">3,731<span></span>
</td>
<td class="nump">4,184<span></span>
</td>
<td class="nump">12,701<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 );">Net cash provided by (used in) financing activities</a></td>
<td class="nump">122,749<span></span>
</td>
<td class="nump">46,776<span></span>
</td>
<td class="num">(563)<span></span>
</td>
</tr>
<tr class="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 change on cash and cash equivalents</a></td>
<td class="num">(3,397)<span></span>
</td>
<td class="num">(5,482)<span></span>
</td>
<td class="nump">2,597<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 decrease in cash and cash equivalents</a></td>
<td class="num">(42,012)<span></span>
</td>
<td class="num">(15,523)<span></span>
</td>
<td class="num">(507,170)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Total cash and cash equivalents at beginning of period</a></td>
<td class="nump">155,700<span></span>
</td>
<td class="nump">171,223<span></span>
</td>
<td class="nump">678,393<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Total cash and cash equivalents at end of period</a></td>
<td class="nump">113,688<span></span>
</td>
<td class="nump">155,700<span></span>
</td>
<td class="nump">171,223<span></span>
</td>
</tr>
<tr class="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 Cash Flow Information [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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_NonCashAcquisitionInFortis', window );">Non cash acquisition in Fortis</a></td>
<td class="num">(22,000)<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_InterestPaidNet', window );">Interest payments</a></td>
<td class="nump">54<span></span>
</td>
<td class="nump">104<span></span>
</td>
<td class="nump">94<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid', window );">Balance in accounts payable and accrued liabilities related to purchases of property and equipment</a></td>
<td class="nump">103<span></span>
</td>
<td class="nump">428<span></span>
</td>
<td class="nump">1,009<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressExpendituresIncurredButNotYetPaid', window );">Balance in accrued liabilities related to issuance costs of secured term loan facilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">35,000<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_fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise', window );">Balance in other receivables related to stock option exercise</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">165<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_fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests', window );">Conversion of subsidiary's convertible note payable to non-controlling interests</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 696<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_AcquiredInProcessResearchAndDevelopmentExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Acquired in-process research and development expenses.</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;">fgen_AcquiredInProcessResearchAndDevelopmentExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Balance in other receivables related to stock option exercise.</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;">fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Conversion of subsidiary's convertible note payable to non-controlling interests.</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;">fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Dividend received from unconsolidated variable interest 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;">fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accrued interest for finance lease 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;">fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 liabilities, 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;">fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 liabilities, 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;">fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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;">fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investment (gain) loss in unconsolidated variable interest 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;">fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_NonCashAcquisitionInFortis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Non cash acquisition in Fortis</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;">fgen_NonCashAcquisitionInFortis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Non cash interest expense related to sale of future revenues.</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;">fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payments for transaction costs related to sale of future revenues.</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;">fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Proceeds from sale of future revenues net of issuance 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;">fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ProceedsFromSalesOfAvailableForSaleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Proceeds from sales of available for sale securities</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;">fgen_ProceedsFromSalesOfAvailableForSaleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_RepaymentsOfFinanceLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Repayments of finance lease 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;">fgen_RepaymentsOfFinanceLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_UnrealizedLossGainOnEquityInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrealized loss (gain) on equity investments.</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;">fgen_UnrealizedLossGainOnEquityInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccretionAmortizationOfDiscountsAndPremiumsInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment 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> -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_AccretionAmortizationOfDiscountsAndPremiumsInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</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_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CashAcquiredFromAcquisition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 associated with the acquisition of business during the period (for example, cash that was held by the acquired 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> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<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_CashAcquiredFromAcquisition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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; 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/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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ConstructionInProgressExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for construction in progress expenditures that have occurred.</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_ConstructionInProgressExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 realized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), excluding other-than-temporary impairment (OTTI).</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_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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>
<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_FinanceLeaseRightOfUseAssetAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 right-of-use asset from finance 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/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 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: 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 (a)<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_FinanceLeaseRightOfUseAssetAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnDispositionOfAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.</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 (b)<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 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482130/360-10-45-5<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<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/2147482099/360-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_GainLossOnDispositionOfAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ImpairmentOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive income.</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/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 8A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-8A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accrued expenses, and obligations 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 28<br> -Subparagraph (a)<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_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482312/912-310-45-11<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 (a)<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_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_PaymentsToAcquireAvailableForSaleSecuritiesDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 acquire 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/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><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 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsToAcquireInProcessResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 outflows from the purchase of net carrying value allocated to in-process research and development costs and materials acquired 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://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_PaymentsToAcquireInProcessResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromIssuanceInitialPublicOffering">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 associated with the amount received from entity's first offering of stock to the public.</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_ProceedsFromIssuanceInitialPublicOffering</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromIssuanceOfSecuredDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amounts received from issuance of long-term debt that is wholly or partially secured by collateral. Excludes proceeds from tax exempt secured 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 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_ProceedsFromIssuanceOfSecuredDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromSaleMaturityAndCollectionsOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 associated with the sale, maturity and collection of all investments such as debt, security and so forth 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 12<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_ProceedsFromSaleMaturityAndCollectionsOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sale of long-lived, physical assets that are 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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<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_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 consolidated profit or loss for the period, net of income taxes, including the portion attributable to the 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 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 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 5: 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 6: 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 7: 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 8: 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 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: 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 11: 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(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: 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 13: 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 14: 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 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<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 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)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: 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 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)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<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 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 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)(5))<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 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 23: 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 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)(iii)(B))<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)(iv))<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)(5))<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 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 28: 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 29: 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 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 (c)<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 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 32: 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 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: 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 36: 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 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RepaymentsOfDebtAndCapitalLeaseObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for short-term and long-term debt and lease obligation.</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_RepaymentsOfDebtAndCapitalLeaseObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RepaymentsOfSecuredDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 repay long-term debt that is wholly or partially secured by collateral. Excludes repayments of tax exempt secured 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 (b)<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_RepaymentsOfSecuredDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_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>19
<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="idm140628932435792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows (Parenthetical) - 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_StatementOfCashFlowsAbstract', window );"><strong>Statement of Cash Flows [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_IncreaseDecreaseInAccountsReceivableRelatedParties', window );">Accounts receivable from related parties</a></td>
<td class="num">$ (6,009)<span></span>
</td>
<td class="num">$ (1,158)<span></span>
</td>
<td class="num">$ (6,803)<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_fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties', window );">Prepaid expenses and other current assets from related party</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">889<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_fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty', window );">Accounts payable from related party</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,118)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableRelatedParties', window );">Accrued and other liabilities from related party</a></td>
<td class="num">(24,072)<span></span>
</td>
<td class="nump">63,882<span></span>
</td>
<td class="num">(20)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredRevenue', window );">Deferred revenue from related parties</a></td>
<td class="num">$ (23,378)<span></span>
</td>
<td class="nump">$ 11,211<span></span>
</td>
<td class="nump">$ 21,549<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accounts payable from related party.</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;">fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 prepaid expenses and other current assets related parties.</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;">fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInAccountsPayableRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 obligations due for goods and services provided by the following types of related parties: a parent company and its subsidiaries, subsidiaries of a common parent, an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entities' management, an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.</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_IncreaseDecreaseInAccountsPayableRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInAccountsReceivableRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount due to the reporting entity for good and services provided to the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management, an entity and its principal owners, management, member of their immediate families, affiliates, or other parties with the ability to exert significant influence.</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_IncreaseDecreaseInAccountsReceivableRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/2003/role/exampleRef<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_IncreaseDecreaseInDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StatementOfCashFlowsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOfCashFlowsAbstract</td>
</tr>
<tr>
<td style="padding-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>20
<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="idm140628939719024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>The Company<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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [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_BusinessDescriptionAndBasisOfPresentationTextBlock', window );">The Company</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Th</span><span id="note_1_company"></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">e Company</span><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;">FibroGen, Inc. (&#8220;FibroGen&#8221; or the &#8220;Company&#8221;) is headquartered in San Francisco, California, with subsidiary offices in Beijing and Shanghai, People&#8217;s Republic of China (&#8220;China&#8221;). FibroGen is developing and commercializing a diversified pipeline of novel therapeutics that work at the frontier of cancer biology and anemia.</span><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;">Pamrevlumab, a human monoclonal antibody targeting connective tissue growth factor, is in Phase 3 clinical development for the treatment of locally advanced unresectable pancreatic cancer. Pamrevlumab is also in Phase 2/3 development for the treatment of metastatic pancreatic cancer. To date, the Company has retained exclusive worldwide rights for pamrevlumab.</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;">Roxadustat is an oral small molecule inhibitor of HIF prolyl hydroxylase activity. Roxadustat (&#29233;&#29790;&#21331;</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;">, EVRENZO</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;">TM</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">) is approved in China, Europe, Japan, and numerous other countries for the treatment of anemia in chronic kidney disease (&#8220;CKD&#8221;) for patients who are on dialysis and not on dialysis. Roxadustat is in clinical development for chemotherapy-induced anemia in China.</span><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;">FibroGen is also developing earlier stage clinical and preclinical product candidates, FG-3246, FG-3165 and FG-3175, to address unmet patient needs in oncology.</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_BusinessDescriptionAndBasisOfPresentationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. 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).</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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//205/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_BusinessDescriptionAndBasisOfPresentationTextBlock</td>
</tr>
<tr>
<td style="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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-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>21
<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="idm140628939835424">
<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"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.	Summary of Significant Accounting Policies</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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;">Basis of Presentation</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 consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the U.S. (&#8220;U.S. GAAP&#8221;). The consolidated financial statements include the accounts of the Company, its wholly owned subsidiaries and its majority-owned subsidiaries, as well as any variable interest entity (&#8220;VIE&#8221;) for which FibroGen is the primary beneficiary. All inter-company transactions and balances have been eliminated in consolidation. For any VIE for which FibroGen is not the primary beneficiary, the Company uses the equity method of accounting.</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 Company operates in </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 &#8212; the development and commercialization of novel therapeutics to treat serious unmet medical needs.</span><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 Company believes that its existing cash and cash equivalents, short-term investments and accounts receivable will be sufficient to meet its anticipated cash requirements for at least the next 12 months from the date of issuance of the financial statements. However, the Company may need additional capital thereafter and its liquidity assumptions may materially differ.  The Company may utilize its available financial resources sooner than it currently expects and may incur additional expenses not currently contemplated. In addition, the Company may elect to raise additional funds at any time through equity, equity-linked, debt financing arrangements or from other sources.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Foreign Currency Translation</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 and its subsidiaries is the U.S. dollar.</span><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 functional currency of FibroGen Europe is the Euro. The functional currency of FibroGen (China) Medical Technology Development Co., Ltd. (&#8220;FibroGen Beijing&#8221;) is CNY. As such, monetary assets and liabilities of FibroGen Europe and FibroGen Beijing in currencies other than their functional currencies are remeasured using exchange rates in effect at the end of the period. The assets and liabilities of FibroGen Europe and FibroGen Beijing are translated to U.S. dollars at exchange rates in effect at the balance sheet date. All income statement accounts are translated at monthly average exchange rates. Resulting foreign currency translation adjustments are recorded directly in accumulated other comprehensive income (loss) as a separate component of stockholders&#8217; equity (deficit).</span><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 functional currency of FibroGen, Inc. and all other subsidiaries is the U.S. dollar. Accordingly, monetary assets and liabilities in the non-functional currency of these subsidiaries are remeasured using exchange rates in effect at the end of the period. Revenues and costs in local currency are remeasured using average exchange rates for the period, except for costs related to those balance sheet items that are remeasured using historical exchange rates. The resulting remeasurement gains and losses are included within interest income and other, net in the consolidated statements of operations as incurred and have not been material for all periods presented.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Use of Estimates</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 preparation of the consolidated financial statements in conformity with U.S. GAAP 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 reported amounts of revenues and expenses during the reporting period. The more significant areas requiring the use of management estimates and assumptions include valuation and recognition of revenue and deferred revenue, specifically, estimates in variable consideration for drug product sales, and estimates in transaction price per unit for the China performance obligation (as defined and discussed under </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 Recognition</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> below). On an ongoing basis, management reviews these estimates and assumptions. Changes in facts and circumstances may alter such estimates and actual results could differ from those estimates.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Concentration of Credit 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 Company is subject to risks associated with concentration of credit for cash and cash equivalents. Outside of short-term operating needs, the majority of cash on hand is invested in U.S. treasuries, corporate bonds, commercial paper and money market funds. Any remaining cash is deposited with major financial institutions primarily in the U.S., China and the Cayman Islands. At times, such deposits may be in excess of insured limits. </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 Company has not experienced any loss on its deposits of cash and cash equivalents. Included in current assets are significant balances of accounts receivable as follows:</span></span></p><div style="font-size:10pt;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: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:80.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:64.64%;"></td>
          <td style="width:1.28%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.4%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.28%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.4%;"></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: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;">Falikang &#8212; Related party</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">65</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">AstraZeneca</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">16</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:10pt;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: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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the aggregate accounts receivable related to roxadustat sales in China from distributors represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">17</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;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, respectively, of the consolidated accounts receivable, with no material balance from any individual distributor.</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:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other Risks and Uncertainties</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 future results of operations involve a number of risks and uncertainties. Factors that could affect the Company&#8217;s future operating results and cause actual results to vary materially from expectations include, but are not limited to, the results of clinical trials and the achievement of milestones, research developments, actions by</span><span style="color:#000000;white-space:pre-wrap;font-size:9.5pt;font-family:Times New Roman;min-width:fit-content;"> regulatory authorities, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">market acceptance of the Company&#8217;s product candidates, competition from other products and larger companies, the liquidity and capital resources of the Company, intellectual property protection for the Company's proprietary technology, strategic relationships, and dependence on key individuals, suppliers, clinical organization, and other third parties.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cash, Cash Equivalents and Restricted Time Deposits</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 considers all highly liquid investments with maturities 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;">three months or less</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> at the date of purchase to be cash equivalents. Cash and cash equivalents also include money market accounts and various deposit accounts. 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, a total 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;">32.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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;">92.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;">, respectively, of the Company&#8217;s cash and cash equivalents was held outside of the U.S. in the Company&#8217;s foreign subsidiaries to be used primarily for the Company&#8217;s China operations. Restricted time deposits include an irrevocable standby letter of credit as security deposit for a long-term property lease with the Company&#8217;s landlord. Restricted time deposits were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.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;">2.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million 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.</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:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Investments</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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company&#8217;s investments consist primarily of diversified bonds, commercial paper, and money market funds. Those investments with original maturities of greater than three months and remaining maturities of less than </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;">12</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> months (365 days) are considered short-term investments. Those investments with maturities greater than </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;">12</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> months (365 days) from the balance sheet date are considered long-term investments. When such investments are held, the Company&#8217;s investments classified as available-for-sale are recorded at fair value based upon quoted market prices at period end. Unrealized gains and losses for available-for-sale debt investments that are deemed temporary in nature are recorded in accumulated other comprehensive income (loss) as a separate component of stockholder&#8217; equity. Realized and unrealized gains or losses resulting from changes in value and sale of the Company&#8217;s marketable equity investments are recorded in other income (expenses) in the consolidated statement 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;">A decline in the fair value of any security below cost that is deemed other than temporary results in a charge to earnings and the corresponding establishment of a new cost basis for the security. Premiums and discounts are amortized (accreted) over the life of the related security as an adjustment to its yield. Dividend and interest income are recognized when earned. Realized gains and losses are included in earnings and are derived using the specific identification method for determining the cost of investments sold.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Trade accounts receivable</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 allowance for credit losses is based on the Company&#8217;s assessment of the collectability of customer accounts. The Company makes estimates of expected credit losses for the allowance for doubtful accounts by considering factors such as historical experience, credit quality, the age of the accounts receivable balances, current economic and regulatory conditions that may affect a customer&#8217;s ability to pay, and estimates of expected future losses. The Company&#8217;s bad debt expense for the years ended December 31, 2023, 2022 and 2021 and the allowance for credit losses 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;"> were immaterial.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Credit losses &#8211; Available-for-sale debt 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company periodically assesses its available-for-sale investments for other-than-temporary impairment. For debt securities in an unrealized loss position, the Company first considers its intent to sell, or whether it is more likely than not that the Company will be required to sell the debt securities before recovery of their amortized cost basis. If either of these criteria are met, the amortized cost basis of such debt securities is written down to fair value through interest and other, net.</span><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 debt securities in an unrealized loss position that do not meet the aforementioned criteria, the Company assesses whether the decline in the fair value of such debt securities has resulted from credit losses or other factors. The Company considers the extent to which fair value is less than amortized cost, any changes to the rating of the security by a rating agency, and any adverse conditions specifically related to the securities, among other factors. If this assessment indicates that a credit loss may exist, the Company then compares the present value of cash flows expected to be collected from such securities to their amortized cost basis. If the present value of cash flows expected to be collected is less than the amortized cost basis, a credit loss exists and an allowance for credit losses is recorded through interest and other, net, limited by the amount that the fair value is less than the amortized cost basis. Any additional impairment not recorded through an allowance for credit losses is recognized in other 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Changes in the allowance for credit losses are recorded as provision for, or reversal of, credit loss expense. Losses are charged against the allowance when the Company believes that an available-for-sale security is confirmed uncollectable or when either of the criteria regarding intent or requirement to sell is met.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories</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;">Inventories are stated at the lower of cost or net realizable value, on a first-in, first-out, or FIFO, basis. The cost of the Company&#8217;s inventories in China is determined using full absorption and standard costing method. The Company reviews the standard cost of raw materials, work-in-process and finished goods annually and more often as appropriate to ensure that its inventories approximate current actual cost. The cost of the Company&#8217;s inventories in the U.S. uses actual costs to determine its cost basis. The cost of inventories includes direct material cost, direct labor and manufacturing overhead.</span><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;">When the technical feasibility of the Company&#8217;s future commercialization is considered probable and the future economic benefit is expected to be realized, based on management&#8217;s judgment, the Company capitalizes pre-launch inventory costs prior to regulatory approval. A number of factors are considered, including the status in the validation process in significant jurisdictions, regulatory application and approval process, and terms and condition for future sale of such inventory or future alternative use. The pre-launch inventory cost includes purchase cost of raw materials, cost paid to contract manufacturers for inventory manufacturing, freight and custom charges, and certain direct internal labor and overhead expenses.</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 Company periodically reviews its inventories to identify obsolete, slow-moving, excess or otherwise unsaleable items. If obsolete, excess or unsaleable items are observed and there are no alternate uses for the inventory, an inventory valuation adjustment is recorded through a charge to cost of goods sold on the Company&#8217;s consolidated statements of operations.  Inventory valuation adjustments require judgment including consideration of many factors, such as estimates of future product demand and product expiration period, among others.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property and Equipment</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;">Property and equipment are recorded at cost and depreciated over their estimated useful lives using the straight-line method. Computer equipment, laboratory equipment, machinery and furniture and fixtures are depreciated over </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_81f57a61-fc56-4d6e-854b-d1273e02f34b;"><span style="-sec-ix-hidden:F_e71b16c5-6126-434d-8525-3ae79ff19db4;"><span style="-sec-ix-hidden:F_0a9cc98a-5860-4392-89f3-199b7af3050c;"><span style="-sec-ix-hidden:F_6ec45d46-e39b-40aa-abcd-3246c7d8df9e;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">three</span></span></span></span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </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;">. Leasehold improvements are recorded at cost and amortized over the term of the lease or their useful life, whichever is shorter.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Equity method investment - Variable Interest Entity</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;">Under the Accounting Standards Codification (&#8220;ASC&#8221;) 810, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consolidation </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(&#8220;ASC 810&#8221;), when the Company obtains an economic interest in an entity, it evaluates the entity to determine if it should be deemed a VIE, and, if so, whether the Company is the primary beneficiary and is therefore required to consolidate the VIE, based on significant judgment whether the Company (i) has the power to direct the activities that most significantly impact the economic performance of the VIE and (ii) has the obligation to absorb losses or the right to receive benefits of the VIE that could potentially be significant to the VIE.</span><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 an ongoing basis, the Company re-evaluates the VIE assessment based on potential changes in facts and circumstances, including but not limited to, the shareholder loans to the entity and the execution of any future significant agreements between the entity and its shareholders and/or other third parties.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Leases</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 determines if an arrangement is or contains a lease at inception date when it is given control of the underlying assets. The Company elected the practical expedient not to apply the lease recognition and measurement requirements to short-term leases, which is any lease with a term 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;">12</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> months or less as of the commencement date that does not include an option to purchase the underlying asset that the lessee is reasonably certain to exercise.</span><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;">Lease right-of-use (&#8220;ROU&#8221;) assets and lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As its leases do not typically provide an implicit rate, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of future payments. The Company reassesses the incremental borrowing rate periodically for application to any new leases or lease modifications, which approximates the rate at which the Company would borrow, on a secured basis, in the country where the lease was executed. For any lease modification, the Company reassesses the lease classification, remeasures the related lease liability using an updated discount rate, and adjusts the related ROU asset under the lease modification guidance under the ASC 842, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Leases</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, (&#8220;ASC 842&#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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Lease ROU assets include any lease payments made and initial direct costs incurred. The Company has lease agreements with lease and non-lease components. The Company generally accounts for each lease component separately from the non-lease components, and excludes all non-lease components from the calculation of minimum lease payments in measuring the ROU asset and lease liability.</span><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 Company&#8217;s lease terms may include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease terms.</span><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;">Regarding leases denominated in a foreign currency, the related ROU assets and the corresponding ROU asset amortization costs are remeasured using the exchange rate in effect at the date of initial recognition; the related lease liabilities are remeasured using the exchange rate in effect at the end of the reporting period; the lease costs and interest expenses related to lease liability accretion are remeasured using average exchange rates for the reporting period.</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;">Finance leases are included in finance lease ROU assets, finance lease liabilities, current and non-current on the Company&#8217;s consolidated balance sheets. Operating leases are included in operating lease ROU assets, operating lease liabilities, current and non-current on the Company&#8217;s consolidated balance sheets.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Impairment of Long-Lived Assets</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 continually evaluates whether events or circumstances have occurred that indicate that the estimated remaining useful life of its long-lived assets may warrant revision or that the carrying value of these assets may be impaired. If the Company determines that an impairment trigger has been met, the Company evaluates the realizability of its long-lived assets (asset group) based on a comparison of projected undiscounted cash flows from use and eventual disposition with the carrying value of the related asset. Any write-downs (which are measured based on the difference between the fair value and the carrying value of the asset) are treated as permanent reductions in the carrying amount of the assets (asset group). Based on this evaluation, the Company believes that, as of each of the balance sheet dates presented, </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;">ne of the Company&#8217;s long-lived assets were impaired. The Company had </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 long-lived assets 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></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Liability Related to Sale of Future Revenues</span></p></div><p style="font-size:10pt;margin-top:6pt;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 accounts for the sale of future revenue as a debt, because the risks and rewards to the investor are limited by the terms of the transaction as discussed further in Note 10, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Liability Related to Sale of Future Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The difference between the carrying amount of the initial liability and the gross proceeds received is accounted for as a discount. The Company recognizes interest expense based on an estimated effective annual interest rate, which is affected by the amount and timing of revenues recognized and changes in the timing of forecasted revenues. Quarterly, the Company reassesses the expected revenues and the timing of such revenues, recalculates the amortization and effective interest rate and adjusts the accounting prospectively as needed</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="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Asset Acquisition</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 evaluates acquisitions of entities or assets to assess whether or not the transaction should be accounted for as a business combination or asset acquisition by first applying a screen test to determine whether substantially all of the fair value of the gross assets acquired is concentrated in a single identifiable asset or group of similar identifiable assets. If this screen criteria is met, the transaction is accounted for as an asset acquisition. If not, further determination is required as to whether or not the Company has acquired inputs and processes that have the ability to create outputs which would meet the definition of a business. The Company measures and recognizes asset acquisitions that are not deemed to be business combinations based on the cost to acquire the assets, which includes transaction 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;min-width:fit-content;">In an asset acquisition, the cost allocated to acquire in-process research and development (&#8220;IPR&amp;D&#8221;) with no alternative future use is charged to research and development expense at the acquisition date. The Company recognizes assets acquired and liabilities assumed in asset acquisitions, including contingent assets and liabilities, and non-controlling interests (&#8220;NCI&#8221;) in the acquired assets at their estimated fair values as of the date of acquisition.</span><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;">An NCI represents the non-affiliated equity interest in the underlying entity or asset. The Company presents redeemable NCI in its consolidated statements of changes in equity within mezzanine equity. Nonredeemable NCI and redeemable NCI are initially recorded at their fair values. Subsequently, net loss in the underlying entity or asset is only allocated to nonredeemable NCI. Net income in the underlying entity or asset is allocated to nonredeemable NCI and redeemable NCI based on their respective stated rights.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue Recognition</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;">Revenues under collaboration agreements</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 collaboration agreements include multiple performance obligations comprised of promised services, or bundles of services, that are distinct. Services that are not distinct are combined with other services in the agreement until they form a distinct bundle of services. The Company&#8217;s process for identifying performance obligations and an enumeration of each obligation for each agreement is outlined in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Determining the performance obligations within a collaboration agreement often involves significant judgment and is specific to the facts and circumstances contained in each agreement.</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 Company has identified the following material promises under its collaboration agreements: (1) license of FibroGen technology, (2) the performance of co-development services, including manufacturing of clinical supplies and other services during the development period, and (3) manufacture of commercial supply. The evaluation as to whether these promises are distinct, and therefore represent separate performance obligations, is described in more detail in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><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 revenue recognition purposes, the Company determines that the terms of its collaboration agreements begin on the effective date and end upon the completion of all performance obligations contained in the agreements. In each agreement, the contract term is defined as the period in which parties to the contract have present and enforceable rights and obligations. The Company believes that the existence of what it considers to be substantive termination penalties on the part of the counterparty create sufficient incentive for the counterparty to avoid exercising its right to terminate the agreement.</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 transaction price for each collaboration agreement is determined based on the amount of consideration the Company expects to be entitled for satisfying all performance obligations within the agreement. The Company&#8217;s collaboration agreements include payments to the Company of one or more of the following: non-refundable upfront license fees; co-development billings; development, regulatory, and commercial milestone payments; payments from sales of active pharmaceutical ingredient (&#8220;API&#8221;); payments from sales of bulk drug product and royalties on net sales of licensed 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;">Upfront license fees are non-contingent and non-refundable in nature and are included in the transaction price at the point when the license fees become due to the Company. The Company does not assess whether a contract has a significant financing component if the expectation at contract inception is such that the period between payment by the customer and the transfer of the promised goods or services to the customer will be one year or less.</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;">Co-development billings resulting from the Company&#8217;s research and development efforts, which are reimbursable under its collaboration agreements, are considered variable consideration. Determining the reimbursable amount of research and development efforts requires detailed analysis of the terms of the collaboration agreements and the nature of the research and development efforts incurred. Prior to CKD approval in the third quarter of 2021, determining the amount of variable consideration from co-development billings required the Company to make estimates of future research and development efforts, which involved significant judgment. Co-development billings are allocated entirely to the co-development services performance obligation when amounts are related specifically to research and development efforts necessary to satisfy the performance obligation, and such an allocation is consistent with the allocation objective.</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;">Milestone payments are also considered variable consideration, which requires the Company to make estimates of when achievement of a particular milestone becomes probable. Similar to other forms of variable consideration, milestone payments are included in the transaction price when it becomes probable that such inclusion would not result in a significant revenue reversal. Milestones are therefore included in the transaction price when achievement of the milestone becomes probable.</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 arrangements that include sales-based royalties and for which the license is deemed to be the predominant item to which the royalties relate, the Company recognizes revenue at the later of (i) when the related sales occur, or (ii) when the performance obligation to which some or all of the royalty has been allocated has been satisfied (or partially satisfied). To date, royalty revenue resulting from its collaboration arrangements was immaterial.</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 transaction price is allocated to performance obligations based on their relative standalone selling price (&#8220;SSP&#8221;), with the exception of co-development billings allocated entirely to co-development services performance obligations. The SSP is determined based on observable prices at which the Company separately sells the products and services. If an SSP is not directly observable, then the Company will estimate the SSP considering marketing conditions, entity-specific factors, and information about the customer or class of customer that is reasonably available. The process for determining SSP involves significant judgment and includes consideration of multiple factors, including assumptions related to the market opportunity and the time needed to commercialize a product candidate pursuant to the relevant license, estimated direct expenses and other costs, which include the rates normally charged by contract research and contract manufacturing organizations for development and manufacturing obligations, and rates that would be charged by qualified outsiders for committee services.</span><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;">Significant judgment may be required in determining whether a performance obligation is distinct, determining the amount of variable consideration to be included in the transaction price, and estimating the SSP of each performance obligation. An enumeration of the Company&#8217;s significant judgments is outlined in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><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 each performance obligation identified within an arrangement, the Company determines the period over which the promised services are transferred and the performance obligation is satisfied. Service revenue that was recognized over time was based on progress toward complete satisfaction of the performance obligation. For each performance obligation satisfied over time, the Company assesses the proper method to be used for revenue recognition, either an input method to measure progress toward the satisfaction of services or an output method of determining the progress of completion of performance obligation.</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:18pt;font-family:Times New Roman;margin-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 under license agreements</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;">Under a license agreement, if the license to the Company&#8217;s intellectual property is determined to be distinct from the other performance obligations identified in the arrangement, the Company recognizes revenues from upfront license fees allocated to the license when the license is transferred to the licensee and the licensee is able to use and benefit from the license. For licenses that are bundled with other promises, the Company determines whether the combined performance obligation is satisfied over time or at a point in time. If the combined performance obligation is satisfied over time, the Company uses judgment in determining the appropriate method of measuring progress for purposes of recognizing revenue from the up-front license fees. The Company evaluates the measure of progress each reporting period and, if necessary, adjusts the measure of performance and related revenue recognition.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product revenue, 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;">Product revenue, net consists of revenues from sales of roxadustat commercial product to Falikang, and directly to pharmaceutical distributors located in one province in China that are not covered by Falikang. Falikang is jointly owned by AstraZeneca AB (&#8220;AstraZeneca&#8221;) and FibroGen Beijing. The Company is not the primary beneficiary of Falikang for accounting purposes, as AstraZeneca is the final decision maker for all the roxadustat commercialization activities, and the Company lacks the power criterion to direct the activities of Falikang (see Note 5, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Equity method investment - Variable Interest Entity</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: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;font-style:italic;min-width:fit-content;">Sales to Falikang</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;">Falikang became fully operational in January 2021, at which time FibroGen Beijing began selling roxadustat commercial product to Falikang. Falikang is FibroGen Beijing&#8217;s primary customer in China and substantially all roxadustat product sales to distributors in China are made by Falikang. Falikang bears inventory risk once it receives and accepts the product from FibroGen Beijing, and is responsible for delivering product to its distributors.</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;">The promises identified under the AstraZeneca China Agreement (as defined in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">), including the license, co-development services and manufacturing of commercial supplies have been bundled into a single performance obligation (&#8220;China performance obligation&#8221;). Amounts of the transaction price allocable to this performance obligation under the Company&#8217;s agreements with AstraZeneca as outlined in Note 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;">Collaboration Agreements, License Agreement and Revenues,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> are deferred until control of the manufactured commercial product is transferred to AstraZeneca.</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;">The initiation of roxadustat sales to Falikang marked the beginning of the China performance obligation</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><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Revenue is recognized at a point in time when control of roxadustat commercial product is transferred to Falikang. Revenue is recognized based on the estimated transaction price per unit and actual quantity of product delivered during the reporting period. Specifically, the transaction price per unit is determined based on the overall transaction price over the total estimated sales quantity for the estimated performance period in which the Company determined it is likely those sales would occur. The price per unit is subject to reassessment on a quarterly basis, which may result in cumulative catch up adjustments due to changes in estimates.</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 overall transaction price for FibroGen Beijing&#8217;s product sales to Falikang includes the following elements of consideration:</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="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Non-refundable upfront license fees; development, regulatory, and commercial milestone payments based on the AstraZeneca China Agreement allocated to the China performance obligation;</span></div></div><div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Co-development billings resulting from the Company&#8217;s research and development efforts, which are reimbursable under the AstraZeneca China Agreement;</span></div></div><div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Interim profit/loss share between FibroGen Beijing and AstraZeneca from April 1, 2020 through December 31, 2020; and</span></div></div><div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Net transaction price from product sales to Falikang from January 1, 2021 onwards. The net transaction price includes the following elements: </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;">o</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;">Gross transaction price: The gross transaction price is based on a percentage of Falikang&#8217;s net sales to its distributors, which takes into account Falikang&#8217;s operating expenses and its payments to AstraZeneca for roxadustat sales and marketing efforts, capped at a percentage of Falikang&#8217;s net roxadustat sales. </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;">o</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;">Profit share: The gross transaction price is then adjusted for an estimated amount to achieve the </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;">/50 profit share from current period roxadustat net sales in China. The adjustments to date have been a reduction to the transaction price and the related accounts receivable from Falikang. </span></div></div><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;">The non-refundable upfront license fees constitute a fixed consideration. The remainder of the above are variable consideration components, which may be constrained, and included in the transaction price only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period when the uncertainty associated with the variable consideration is subsequently resolved. The calculation of the above variable consideration includes significant assumptions such as total sales quantity, performance period, gross transaction price and profit share, which require significant judgment.</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;">Any net transaction price in excess of the revenue recognized is deferred, and will be recognized over future periods as the performance obligations are satisfied.</span></p><p style="font-size:10pt;margin-top:18pt;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;font-style:italic;min-width:fit-content;">Direct Sales to Distributors</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 sells roxadustat in China directly to a number of pharmaceutical distributors located in one province in China that are not covered by Falikang. These pharmaceutical distributors are the Company&#8217;s customers. Hospitals order roxadustat through a distributor and the Company ships the product directly to the distributors. The delivery of roxadustat to a distributor represents a single performance obligation. Distributors are responsible for delivering product to end users, primarily hospitals. Distributors bear inventory risk once they receive and accept the product. Product revenue is recognized when control of the promised good is transferred to the customer in an amount that reflects the consideration that the Company expects to be entitled to in exchange for the product.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><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 period between the transfer of control of the promised goods and when the Company receives payment is based on 60-day payment terms.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> As such, product revenue is not adjusted for the effects of a significant financing component.</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;">Product revenue is recorded at the net sales prices that includes certain estimates of variable consideration. These estimates include price adjustment calculated based on estimated channel inventory levels when China&#8217;s National Healthcare Security Administration releases price guidance for roxadustat under the National Reimbursement Drug List, various fixed-amount or percentage-based rebates and discounts recorded as a reduction to revenue at the point of sale to the distributor or when distributor meets eligibility requirements, and estimated sales return as </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;">d</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">i</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">stributors can request to return product to the Company only due to quality issues or for product purchased within one year prior to the product&#8217;s expiration date.</span></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;">The calculation of the variable consideration is based on gross sales to the distributor, or estimated utilizing best available information from the distributor, maximum known exposures and other available information including estimated channel inventory levels and estimated sales made by the distributor to hospitals, which involve a significant judgment.</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;">The rebates and discounts all together are eligible to be applied against the distributor&#8217;s future sales order, limited to certain maximums until such rebates and discounts are exhausted. These rebates and discounts are recorded as contract liabilities at the time they become eligible and in the same period that the related revenue is recorded. Due to the Company&#8217;s legal right to offset, at each balance sheet date, the rebates and discounts are presented as reductions to gross accounts receivable from the distributor, or as a current liability to the distributor to the extent that the total amount exceeds the gross accounts receivable or when the Company expects to settle the discount in cash. The Company&#8217;s legal right to offset is determined at the individual distributor level. The contract liabilities were included in accrued and other current liabilities in the consolidated balance sheet. The rebates and discounts reflected as reductions to gross accounts receivable for direct sales.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug product revenue</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;">Drug product revenue includes commercial-grade API or bulk drug product sales to AstraZeneca and Astellas Pharma Inc. (&#8220;Astellas&#8221;) in support of pre-commercial preparation prior to the New Drug Application (&#8220;NDA&#8221;) or Marketing Authorization Application approval, and to Astellas for ongoing commercial activities in Japan and Europe. Drug product revenue is recognized when the Company fulfills the inventory transfer 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;">The amount of variable consideration that is included in the transaction price may be constrained, and is included in the drug product revenue only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period when the uncertainty associated with the variable consideration is subsequently resolved. Estimating variable consideration and the related constraint requires the use of significant management judgment. The Company reviews new information that may affect its variable consideration estimate at every reporting period and records revenue adjustment, if certain and material. Actual amounts of consideration ultimately received in the future may differ from the Company&#8217;s estimates, for which the Company will adjust these estimates and affect the drug product revenue in the period such variances become 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;">As each of the Company&#8217;s collaboration agreements provide for annual true up to the considerations paid for its commercial supplies, the Company will re-evaluate the transaction price in each reporting period and record adjustment to revenue as uncertain events are resolved or other changes in circumstances occur.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">License Acquisition Agreement</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;">In June 2021, the Company entered into an exclusive license and option agreement (the &#8220;HiFiBiO Agreement&#8221;) with HiFiBiO Therapeutics (&#8220;HiFiBiO&#8221;), pursuant to which the Company exclusively licensed all product candidates in HiFiBiO&#8217;s Galectin-9 program and subsequently exclusively licensed all product candidates in HiFiBiO&#8217;s CCR8 program in December 2021. Under the terms of the HiFiBiO Agreement, the Company has paid a $</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 upfront payment to HiFiBiO during the year ended December 31, 2021, and recorded a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">35.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million upfront payment for the CCR8 option exercise in accrued liabilities as of December 31, 2021, which was paid during the first quarter of 2022. HiFiBiO may receive R&amp;D and regulatory milestone payments of up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">175</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, as well as sales milestones of up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">170</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. HiFiBiO will also be eligible to receive tiered royalties based upon worldwide net sales capped at </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;">%, subject to certain reductions. We expect to file INDs on product candidates for both the CCR8 and Galectin-9 programs in the first half of 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: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;">The acquisition of these licenses was accounted for as an asset acquisition. The above-mentioned upfront payments of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">60.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million related to the license and options acquisition meets the definition of an in-process research and development asset (&#8220;IPR&amp;D asset&#8221;) under the ASC 730, </span><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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. They relate to particular research and development projects and are determined to have no alternative future uses and thus have no separate economic value. Therefore, these upfront payments were recorded as research and development expenses during the year ended December 31, 2021, and the cash payments were reflected as investing activities in the consolidated statement of cash flows during the years ended December 31, 2022 and 2021, respectively.</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;">Contingent consideration payments will be evaluated and recognized when they become probable and reasonably estimable. The related IPR&amp;D asset will only be capitalized if it has an alternative future use other than in a particular research and development project. Otherwise, amounts allocated to IPR&amp;D asset that have no alternative use will be expensed. 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 contingencies related to the milestone payments had not been resolved, therefore no contingent consideration was recognized. The Company will reassess the probability of future option payments and contingent payments on a quarterly basis.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Research and Development Expenses</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;">Research and development expenses consist of above-mentioned expense for acquired IPR&amp;D asset, independent research and development costs and the gross amount of costs associated with work performed under collaboration agreements. Research and development costs include employee-related expenses, expenses incurred under agreements with clinical research organizations, other clinical and preclinical costs and allocated direct and indirect overhead costs, such as facilities costs, information technology costs and other overhead. All research and development costs are expensed as incurred.</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:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Clinical Trial Accruals</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;">Clinical trial costs are a component of research and development expenses. The Company accrues and expenses clinical trial activities performed by third parties based upon actual work completed in accordance with agreements established with clinical research organizations and clinical sites. The Company determines the costs to be recorded based upon validation with the external service providers as to the progress or stage of completion of trials or services and the agreed-upon fee to be paid for such services.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Selling, General and Administrative Expenses</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 consist primarily of employee-related expenses for executive, operational, finance, legal, compliance and human resource functions. SG&amp;A expenses also include facility-related costs, professional fees, accounting and legal services, other outside services including co-promotional expenses associated with our commercialization efforts in China, recruiting fees and expenses associated with obtaining and maintaining patents.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Restructuring Charge</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 restructuring charge is recognized when the liability is incurred and accrued in the period in which it is probable that the employees are entitled to the restructuring benefits and the amounts can be reasonably estimated. The restructuring liability accrued but not paid at the end of the reporting period is included in accrued and other current liabilities in the consolidated balance sheets.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Income Taxes</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 utilizes the asset and liability method of accounting for income taxes, which requires the recognition of deferred tax assets and liabilities for expected future consequences of temporary differences between the financial reporting and income tax bases of assets and liabilities using enacted tax rates. Management makes estimates, assumptions and judgments to determine the Company&#8217;s provision for income taxes and for deferred tax assets and liabilities, and any valuation allowances recorded against the Company&#8217;s deferred tax assets. The Company assesses the likelihood that its deferred tax assets will be recovered from future taxable income and, to the extent the Company believes that recovery is not likely, the Company must establish a valuation allowance.</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 calculation of the Company&#8217;s current provision for income taxes involves the use of estimates, assumptions and judgments while taking into account current tax laws, interpretation of current tax laws and possible outcomes of future tax audits. The Company has established reserves to address potential exposures related to tax positions that could be challenged by tax authorities. Although the Company believes its estimates, assumptions and judgments to be reasonable, any changes in tax law or its interpretation of tax laws and the resolutions of potential tax audits could significantly impact the amounts provided for income taxes in the Company&#8217;s consolidated financial statements.</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 calculation of the Company&#8217;s deferred tax asset balance involves the use of estimates, assumptions and judgments while taking into account estimates of the amounts and type of future taxable income. Actual future operating results and the underlying amount and type of income could differ materially from the Company&#8217;s estimates, assumptions and judgments thereby impacting the Company&#8217;s financial position 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;">The Company has adopted ASC 740-10, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accounting for Uncertainty in Income Taxes</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, that prescribes a recognition threshold and measurement attribute for the financial statement recognition and measurement of uncertain tax positions taken or expected to be taken in the Company&#8217;s income tax return, and also provides guidance on derecognition, classification, interest and penalties, accounting in interim periods, disclosure and transition.</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 Company includes interest and penalties related to unrecognized tax benefits within income tax expense in the Consolidated Statements 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><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;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;">The Company maintains equity incentive plans under which equity awards are granted to employees, which are comprised of stock options, service-based restricted stock units (&#8220;RSUs&#8221;), performance-based RSUs (&#8220;PRSUs&#8221;), and total shareholder return (&#8220;TSR&#8221;) awards.</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 Company measures and recognizes compensation expense for all stock options, RSUs and PRSUs granted to its employees and directors based on the estimated fair value of the award on the grant date. The Company uses the Black-Scholes valuation model to estimate the fair value of stock option awards. The determination of the grant date fair value of options using the Black-Scholes valuation model is affected by the Company&#8217;s estimated common stock fair value and requires management to make a number of assumptions including the expected life of the option, the volatility of the underlying stock, the risk-free interest rate and expected dividends. The Company determines the fair value of RSUs and PRSUs using the fair value of our common stock on the date of grant. To estimate the fair value of the TSR awards, the Company uses the Monte Carlo valuation model to simulate the probabilities of achievement, which requires management to make a number of assumptions including 30-day average price, volatility of the underlying stock and the Company&#8217;s peers, and the 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;"> </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 compensation cost of service-based stock options and restricted stock units is recognized net of any estimated forfeitures on a straight-line basis over the employee requisite service period. Compensation cost for PRSUs is expensed over the respective vesting periods when the achievement of performance criteria is probable. Compensation cost for the TSR awards is recognized over the requisite service period, regardless of when, if ever, the market condition is satisfied.</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 Company believes that the fair value of stock options granted to non-employees is more reliably measured than the fair value of the services received.</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:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Comprehensive Income (Loss)</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 is required to report all components of comprehensive income (loss), including net loss, in the consolidated financial statements in the period in which they are recognized. Comprehensive income (loss) is defined as the change in equity during a period from transactions and other events and circumstances from non-owner sources, including unrealized gains and losses on investments and foreign currency translation adjustments. Comprehensive gains (losses) have been reflected in the consolidated statements of comprehensive income (loss) for all periods presented.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Recently Issued Accounting Guidance Not Yet Adopted</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 November 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) No. 2023-07,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> which requires all public entities, including public entities with a single reportable segment, to provide in interim and annual periods one or more measures of segment profit or loss used by the chief operating decision maker to allocate resources and assess performance. In addition, this guidance requires disclosures of significant segment expenses and other segment items as well as incremental qualitative disclosures. This guidance is effective for fiscal years beginning after December 15, 2023, and interim periods after December 15, 2024, with retrospective application required, and early adoption permitted. The Company is currently in the process of evaluating the effects of this guidance on its related disclosures.</span><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 December 2023, the FASB issued ASU 2023-09,</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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, which requires enhanced income tax disclosures, including specific categories and disaggregation of information in the effective tax rate reconciliation, disaggregated information related to income taxes paid, income or loss from continuing operations before income tax expense or benefit, and income tax expense or benefit from continuing operations. This guidance is effective for annual periods beginning after December 15, 2024, with early adoption permitted. The Company is currently in the process of evaluating the impact of this pronouncement on its related disclosures.</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>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="idm140628939844480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues<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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [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_fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock', window );">Collaboration Agreements, License Agreement and Revenues</a></td>
<td class="text"><p style="font-size:10pt;margin-top:18pt;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;">3.	Collaboration Agreements, License Agreement and Revenues</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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;">Astellas Agreements</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;">Astellas Japan 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 June 2005, the Company entered into a collaboration agreement with Astellas for the development and commercialization (but not manufacture) of roxadustat for the treatment of anemia in Japan (&#8220;Astellas Japan Agreement&#8221;). Under this agreement, Astellas paid license fees and other consideration totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">40.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (such amounts were fully received as of February 2009). Under the Astellas Japan Agreement, the Company is also eligible to receive from Astellas an aggregate of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">132.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in potential milestone payments, comprised of (i) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">22.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified clinical and development milestone events (such amounts were fully received as of July 2016), (ii) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">95.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified regulatory milestone events, and (iii) up to approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">15.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon the achievement of specified commercial sales milestone. The Astellas Japan Agreement also provides for tiered payments based on net sales of product (as defined) in </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 low 20% range of the list price</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> published by the Japanese Ministry of Health, Labour and Welfare, adjusted for certain elements, after commercial launch.</span><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 aggregate amount of the considerations received under the Astellas Japan Agreement, through December 31, 2023 totals </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;">105.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, excluding drug product revenue that is discussed under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below. Based on its current development plans for roxadustat in Japan, the Company does not expect to receive most or all of the additional potential milestones under the Astellas Japan 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:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2018, FibroGen and Astellas entered into an amendment to the Astellas Japan Agreement that allows Astellas to manufacture roxadustat drug product for commercialization in Japan (the &#8220;Astellas Japan Amendment&#8221;). Under this amendment, FibroGen would continue to manufacture and supply roxadustat API</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;">to Astellas for the roxadustat commercial activities in Japan. The commercial terms of the Astellas Japan Agreement relating to the transfer price for roxadustat for commercial use remain substantially the same, reflecting an adjustment for the manufacture of drug product by Astellas rather than FibroGen. The related drug product revenue is described under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section 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:18pt;font-family:Times New Roman;margin-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;">Astellas Europe 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 April 2006, the Company entered into a separate collaboration agreement with Astellas for the development and commercialization of roxadustat for the treatment of anemia in Europe, the Middle East, the Commonwealth of Independent States and South Africa (&#8220;Astellas Europe Agreement&#8221;). Under the terms of the Astellas Europe Agreement, Astellas paid license fees and other upfront consideration totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">320.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (such amounts were fully received as of February 2009). The Astellas Europe Agreement also provides for additional development and regulatory approval milestone payments up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">425.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, comprised of (i) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">90.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified clinical and development milestone events (such amounts were fully received as of 2012), and (ii) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">335.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified regulatory milestone events. Under the Astellas Europe Agreement, Astellas committed to fund </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 joint development costs for Europe and North America, and all territory-specific costs. The Astellas Europe Agreement also provides for tiered payments based on net sales of product (as defined) in the </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;">low 20% range</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><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 21, 2022, EVRENZO</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;"> (roxadustat) was registered with the Russian Ministry of Health. The Company evaluated the regulatory milestone payment associated with the approval in Russia under the Astellas Europe Agreement and concluded that this milestone was achieved in the first quarter of 2022. Accordingly, the consideration of $</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 associated with this milestone was included in the transaction price and allocated to performance obligations under the Astellas Europe Agreement, all of which was recognized as revenue during the year ended December 31, 2022 from performance obligations satisfied.</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 third quarter of 2021, the European Commission approved EVRENZO</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;"> (roxadustat) for the treatment of adult patients with symptomatic anemia associated with CKD. Astellas has launched EVRENZO in Germany, the United Kingdom, the Netherlands, and Austria. This approval triggered a total of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">120.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million milestone payable to the Company by Astellas under the Astellas Europe Agreement. Accordingly, the consideration of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">120.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million associated with these milestones was included in the transaction price and allocated to performance obligations under the Astellas Europe Agreement, all of which was recognized as revenue during the year ended December 31, 2021 from performance obligations satisfied.</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 aggregate amount of the considerations received under the Astellas Europe Agreement through December 31, 2023 totals </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;">685.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, excluding drug product revenue that is discussed under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below. Based on its current development plans for roxadustat in Europe, the Company does not expect to receive most or all of the additional potential milestones under the Astellas Europe 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:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the Astellas Europe Agreement, Astellas has an option to purchase roxadustat bulk drug product in support of commercial supplies. During the first quarter of 2021, the Company entered into an EU Supply Agreement with Astellas (&#8220;Astellas EU Supply Agreement&#8221;) to define general forecast, order, supply and payment terms for Astellas to purchase roxadustat bulk drug product from FibroGen in support of commercial supplies. The related drug product revenue is described under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section 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:18pt;font-family:Times New Roman;margin-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;">Accounting for the Astellas Agreements</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 each of the Astellas agreements, the Company has evaluated the promised services within the respective arrangements and has identified performance obligations representing those services and bundles of services that are distinct.</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;">Promised services that were not distinct have been combined with other promised services to form a distinct bundle of promised services, with revenue being recognized on the bundle of services rather than the individual services. There are no right-of-return provisions for the delivered items in the Astellas agreements.</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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the transaction price for the Astellas Japan Agreement, excluding manufacturing services that is discussed separately below, included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">40.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of non-contingent upfront payments, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">65.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of variable consideration related to payments for milestones achieved, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of variable consideration related to co-development billings. The transaction price for the Astellas Europe Agreement, excluding manufacturing services that is discussed separately below, included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">320.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of non-contingent upfront payments, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">365.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of variable consideration related to payments for milestones achieved, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">220.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of variable consideration related to co-development billings.</span><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 technology license under the Astellas Japan Agreement and the Astellas Europe Agreement, SSP was determined primarily by using the discounted cash flow (&#8220;DCF&#8221;) method, which aggregates the present value of future cash flows to determine the valuation as of the effective date of each of the agreements. The DCF method involves the following key steps: 1) the determination of cash flow forecasts and 2) the selection of a range of comparative risk-adjusted discount rates to apply against the cash flow forecasts. The discount rates selected were based on expectations of the total rate of return, the rate at which capital would be attracted to the Company and the level of risk inherent within the Company. The discounts applied in the DCF analysis ranged from </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">17.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">20.0</span><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 flow forecasts were derived from probability-adjusted revenue and expense projections by territory. Such projections included consideration of taxes and cash flow adjustments. The probability adjustments were made after considering the likelihood of technical success at various stages of clinical trials and regulatory approval phases. SSP also considered certain future royalty payments associated with commercial performance of the Company&#8217;s compounds, transfer prices and expected gross margins.</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 promised services that were analyzed, along with their general timing of satisfaction and recognition as revenue, are as follows:</span></p><div style="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.537%;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;">License to the Company&#8217;s technology existing at the effective date of the agreements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> For both of the Astellas agreements, the license was delivered at the beginning of the agreement term. In both cases, the Company concluded at the time of the agreement that its collaboration partner, Astellas, would have the knowledge and capabilities to fully exploit the licenses without the Company&#8217;s further involvement. However, the Astellas Japan Agreement has contractual limitations that might affect Astellas&#8217; ability to fully exploit the license and therefore, potentially, the conclusion as to whether the license is capable of being distinct. The Company considered the fact that at the time of delivery of the license, the development services were beyond the preclinical development phase and any remaining development work in either agreement would not be expected to result in any significant modification or customization to the licensed technology. As such, the development services are separately identifiable from the licensed technology, indicating that the license is a distinct performance obligation. The portion of the transaction price allocated to this performance obligation based on a relative SSP basis was recognized as revenue in its entirety at the point in time the license transfers to Astellas.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Co-development services (Astellas Europe Agreement). </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This promise relates to co-development services that were reasonably expected to be performed by the Company at the time the collaboration agreement was signed and is considered distinct. Co-development billings are allocated entirely to the co-development services performance obligation as amounts are related specifically to research and development efforts necessary to satisfy the performance obligation related to CKD approval, and such an allocation is consistent with the allocation objective. Through the third quarter of 2021 upon the approval of CKD, revenue was recognized over time based on progress toward complete satisfaction of the performance obligation. The Company used an input method to measure progress toward the satisfaction of the performance obligation, which was based on costs of labor hours and out-of-pocket expenses incurred relative to total expected costs to be incurred. Subsequently, the Company accounts for the development services for the indications related to chemotherapy-induced anemia and myelodysplastic syndromes separately as services are provided. There w</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">as </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;"> provision for co-development services in the Astellas Japan Agreement. </span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">License to the Company&#8217;s technology developed during the term of the agreement and development (referred to as &#8220;when and if available&#8221;) and information sharing services. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">These promises are generally satisfied throughout the term of the agreements.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Manufacturing of clinical supplies of products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> This promise is satisfied as supplies for clinical product are delivered for use in the Company&#8217;s clinical trial programs during the development period, or pre-commercialization period.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;display:inline-flex;justify-content:flex-start;">(5)</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;">Committee service</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. This promise is satisfied throughout the course of the agreements as meetings are attended.</span></div></div><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Items (2)-(5) are bundled into a single performance obligation that is distinct given the fact that all are highly interrelated during the development period (pre-commercial phase of development) such that satisfying them independently is not practicable. For the revenue recognized over time based on progress toward complete satisfaction of the performance obligation, the Company uses an input method to measure progress toward the satisfaction of the performance obligation, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred, and updates the measure of progress in each reporting period.</span></p><div style="display:flex;margin-top:12pt;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.537%;display:inline-flex;justify-content:flex-start;">(6)</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;">Manufacturing commercial supplies of products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> This promised service is distinct as services are not interrelated with any of the other performance obligations. Payments received for commercial supplies of products represent sales-based payments related predominately to the license of intellectual property under both Astellas agreements. Revenue is recognized as supplies are shipped for commercial use during the commercialization period. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></div></div><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 Astellas Japan Amendment, the drug product revenue represents variable consideration and is estimated based on the quantity of product shipped, actual listed price for roxadustat issued by the Japanese Ministry of Health, Labour and Welfare and possible future changes to the listed price, adjusted for the timing of and estimated bulk product strength mix intended to be manufactured by Astellas, estimated cost to convert the API to bulk drug product tablets, and estimated yield from the manufacture of bulk product tablets, among others.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 Astellas Europe Agreement, the drug product revenue amount represents variable consideration and is estimated based on the quantity of product transferred and an estimated price. The estimated price is based on the contractual transfer price percentage applied on the estimated weighted average net sales price per strength, which is estimated to be realized by Astellas from the end sale of roxadustat in its approved territories.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">License Revenue and Development Revenue Recognized Under the Astellas 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;">License amounts identified below are included in the &#8220;License revenue&#8221; line item in the consolidated statements of operations. All other elements identified below are included in the &#8220;Development and other revenue&#8221; line item in the consolidated statements of operations.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amounts recognized as license revenue and development revenue under the Astellas Japan Agreement were as follows 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 (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: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:100.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:24.725%;"></td>
          <td style="width:1.98%;"></td>
          <td style="width:22.404%;"></td>
          <td style="width:1.98%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.983%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.98%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.983%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.98%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.983%;"></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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">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;">Agreement</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;"><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;">Performance Obligation</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: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;">Astellas Japan Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Development 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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="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:10pt;font-family:Times New Roman;min-width:fit-content;">The transaction price related to consideration received through </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 accounts receivable has been allocated to each of the following performance obligations under the Astellas Japan Agreement, along with any associated deferred revenue as follows (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: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:64.48%;"></td>
          <td style="width:2.72%;"></td>
          <td style="width:1%;"></td>
          <td style="width:30.799999999999997%;"></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;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;">Astellas Japan Agreement</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;">Total Consideration<br/>&#160;Through <br/>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: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;">License</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;">100,347</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Development 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;">17,092</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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 license and development 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">117,439</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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: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;">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;"> license rev</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">enue or development revenue resulting from changes to estimated variable consideration in the current period relating to performance obligations satisfied or partially satisfied in previous periods for the year ended December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> under the Astellas Japan Agreement. The Company does </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;">t expect material variable consideration from estimated future co-development billing beyond the development period in the transaction price related to the Astellas Japan Agreement.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amounts recognized as license revenue and development revenue under the Astellas Europe Agreement were as follows 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 (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: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:100.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:23.405%;"></td>
          <td style="width:1.78%;"></td>
          <td style="width:20.264%;"></td>
          <td style="width:1.78%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.403%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.78%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.403%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.78%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.403%;"></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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">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;">Agreement</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;"><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;">Performance Obligation</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: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;">Astellas Europe Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;">License 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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,590</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">108,434</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="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="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;">Development 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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,452</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,624</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,679</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="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:10pt;font-family:Times New Roman;min-width:fit-content;">The transaction price related to consideration received through </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 accounts receivable has been allocated to each of the following performance obligations under the Astellas Europe Agreement, along with any associated deferred revenue as follows (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: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:64.48%;"></td>
          <td style="width:2.72%;"></td>
          <td style="width:1%;"></td>
          <td style="width:30.799999999999997%;"></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;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;">Astellas Europe Agreement</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;">Total Consideration<br/>&#160;Through <br/>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: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;">License</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">618,975</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Development 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;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">286,717</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 license and development 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">905,692</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="text-indent:-2.557%;padding-left:2.507%;font-size:10pt;margin-top:2pt;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;">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;"> license revenue or development revenue resulting from changes to estimated variable consideration in the current period relating to performance obligations satisfied or partially satisfied in previous periods 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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> under the Astellas Europe Agreement. The Company does </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;">t expect material variable consideration from estimated future co-development billing beyond the development period in the transaction price related to the Astellas Europe Agreement.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">AstraZeneca Agreements</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;">AstraZeneca U.S./Rest of World (&#8220;RoW&#8221;) 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;">Effective July 30, 2013, the Company entered into a collaboration agreement with AstraZeneca for the development and commercialization of roxadustat for the treatment of anemia in the U.S. and all other countries in the world, other than China, not previously licensed under the Astellas Europe and Astellas Japan Agreements (&#8220;AstraZeneca U.S./RoW Agreement&#8221;). The AstraZeneca U.S./RoW Agreement was terminated on February 23, 2024 (except South Korea). China is covered by a separate agreement with AstraZeneca described below. Under the terms of the AstraZeneca U.S./RoW Agreement, AstraZeneca paid upfront, non-contingent, non-refundable and time-based payments totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">374.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (such amounts were fully received as of June 2016). Under the AstraZeneca U.S./RoW Agreement, AstraZeneca also agreed to pay an aggregate of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">875.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in potential milestone payments, comprised of (i) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">65.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified clinical and development milestone events, (ii) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">325.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified regulatory milestone events, (iii) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">160.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments related to activity by potential competitors and (iv) up to approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">325.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon the achievement of specified commercial sales events.</span><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 AstraZeneca U.S./RoW Agreement, the Company and AstraZeneca equally share in the development costs of roxadustat not already paid for by Astellas, up to a total of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">233.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (i.e. the Company&#8217;s share of development costs is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">116.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which was reached in 2015). Development costs incurred by FibroGen during the development period in excess of the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">233.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (aggregated spend) are fully reimbursed by AstraZeneca.</span><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 aggregate amount of the considerations received under the AstraZeneca U.S./RoW Agreement through December 31, 2023 totals </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;">439.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, excluding drug product revenue that is discussed under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section 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;">In 2020, the Company entered into a Master Supply Agreement with AstraZeneca under the AstraZeneca U.S./RoW Agreement (&#8220;AstraZeneca Master Supply Agreement&#8221;) to define general forecast, order, supply and payment terms for AstraZeneca to purchase roxadustat bulk drug product from FibroGen in support of commercial supplies. The related drug product revenue is described under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">AstraZeneca China 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;">Effective July 30, 2013, the Company (through its subsidiaries affiliated with China) entered into a collaboration agreement with AstraZeneca for the development and commercialization (but not manufacture) of roxadustat for the treatment of anemia in China (&#8220;AstraZeneca China Agreement&#8221;). Under the terms of the AstraZeneca China Agreement, AstraZeneca agreed to pay upfront consideration totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">28.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (such amounts were fully received in 2014). Under the AstraZeneca China Agreement, the Company is also eligible to receive from AstraZeneca an aggregate of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">348.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in potential milestone payments, comprised of (i) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">15.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified clinical and development milestone events, (ii) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">146.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified regulatory milestone events, and (iii) up to approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">187.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon the achievement of specified commercial sales and other events. The AstraZeneca China Agreement is structured as a 50/50 profit or loss share (as defined), which was amended under the AstraZeneca China Amendment in 2020 as discussed below, and provides for joint development costs (including capital and equipment costs for construction of the manufacturing plant in China), to be shared equally during the development 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;">The aggregate amount of the considerations received for milestone and upfront payments under the AstraZeneca China Agreement through December 31, 2023 totals </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;">77.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="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;">On September 18, 2023, the Company received the formal notice, from Beijing Medical Products Administration, of renewal of its right to continue to market roxadustat in China through 2028. The Company evaluated the regulatory milestone payment associated with this renewal under the AstraZeneca China Agreement and concluded that this milestone was achieved in the third quarter of 2023. Accordingly, the consideration of $</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 associated with this milestone was included in the transaction price and allocated to performance obligations under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, $</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 which was recognized as revenue during the year ended December 31, 2023 from performance obligations satisfied or partially satisfied. A</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">s of December 31, 2023, t</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">he $</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 milestone was recorded as a contract asset and was fully </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">netted against the contract liabilities (deferred revenue) related to the AstraZeneca U.S./RoW Agreement and AstraZeneca China Agreement.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">AstraZeneca China Amendment</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 July 2020, FibroGen China Anemia Holdings, Ltd., FibroGen Beijing, and FibroGen International (Hong Kong) Limited and AstraZeneca entered into an amendment, relating to the development and commercialization of roxadustat in China (the &#8220;AstraZeneca China Amendment&#8221;). Under the AstraZeneca China Amendment, in 2020, FibroGen Beijing and AstraZeneca completed the establishment of a jointly owned entity, Falikang, which performs roxadustat distribution, as well as conducts sales and marketing through AstraZeneca.</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 AstraZeneca China Amendment, with effect from April 1, 2020, AstraZeneca&#8217;s co-promotion expenses for their sales and marketing efforts are subject to a cap of a percentage of net sales. In addition, the AstraZeneca China Amendment has allowed for a higher cost of manufacturing incurred by FibroGen Beijing to be included in the profit or loss share calculation, subject to an annual cap, among other changes.</span><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 co-promotion expenses 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;">, capped at a percentage of net roxadustat sales in China, were $</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, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.4</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;">4.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, included in the selling, general and administrative expenses.</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 AstraZeneca China Amendment, profit/loss share between FibroGen Beijing and AstraZeneca is based on a calculation of the current period net roxadustat sales in China and deductible expenses pursuant to the AstraZeneca China Agreement. Based on the calculation revised under the AstraZeneca China Amendment, profit was achieved during 2020. As a result, the Company recorded a corresponding one-time profit share liability to AstraZeneca, the balance of which 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;">7.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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;">7.3</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;"> as of December 31, 2023 and 2022, respectively, in accrued and other current liabilities in the consolidated balance sheet.</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;">Substantially all direct roxadustat product sales to distributors in China are made by Falikang, while FibroGen Beijing continues to sell roxadustat product directly in one province in China. FibroGen Beijing manufactures and supplies commercial product to Falikang based on a gross transaction price, adjusted for the estimated profit share. In addition, AstraZeneca bills the co-promotion expenses to Falikang and to FibroGen Beijing, respectively, for its services provided to the respective entity. AstraZeneca is entitled to reimbursement of its sales and marketing expenses up to a cumulative capped amount of a percentage of net sales. Once such amount is reached, AstraZeneca will bill the co-promotion expenses based on actual costs as incurred plus a markup on a prospective basis, which is currently expected to continue through 2033. Development costs continue to be shared 50/50 between the Parties.</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 related net product revenue recognized from the sales to Falikang and the sales directly to distributors are discussed under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accounting for the AstraZeneca Agreements</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 evaluated whether the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement should be accounted for as a single or separate arrangements and concluded that the agreements should be accounted for as a single arrangement with the presumption that two or more agreements executed with a single customer at or around the same time should be presumed to be a single arrangement. The key points the Company considered in reaching this conclusion 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><div style="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.537%;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;">While the two agreements were largely negotiated separately, those negotiations proceeded concurrently, and were intended to be completed contemporaneously, presuming AstraZeneca</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;">decided to proceed with licenses in all regions available. </span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Throughout negotiations for both agreements, the Company and the counterparties understood and considered the possibility that one arrangement may be executed without the execution of the other arrangement. However, the preference for the Company and the counterparties during the negotiations was to execute both arrangements concurrently. </span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;min-width:fit-content;">The two agreements were executed as separate agreements because different development, regulatory and commercial approaches required certain terms of the agreements to be structured differently, rather than because the Company or the counterparties considered the agreements to be fundamentally separate negotiations.</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;">Accordingly, as the agreements are being accounted for as a single arrangement, upfront and other non-contingent consideration received and to be received has been and will be pooled together and allocated to each of the performance obligations in both the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement based on their relative SSPs.</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 each of the AstraZeneca agreements, the Company has evaluated the promised services within the respective arrangements and has identified performance obligations representing those services and bundled services that are distinct.</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;">Promised services that were not distinct have been combined with other promised services to form a distinct bundle of promised services, with revenue being recognized on the bundle of services rather than the individual promised services. There are no right-of-return provisions for the delivered items in the AstraZeneca agreements.</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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the transaction price for the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, excluding manufacturing services that is discussed separately below, included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">402.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of non-contingent upfront payments, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">118.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of variable consideration related to payments for milestones considered probable of being achieved, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">614.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of variable consideration related to co-development billings, offset by </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;">7.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of variable consideration related to the above-mentioned one-time profit share under the AstraZeneca China Amendment.</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 AstraZeneca agreements, the Company allocated the transaction price to the various performance obligations based on the relative SSP of each performance obligation, with the exception of co-development billings and commercial sale of product. Co-development billings under the AstraZeneca U.S./RoW Agreement were allocated entirely to the U.S./RoW co-development services performance obligation, and co-development billings under the AstraZeneca China Agreement were allocated entirely to the combined performance obligation under the AstraZeneca China Agreement. Commercial sale of product under the AstraZeneca U.S./ROW Agreement is entirely allocated to the manufacturing commercial supply of products performance obligation, and commercial sale of product under the AstraZeneca China Agreement is allocated entirely to the combined China performance obligation.</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 revenue recognition purposes, the Company determined that the terms of its collaboration agreements with AstraZeneca begin on the effective date and end upon the completion of all performance obligations contained in the agreements. The contract term is defined as the period in which parties to the contract have present and enforceable rights and obligations. The Company believes that the requirement to continue funding development for a substantive period of time and the loss of product rights, along with non-refundable upfront payments already remitted by AstraZeneca, represent substantive termination penalties that create significant disincentive for AstraZeneca to exercise its right to terminate the agreement.</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 technology license under the AstraZeneca U.S./RoW Agreement, SSP was determined based on a two-step process. The first step involved determining an implied royalty rate that would result in the net present value of future cash flows to equal to zero (i.e. where the implied royalty rate on the transaction would equal the target return for the investment). This results in an upper bound estimation of the magnitude of royalties that a hypothetical acquirer would reasonably pay for the forecasted cash flow stream. The Company&#8217;s cash flow forecasts were derived from probability-adjusted revenue and expense projections. Such projections included consideration of taxes and cash flow adjustments. The probability adjustments were made after considering the likelihood of technical success at various stages of clinical trials and regulatory approval phases. The second step involved applying the implied royalty rate, which was determined to be </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">40</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, against the probability-adjusted projected net revenues by territory and determining the value of the license as the net present value of future cash flows after adjusting for taxes. The discount rate utilized was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">17.5</span><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: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;font-style:italic;min-width:fit-content;">AstraZeneca U.S./RoW 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;">The promised services that were analyzed, along with their general timing of satisfaction and recognition as revenue, are as follows:</span></p><div style="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.537%;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;">License to the Company&#8217;s technology existing at the effective date of the agreements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> For the AstraZeneca U.S./RoW Agreement, the license was delivered at the beginning of the agreement term. The Company concluded that AstraZeneca has the knowledge and capabilities to fully exploit the license under the AstraZeneca U.S./RoW Agreement without the Company&#8217;s further involvement. Finally, the Company considered the fact that at the time of delivery of the license, the development services were beyond the preclinical development phase and any remaining development work would not be expected to result in any significant modification or customization to the licensed technology. As such, the development services are separately identifiable from the licensed technology, indicating that the license is a distinct performance obligation. Therefore, the Company has concluded that the license is distinct and represents a performance obligation. The portion of the transaction price allocated to this performance obligation based on a relative SSP basis is recognized as revenue in its entirety at the point in time the license transfers to AstraZeneca.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Co-development services. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This promise relates to co-development services that were reasonably expected to be performed by the Company at the time the collaboration agreement was signed and is distinct. Co-development billings are allocated entirely to the co-development services performance obligation as amounts are related specifically to research and development efforts necessary to satisfy the performance obligation, and such an allocation is consistent with the allocation objective. Through the end of 2021, revenue was recognized over time based on progress toward complete satisfaction of the performance obligation. The Company used an input method to measure progress toward the satisfaction of the performance obligation related to CKD approval, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred. Subsequently, the Company accounts for the development services for other significant indications related to chemotherapy-induced anemia and myelodysplastic syndromes separately as services are provided.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Manufacturing of clinical supplies of products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> This promise is satisfied as supplies for clinical product are delivered for use in the Company&#8217;s clinical trial programs during the development period, or pre-commercialization period.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Information sharing and committee service.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> These promises are satisfied throughout the course of the agreement as services are provided.</span></div></div><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Items (2)-(4) are bundled into a single performance obligation that is distinct given the fact that all are highly interrelated during the development period (pre-commercial phase of development) such that delivering them independently is not practicable. For the revenue recognized over time based on progress toward complete satisfaction of the performance obligation, the Company uses an input method to measure progress toward the satisfaction of the performance obligation, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred, and updates the measure of progress in each reporting period.</span></p><div style="display:flex;margin-top:12pt;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.537%;display:inline-flex;justify-content:flex-start;">(5)</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;">Manufacturing commercial supplies of products. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This promise is distinct as services are not interrelated with any of the other performance obligations. Revenue is recognized as supplies are shipped for commercial use during the commercialization period. The drug product revenue amount represents variable consideration and is estimated based on the quantity of product shipped and an estimated price for each individual purchase order. The estimated price is based on the contractual transfer price percentage applied on the estimated weighted average net sales price, which is estimated to be realized by AstraZeneca from the end sale of roxadustat in its approved territories. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></div></div><p style="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;font-style:italic;min-width:fit-content;">AstraZeneca China 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;">The promised services that were analyzed are consistent with the AstraZeneca U.S./RoW Agreement, except for license to the Company&#8217;s technology existing at the effective date of the agreement, described as follows:</span></p><div style="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.537%;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;">License to the Company&#8217;s technology existing at the effective date of the agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The license was delivered at the beginning of the agreement term. However, the AstraZeneca China Agreement has contractual limitations that might affect AstraZeneca&#8217;s ability to fully exploit the license and therefore, potentially, the conclusion as to whether the license is distinct in the context of the agreement. In the AstraZeneca China Agreement, AstraZeneca does not have the right to manufacture commercial supplies of the drug. In order to determine whether this characteristic of the arrangement should lead to a conclusion that the license was not distinct in the context of the agreement, the Company considered the ability of AstraZeneca to benefit from the license on its own or together with other resources readily available to AstraZeneca.</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;">For the AstraZeneca China Agreement, the Company retained manufacturing rights as an essential part of a strategy to pursue domestic regulatory pathway for product approval, which requires the regulatory licensure of the manufacturing facility in order to commence commercial shipment. The prospects for the collaboration as a whole would have been substantially different had manufacturing rights been provided to AstraZeneca. The Company holds the rights to manufacture commercial drug product in China. Therefore, AstraZeneca cannot benefit from the license on its own or together with other readily available resources. Accordingly, all the promises identified, including the license, co-development services and manufacturing of commercial supplies, under the AstraZeneca China Agreement have been bundled into a single performance obligation and amounts of the transaction price allocable to this performance obligation are deferred until control of the manufactured commercial drug product has begun to transfer to AstraZeneca.</span><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 accordance with the AstraZeneca China Amendment, substantially all product sales will be made by Falikang directly to the distributors in China, while the Company continues to sell directly in one province in China. Revenue is recognized at a point in time when control of roxadustat commercial product is transferred to Falikang. For the Company&#8217;s direct sales of commercial drug product, revenue is recognized when control of the promised good is transferred to the customer in an amount that reflects the consideration that the Company expects to be entitled to in exchange for the product. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></p></div><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">License Revenue and Development Revenue Recognized Under the AstraZeneca 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><div style="font-size:10pt;font-family:Times New Roman;"><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;">Amounts recognized as license revenue and development revenue under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement were as follows 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 (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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:30.386%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:20.344%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.342%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.342%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.342%;"></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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">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;">Agreement</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;"><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;">Performance Obligation</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: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;">AstraZeneca U.S./RoW Agreement and AstraZeneca China Agreement</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">License 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:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</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;">2,649</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: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="color:#000000;min-width:fit-content;">$</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;">&#8212;</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: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="color:#000000;min-width:fit-content;">$</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;">&#8212;</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>
       </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="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="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;">Development revenue</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:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</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;">9,473</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">48,345</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="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:10pt;font-family:Times New Roman;min-width:fit-content;">The transaction price related to consideration received through </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 accounts receivable has been allocated to each of the following performance obligations under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, along with any associated deferred revenue as follows (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: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:38.898%;"></td>
        <td style="width:1.111%;"></td>
        <td style="width:1%;"></td>
        <td style="width:16.093%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.111%;"></td>
        <td style="width:1%;"></td>
        <td style="width:16.093%;"></td>
        <td style="width:1%;"></td>
        <td style="width:3.334%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.36%;"></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;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;">AstraZeneca U.S./RoW Agreement and <br/>AstraZeneca China Agreement</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;">Cumulative Revenue <br/>Through <br/>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 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;">Deferred Revenue at<br/>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 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;">Total Consideration<br/>&#160;Through <br/>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: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;">License</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,493</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,493</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Co-development, information sharing &amp; <br/>&#160;&#160;committee 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">625,111</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">625,111</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">China performance obligation *</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">195,789</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">179,851</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">375,640</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 license and development 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,165,393</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">179,851</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,345,244</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:86.667%;text-align:left;"><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:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">*  China performance obligation revenue is recognized as product revenue, as described in details under </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></p><p id="highlight_result_11" 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;">**  Contract assets and liabilities related to rights and obligations in the same contract are recorded net on the consolidated balance sheets. As of December 31, 2023, deferred revenue included </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;">153.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;"> related to the AstraZeneca U.S./RoW and the AstraZeneca China Agreement, which represents the net 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;">179.9</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;"> of deferred revenue presented above and a </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;">26.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;"> unbilled milestone and co-development revenue under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">AstraZeneca China Amendment</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:12pt;font-family:Times New Roman;margin-bottom: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;"> license rev</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">enue or development revenue resulting from changes to estimated variable consideration in the current period relating to performance obligations satisfied or partially satisfied in previous periods for the year ended 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 remainder of the transaction price related to the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement includes $</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 of variable consideration from estimated future co-development billing and is expected to be recognized over the remaining development service period, except for amounts allocated to the China performance obligation. The amount allocated to the China performance obligation is expected to be recognized as the Company transfers control of the commercial drug product to Falikang, and is expected to continue through 2033, which reflects the Company&#8217;s best estimates, taking into account its estimated loss of exclusivity upon expiry of its composition of matter patent in 2024, its existing patent portfolio, and competition from generics.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Product Revenue, Net</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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;">Product revenue, net from the sales of roxadustat commercial product in China was as follows 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 (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: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:44.309%;"></td>
          <td style="width:1.82%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.743%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.82%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.743%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.82%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.743%;"></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;">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: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;">Direct Sales:</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 colspan="2" style="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="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="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="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="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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;">Gross revenue</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>
          <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="color:#000000;min-width:fit-content;">$</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;">13,190</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="color:#000000;min-width:fit-content;">$</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;">12,366</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
         </tr>
         <tr style="height:10pt;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Discounts and rebates</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="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;">665</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">1,740</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Sales returns</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:bottom;"><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;">Direct sales revenue, net</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,894</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,702</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,070</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;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: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="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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;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;">Sales to Falikang:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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: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;">Gross transaction price</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">154,817</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">112,544</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">97,531</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Profit share</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,254</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">43,716</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">34,759</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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;">Net transaction price</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,563</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,828</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">62,772</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Decrease (increase) in deferred revenue</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">492</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,339</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">27,204</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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:bottom;"><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;">Sales to Falikang revenue, net</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">89,055</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,167</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,568</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:30pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:30pt;text-indent:0;font-size:10pt;margin-top: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, net</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>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,949</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,869</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,638</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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: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;font-style:italic;min-width:fit-content;">Direct Sales</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;">Product revenue from direct roxadustat product sales to distributors in China is recognized in an amount that reflects the consideration that the Company expects to be entitled to in exchange for those products, net of sales rebates and discounts.</span><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 discounts and rebates consisted of the price adjustments recorded based on government-listed price guidance and estimated channel inventory levels, the contractual sales rebate calculated based on the stated percentage of gross sales by each distributor in the distribution agreement entered between FibroGen and each distributor, and other rebates and discounts, as well as sales return allowance. The total discounts and rebates were immaterial 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:12pt;font-family:Times New Roman;margin-bottom: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 Company&#8217;s legal right to offset, at each balance sheet date, the rebates and discounts are presented as reductions to gross accounts receivable from the distributor, or as a current liability to the distributor to the extent that the total amount exceeds the gross accounts receivable or when the Company expects to settle the discount in cash. The Company&#8217;s legal right to offset is determined at the individual distributor level. The contract liabilities were included in accrued and other current liabilities in the consolidated balance sheet and were immaterial as of December 31, 2023 and 2022. The rebates and discounts were reflected as reductions to gross accounts receivable for direct sales and were immaterial as of December 31, 2023 and 2022.</span></p><p style="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;font-style:italic;min-width:fit-content;">Sales to Falikang &#8211; China Performance Obligation</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;">Substantially all direct roxadustat product sales to distributors in China are made by Falikang. FibroGen Beijing manufactures and supplies commercial product to Falikang. The net transaction price for FibroGen Beijing&#8217;s product sales to Falikang is based on a gross transaction price, adjusted for the estimated profit share.</span><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 roxadustat sales to Falikang marked the beginning of the Company&#8217;s China performance obligation under the Company&#8217;s agreements with AstraZeneca</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><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Product revenue is based on the transaction price of the China performance obligation. Revenue is recognized when control of the product is transferred to Falikang, in an amount that reflects the allocation of the transaction price to the performance obligation satisfied during the reporting period. Any net transaction price in excess of the revenue recognized is added to the deferred balance to date, and will be recognized in future periods as the performance obligation is satisfied.</span><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;">Periodically, the Company updates its assumptions such as total sales quantity, performance period, gross transaction price,  profit share and other inputs including foreign currency translation impact, among others. Following updates to its estimates, the Company recognized </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;">0.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;"> from the previously deferred revenue of the China performance obligation during the year ended December 31, 2023. The product revenue recognized for the year ended December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> included a decrease in revenue of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million resulting from changes to estimated variable consideration in the current period relating to performance obligation satisfied in previous periods. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Comparatively, following updates to its estimates, the Company recognized </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;">2.3</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;"> from the previously deferred revenue of the China performance obligation during the year ended December 31, 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:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 includes a roll-forward of the related deferred revenue that is considered as a contract liability (in thousands):</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:35.734%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:9.945%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.12%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.425%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.441%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.704%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.12%;"></td>
          <td style="width:1%;"></td>
          <td style="width:9.965%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.12%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.425%;"></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;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 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;">Balance at<br/>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>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Additions</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Recognized as Revenue</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Currency<br/>Translation<br/>and Other</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Balance at<br/>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: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;">Product revenue - AstraZeneca China <br/>&#160;&#160;&#160;performance obligation - deferred revenue</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">175,646</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">94,099</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">89,055</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">179,851</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 revenue includes amounts allocated to the China performance obligation under the AstraZeneca arrangement as revenue recognition associated with this unit of accounting is tied to the commercial launch of the products within China and to when the control of the manufactured commercial products is transferred to AstraZeneca. 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;">, approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">32.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 above deferred revenue related to the China unit of accounting was included in short-term deferred revenue, which represents the amount of deferred revenue associated with the China unit of accounting that is expected to be recognized within the next 12 months, associated with the commercial sales in China.</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 Company&#8217;s legal right to offset, at each balance sheet date, the rebates and discounts, mainly related to profit sharing, are presented as reductions to gross accounts receivable from Falikang, which was $</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 and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million 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.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Drug Product Revenue, Net</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="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Drug product revenue from commercial-grade </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">API or bulk drug product sales to Astellas and AstraZeneca was as follows for the years ended December 31, 2023, 2022 and 2021 (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="font-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:38.5%;"></td>
          <td style="width:1.96%;"></td>
          <td style="width:1%;"></td>
          <td style="width:17.74%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.96%;"></td>
          <td style="width:1%;"></td>
          <td style="width:15.940000000000001%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.96%;"></td>
          <td style="width:1%;"></td>
          <td style="width:15.940000000000001%;"></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;">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;">
          <td style="white-space:pre-wrap;vertical-align: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;">Astellas Japan Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,656</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,480</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">2,056</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Astellas Europe Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,097</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;">1,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>
         </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;">AstraZeneca U.S./RoW Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">&#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;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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,224</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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:15pt;white-space:pre-wrap;vertical-align:bottom;"><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;">Drug product revenue, net</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,753</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">962</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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: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;font-style:italic;min-width:fit-content;">Astellas Japan 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;">During the year ended December 31, 2021, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Astellas Japan Amendment, and accordingly recorded adjustments to the drug product revenue of $</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. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect the changes in the estimated bulk product strength mix intended to be manufactured by </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Astellas, estimated cost to convert the API to bulk product tablets, and estimated yield from the manufacture of bulk product tablets, among others.</span><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;">During the first quarter of 2022, the Company fulfilled a shipment obligation under the terms of Astellas Japan Amendment, and recognized related drug product revenue 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 in the same period. During the fourth quarter of 2022, the Company fulfilled a shipment obligation under the terms of Astellas Japan Amendment, and recognized related drug product revenue of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.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 same period. In addition, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Japan Amendment with Astellas, and recorded a reduction to the drug product revenue of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million during the year ended December 31, 2022. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect foreign currency translation impact, the changes in the estimated bulk product strength mix intended to be manufactured by Astellas, estimated cost to convert the API to bulk product tablets, and estimated yield from the manufacture of bulk product tablets, among others.</span><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;">During the second quarter of</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 2023, the Company fulfilled two shipment obligations under the terms of Astellas Japan Amendment, and recognized related drug product revenue of $</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 in the same period. In addition, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Astellas Japan Amendment and accordingly recorded an adjustment to the drug product revenue of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the year ended December 31, 2023. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect the changes in the estimated bulk product strength mix intended to be manufactured by Astellas, foreign exchange impacts and estimated yield from the manufacture of bulk product tablets, among others. </span><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 balances related to the API price true-up under the Astellas Japan Agreement were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in accrued liabilities and $</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 in other long-term liabilities, representing the Company&#8217;s best estimate of the timing for these amounts to be paid. As of December 31, 2022, the related balance in accrued liabilities was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.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;">.</span></p><p style="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;font-style:italic;min-width:fit-content;">Astellas Europe 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;">During the first quarter of 2021, the Company transferred bulk drug product from process validation supplies for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement. The Company recorded the consideration of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from this inventory transfer as deferred revenue as of December 31, 2021, due to a high degree of uncertainty associated with the final consideration. During the fourth quarter of 2021, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing costs of $</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 as drug product revenue, and recorded $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as deferred revenue as of December 31, 2021, due to a high degree of uncertainty associated with the final consideration. In addition, during the fourth quarter of 2021, the Company updated its estimate of variable consideration related to the bulk drug product inventory transfers fulfilled under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recorded an unbilled contract asset of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">49.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which was offset by related deferred revenue under the Astellas Europe Agreement and Astellas EU Supply Agreement. Specifically, the change in estimated variable consideration was based on the bulk drug product held by Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, among others.</span><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;">During the second quarter of 2022, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing costs of $</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 as drug product revenue, and recorded $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">23.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as deferred revenue due to a high degree of uncertainty associated with the variable consideration for revenue recognition purposes. During the first quarter of 2022, the Company billed and received $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">49.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from Astellas related to the annual transfer price true up for bulk drug product transferred for commercial purposes. This amount was recorded in deferred revenue and netted against an unbilled contract asset as of December 31, 2021. In addition, the Company updated its estimate of variable consideration related to the bulk drug product transferred in prior years. Specifically, the change in estimated variable consideration was based on the bulk drug product held by </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, forecast information, shelf-life estimates and other items. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As a result, during the year ended December 31, 2022, the Company reclassified a total of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">57.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from the related deferred revenue to accrued liabilities</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, which was paid to Astellas 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing costs of $</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 as drug product revenue, and recorded $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">17.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as deferred revenue due to a high degree of uncertainty associated with the variable consideration for revenue recognition purposes. In addition, the Company updated its estimate of variable consideration related to the bulk drug product transferred in prior years. Specifically, the change in estimated variable consideration was based on the bulk drug product held by Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, forecast information, shelf-life estimates and other items. As a result, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for the year ended December 31, 2023, the Company reclassified $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">38.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from the related deferred revenue to accrued liabilities. </span><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 related balance in accrued liabilities was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">38.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, representing the Company&#8217;s best estimate that this amount will be paid within the next 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:12pt;font-family:Times New Roman;margin-bottom: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 Company recognized royalty revenue of $</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 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 as drug product revenue from the deferred revenue under the Astellas Europe Agreement 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 and 2022, respectively. The remainder of the deferred revenue will be recognized as and when uncertainty is resolved, based on the performance of roxadustat product sales in the Astellas territory.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 includes a roll-forward of the above-mentioned deferred revenues that are considered as contract liabilities related to drug product (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:10pt;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.5%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></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;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 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;">Balance at<br/>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>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Additions</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Recognized as Revenue</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Reclassified to Accrued Liability / Accounts Payable</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Balance at<br/>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:10pt;background-color:#cff0fc;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;min-width:fit-content;">Drug product revenue - deferred revenue:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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 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>
         <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;">Astellas Europe Agreement</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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="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;">17,674</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">2,306</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,746</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">16,925</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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: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: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;font-style:italic;min-width:fit-content;">AstraZeneca U.S./RoW 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;">During the years ended December 31, 2021 and 2020, the Company shipped bulk drug product to AstraZeneca as commercial supply under the terms of the Master Supply Agreement. Based on the complete response letter issued by the U.S. Food and Drug Administration in August 2021, the Company evaluated the impact of these developments in revising its estimates of variable consideration associated with drug product revenue. As a result, the Company updated the estimated transaction price for these shipments, and recorded $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as deferred revenue as of December 31, 2021. The related drug product revenue was $(</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 for the year ended December 31, 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;">During the first quarter of 2022, the Company evaluated the current developments in the U.S. market, and updated its estimates of variable consideration associated with bulk drug product shipments to AstraZeneca in prior years as commercial supply. As a result, during the year ended December 31, 2022, the Company reclassified $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from the related deferred revenue to accrued liabilities, which remained unchanged 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;">, representing its best estimate that this amount will be paid within the next 12 months.</span></p></div><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Eluminex Agreements</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 2021, FibroGen exclusively licensed to Eluminex Biosciences (Suzhou) Limited (&#8220;Eluminex&#8221;) global rights to its investigational biosynthetic cornea derived from recombinant human collagen Type III.</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 terms of the agreement with Eluminex</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, as amended and restated in January 2022, Eluminex made an $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million upfront payment to FibroGen during the first quarter of 2022. In addition, FibroGen may receive up to a total of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">64.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in future manufacturing, clinical, regulatory, and commercial milestone payments for the biosynthetic cornea program, as well as $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">36.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in commercial milestones for the first recombinant collagen III product that is not the biosynthetic cornea. FibroGen will also be eligible to receive mid single-digit to low double-digit royalties based upon worldwide net sales of cornea products, and low single-digit to mid single-digit royalties based upon worldwide n</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">et sales of other recombinant human collagen type III products that are not cornea 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;min-width:fit-content;">The Company accounted for this agreement 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;">Revenue from Contracts with Customers</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, and identified </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;"> performance obligation at inception of the agreement related to the granting of the license rights to the investigational biosynthetic cornea derived from recombinant human collagen Type III. The Company based its assessment on the determination that Eluminex can benefit from the granted license on its own by developing and commercializing the underlying product using its own resources. All components of the transaction price in the agreement were allocated to the single performance obligation. The remaining future variable consideration related to future manufacturing, clinical, regulatory milestone payments as described above were fully constrained because the Company cannot conclude that it is probable that a significant reversal of the amount of cumulative revenue recognized will not occur, given the inherent uncertainties of success with these future milestones. For commercial milestones and royalties, the Company determined that the license is the predominant item to which the royalties or sales-based milestones relate and revenue will be recognized when the corresponding milestones and royalties are earned.</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 April 2023, FibroGen and Eluminex entered into an Amended and Restated Exclusive License Agreement (&#8220;A&amp;R Eluminex Agreement&#8221;) in order to add to the license rights to recombinant human collagen Type I (in addition to the rights to collagen Type III that were already licensed). The A&amp;R Eluminex Agreement included additional total upfront payments 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.</span><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 year ended December 31, 2023, the Company recognized a $</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 milestone payment based on Eluminex implanting a biosynthetic cornea in the first patient of its clinical trial in China, a $</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 manufacturing related milestone payment and a $</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 upfront payment, as license revenue for the performance obligation satisfied </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and included in license revenue in the consolidated statement of operations. In addition, the Company </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">recognized a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million upfront payment related to patent transfer under the A&amp;R Eluminex Agreement as other revenue a</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">nd included in development and other revenue in the consolidated statement 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;">During the year ended December 31, 2021, the Company recognized </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">an $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million upfront payment to FibroGen </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">as license revenue for the performance obligation satisfied and included in license revenue in the consolidated statement 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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the first quarter of 2022, FibroGen and Eluminex entered into a separate contract manufacturing agreement, under which the Company was responsible for supplying the cornea product at cost plus </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 its product manufacturing costs until its manufacturing technology is fully transferred to Eluminex, which occurred by the end of 2023. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Supply of the cornea product will be managed by a separate agreement and is considered a separate performance obligation. The related contract manufacturing revenue was recorded as other revenue and included in development and other revenue in the consolidated statement 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="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amounts recognized as revenue under the agreements with Eluminex were as follows 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 (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: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:12.665%;"></td>
        <td style="width:1.701%;"></td>
        <td style="width:33.593%;"></td>
        <td style="width:1.701%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.645000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.701%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.645000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.701%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.645000000000001%;"></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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">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;">Agreement</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;"><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;">Performance Obligation</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: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;">Eluminex</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;">License 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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <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,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>
       </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="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="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;">Other revenue - patent transfer</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">500</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">&#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="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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;">Other revenue - contract manufacturing</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">966</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,761</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">&#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>
      </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_fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Collaborative arrangement and revenues.</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;">fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-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>23
<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="idm140628939634288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Exclusive License and Option to Acquire Fortis Therapeutics<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_BusinessCombinationsAbstract', window );"><strong>Business Combinations [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 );">Exclusive License and Option to Acquire Fortis Therapeutics</a></td>
<td class="text"><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:8pt;font-family:Times New Roman;margin-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;">4.	Exclusive License and Option to Acquire Fortis Therapeutics</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;">On May 5, 2023 (the &#8220;Option Acquisition Date&#8221;), the Company entered into an exclusive option agreement to acquire Fortis Therapeutics (&#8220;Fortis&#8221;) with its novel Phase 1 antibody-drug conjugate, FOR46 (now referred to as &#8220;FG-3246&#8221;), that targets a novel epitope on CD46 preferentially expressed on certain cancer cells. FG-3246 is in development for the treatment of metastatic castration-resistant prostate cancer with potential applicability in other solid tumors and hematologic malignancies.</span><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 an evaluation agreement entered into with Fortis concurrent with the option agreement (together the &#8220;Fortis Agreements&#8221;), FibroGen has exclusively licensed FG-3246 and will control and fund future research, development, including a Phase 2 clinical study sponsored by FibroGen, and manufacturing of FG-3246 during the up-to four-year option period. As part of the clinical development strategy, FibroGen will continue the work to develop a PET-based biomarker utilizing a radiolabeled version of the targeting antibody for patient selection.</span><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 guidance under ASC 810, the Company determined that Fortis is a VIE and that the Company is the primary beneficiary of Fortis, as through the Fortis Agreements the Company has the power to direct activities that most significantly impact the economic performance of Fortis. Therefore, the Company consolidated Fortis starting from the Option Acquisition Date, and continues to consolidate as of December 31, 2023. The transaction was accounted for as an asset acquisition 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;">Business Combinations</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, as substantially all of the fair value of the gross assets acquired is concentrated in a single identifiable IPR&amp;D asset.</span><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 of the consideration transferred was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">zero</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. If FibroGen exercises the option to acquire Fortis, it will pay Fortis an </span><span style="color:#212529;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">option exercise payment </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;">80.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and thereafter, legacy Fortis shareholders would be eligible to receive from FibroGen up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">200.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in contingent payments associated with the achievement of various regulatory approvals. If FibroGen acquires Fortis, it would also be responsible to pay UCSF, an upstream licensor to Fortis, development milestone fees and a single digit royalty on net sales of therapeutic or diagnostic products arising from the </span><span style="color:#212529;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">licensing arrangement between Fortis and UCSF</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. If FibroGen chooses not to acquire Fortis, its exclusive license to FG-3246 would expire.</span><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 Company is obligated to make four quarterly payments totaling $</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 to Fortis in support of its continued development obligations. The Company determined that these payments should not be included in the purchase consideration, as those payments are payable to Fortis rather than to its shareholders.</span><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;">Fortis has authorized and issued common shares and Series A preferred shares. As of the Option Acquisition Date and December 31, 2023, the Company owned approximately </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of Fortis&#8217; Series A preferred shares, which was acquired previously and carried at zero cost. The NCI attributable to the common shares is classified as nonredeemable NCI, as it is </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;">% owned by third party shareholders. The NCI attributable to the approximately </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">98</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of Series A preferred shares owned by other investors are classified as redeemable NCI in temporary equity, as the preferred shares are redeemable by the non-controlling shares holders upon occurrence of certain events out of the Company&#8217;s control.</span><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;">Subsequent to the Option Acquisition Date, Fortis&#8217; net income is allocated to its common shares and preferred shares based on their respective stated rights. Fortis&#8217; net loss is allocated to its common shares only as the holders of preferred shares do not have a contractual obligation to absorb such 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 style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 allocation of purchase consideration based on estimated fair values of the acquired assets (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: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:74.905%;"></td>
        <td style="width:2.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.936%;"></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;min-width:fit-content;">&#160;</span></p></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;">Estimated Fair Value as of the Option Acquisition Date</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: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;">Purchase 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;">&#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="background-color:#ffffff;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="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>
       <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;">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;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-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;">
        <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;">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;">656</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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;">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>
       </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;">IPR&amp;D 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:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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;font-weight:bold;min-width:fit-content;">Total 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;">25,138</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;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>
       </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;">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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       <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 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;">2,671</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Accrued and other current 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;">703</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;font-weight:bold;min-width:fit-content;">Total 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;">3,374</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;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:#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="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>
       <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;">Redeemable non-controlling interests</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,480</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Nonredeemable non-controlling interests</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">520</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;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;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 #ffffff03;"><p style="font-size:10pt;margin-top:0;font-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:#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;font-weight:bold;min-width:fit-content;">Net identifiable assets, liabilities and non-controlling interests</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">236</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <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;font-weight:bold;min-width:fit-content;">Loss on asset acquisition</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">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>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:2pt;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:2pt;font-family:Times New Roman;margin-bottom: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 a third party valuation specialist to determine the fair value of the IPR&amp;D assets using a risk-adjusted net present value discounted cash flow model (the &#8220;rNPV&#8221;) with the following key assumptions: (i) estimated cash flow forecasts of peak sales, sales penetration, remaining IPR&amp;D related product development costs, and other related general and administrative costs; (ii) probabilities of technical success of future underlying Phase II and Phase III clinical trials and ensuing probability of regulatory approval related to the IPR&amp;D assets; and (iii) estimate of a risk-adjusted discount rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">16.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%. The acquired IPR&amp;D assets were determined to have no alternative future use. Accordingly, the Company expensed fair value of the acquired IPR&amp;D assets of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">24.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as research and development expense in the consolidated statements of operations for the year ended 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;">The fair value of Fortis (enterprise value) and the fair value of nonredeemable NCI and redeemable NCI were determined based on the above-mentioned </span><span style="color:#212529;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">option exercise payment </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;">80.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 payments up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">200.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, weighted with probability and expected timing of the underlying events consistent with the assumptions under the rNPV, and discounted by the Company&#8217;s estimated market level cost of debt.</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, total assets and liabilities of Fortis were immaterial. For the period from the Option Acquisition Date to December 31, 2023, Fortis&#8217; net income (losses) was immaterial.</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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessCombinationsAbstract</td>
</tr>
<tr>
<td style="padding-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>24
<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="idm140628939646064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity Method Investment - Variable Interest Entity<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_fgen_AcquisitionAndVariableInterestEntityAbstract', window );"><strong>Acquisition And Variable Interest Entity [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_VariableInterestEntityDisclosureTextBlock', window );">Equity Method Investment - Variable Interest Entity</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5.	Equity method investment - Variable Interest Entity</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;">Falikang is a distribution entity jointly owned by AstraZeneca and FibroGen Beijing. FibroGen Beijing owns </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">51.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the outstanding shares of Falikang.</span><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 guidance under ASC 810, the Company concluded that Falikang qualifies as a VIE. As Falikang is a distribution entity and AstraZeneca is the final decision maker for all the roxadustat commercialization activities, the Company lacks the power criterion, while AstraZeneca meets both the power and economic criteria under the ASC 810 to direct the activities of Falikang that most significantly impact its performance. Therefore, the Company is not the primary beneficiary of this VIE for accounting purposes. As a result, the Company accounts for its investment in Falikang under the equity method, and Falikang is not consolidated into the Company&#8217;s consolidated financial statements. The Company records its total investments in Falikang as an equity method investment in an unconsolidated VIE in the consolidated balance sheet. In addition, the Company recognizes its proportionate share of the reported profits or losses of Falikang as investment gain or loss in unconsolidated VIE in the consolidated statement of operations and as an adjustment to its investment in Falikang in the consolidated balance sheet. The Company may provide shareholder loans to Falikang to meet necessary financial obligations as part of its operations. To date, there has been no such loans. During the year ended December 31, 2023, the Company received $</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 of dividend distribution from Falikang.</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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 equity method investment in Falikang was as follows 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 (in thousands):</span></p><p style="font-size:10pt;margin-top:12pt;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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:10.864%;"></td>
        <td style="width:1.401%;"></td>
        <td style="width:1%;"></td>
        <td style="width:8.564%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.861%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.466000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.861%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.644%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.861%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.644%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.861%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.644%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.861%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.466000000000001%;"></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;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;">Entity</span></p></td>
        <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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;">Ownership Percentage</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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;">Balance at<br/>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>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Share of Net Income</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Dividend Received</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Currency<br/>Translation</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Balance at<br/>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: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;">Falikang</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">51.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: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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,061</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,638</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,255</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">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;">5,290</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Falikang is considered as a related party to the Company. See Note 16, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Related Party Transactions</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for related disclosures.</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 an ongoing basis, the Company re-evaluates the VIE assessment based on changes in facts and circumstances, including but not limited to, the shareholder loans received by Falikang and the execution of any future significant agreements between Falikang and its shareholders and/or other third parties. In addition, t</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">he Company assesses the impairment of its equity method investment whenever events or changes in circumstances indicate that a decrease in value of the investment has occurred that is other than temporary. There has been no such event or change in circumstances to date.</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_fgen_AcquisitionAndVariableInterestEntityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and variable interest entity 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;">fgen_AcquisitionAndVariableInterestEntityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_VariableInterestEntityDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 variable interest entity (VIE), including but not limited to, judgments and assumptions in determining whether to consolidate and in identifying the primary beneficiary, gain (loss) recognized on the initial consolidation of the VIE, terms of arrangements, amounts and classification of the VIE's assets and liabilities, and the entity's maximum exposure to loss.</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 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//810/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_VariableInterestEntityDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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="idm140628939706544">
<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"><span><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></span><div style="font-size:10pt;font-family:Times New Roman;"><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 accordance with the authoritative guidance on fair value measurements and disclosures under U.S. GAAP, the Company presents all financial assets and liabilities and any other assets and liabilities that are recognized or disclosed at fair value on a nonrecurring basis. The guidance defines fair value, establishes a framework for measuring fair value in generally accepted accounting principles and expands disclosures about fair-value measurements. The guidance also requires fair value measurements be classified and disclosed in one of the following three categories:</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Level 1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">: Quoted prices in active markets for identical assets or liabilities.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Level 2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">: Observable inputs other than quoted prices in active markets for identical assets or liabilities.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Level 3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">: Unobservable inputs.</span></p><p id="t0" style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 values certain assets and liabilities, focusing on the inputs used to measure fair value, particularly in instances where the measurement uses significant unobservable (Level 3) inputs. The Company&#8217;s financial instruments are valued using quoted prices in active markets (Level 1) or based upon other observable inputs (Level 2). The Company&#8217;s assessment of the significance of a particular input to the fair value measurement in its entirety requires management to make judgments and considers factors specific to the asset or liability. In addition, the categories presented do not suggest how prices may be affected by the size of the purchases or sales, particularly with the largest highly liquid financial issuers who are in markets continuously with non-equity instruments, or how any such financial assets may be impacted by other factors such as U.S. government guarantees. Assets and liabilities measured at fair value are classified in their entirety based on the lowest level of input that is significant to the fair value measurement. The availability of observable data is monitored to assess appropriate classification of financial instruments within the fair value hierarchy. Depending upon the availability of such inputs, specific securities may </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">transfer between levels. In such instances, the transfer is reported at the end of the reporting period.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 values of the Company&#8217;s financial assets that are measured on a recurring basis are as follows (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:10pt;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:36.867%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></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;">Level 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;">Level 2</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;">Level 3</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;">Total</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;">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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,288</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,288</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">13,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">13,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>
       </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;">Commercial paper</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">88,289</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">88,289</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,797</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">47,791</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">9,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">9,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>
       </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</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,085</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">117,105</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,190</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;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>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <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;">Level 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;">Level 2</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;">Level 3</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;">Total</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;">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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,881</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,881</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">82,008</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">82,008</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Commercial paper</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">57,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;">&#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;">57,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>
       </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. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,972</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">111,345</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">11,468</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">11,468</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Asset-backed 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">2,474</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">2,474</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Foreign government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">4,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">4,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;">Convertible promissory note</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">&#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;">1,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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="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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,853</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,684</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,000</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">290,537</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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:10pt;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: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 Level 2 investments are valued using third-party pricing sources. The pricing services utilize industry standard valuation models, including both income and market-based approaches, for which all significant inputs are observable, either directly or indirectly, to estimate fair value. These inputs include reported trades of and broker/dealer quotes on the same or similar investments, issuer credit spreads, benchmark investments, prepayment/default projections based on historical data and other observable inputs. During the years ended December 31, 2023 and 2022, the transfers of assets between levels was a total of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">20.4</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;">10.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million transfer from Level 1 to Level 2, respectively, as such US treasury notes and bills were changed to off-the-run when they were issued before the most recent issue and were still outstanding at measurement day. There were </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;"> </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_7af5f620-a6f5-43d7-8a81-a22096889955;"><span style="-sec-ix-hidden:F_a9c32616-f234-43aa-8b52-b408f0688471;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">transfers</span></span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of assets between levels for the year ended December 31, 2021.</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>26
<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="idm140628939646064">
<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_LeasesDisclosureTextBlock', window );">Leases</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7.	Leases</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 long-term property lease with Alexandria for its corporate headquarters in San Francisco, California, had an initial term 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;">15</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> years, scheduled to expire in </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;">2023</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The original lease was accounted for as a finance lease. <br/></span><span style="color:#000000;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:2pt;font-family:Times New Roman;margin-bottom: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 1, 2021, the Company entered into an amendment with Alexandria to extend the lease to </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;">2028</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> (&#8220;Lease Amendment&#8221;). </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;">Under the terms of the Lease Amendment, the Company has </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">two</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> optional rights to each </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;">extend</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> the lease for an additional </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><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The lease contract provides for a fixed annual rent, with scheduled increases of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">two</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> percent that occur on each anniversary of the rent commencement date through </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;">2023</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, and with scheduled increases of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">three</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> percent that occur on each anniversary of the rent commencement date through </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;">2028</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. This lease requires the Company to pay all costs of ownership, operation, and maintenance of the premises, including without limitation all operating costs, insurance costs, and taxes.</span><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 Company determined that the Lease Amendment was a lease modification, effective June 1, 2021, and thus reassessed the lease classification, remeasured the related lease liability using an updated discount rate, and adjusted the related right-of-use asset under the lease modification guidance under the ASC 842. Accordingly, on June 1, 2021, the Company determined that the modified lease be accounted for as an operating lease, and therefore derecognized the previous finance lease right-of-use asset of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">24.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 related finance lease liability of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">32.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and recognized an operating lease right-of-use asset of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">93.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 related operating lease liability of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">101.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. Starting June 1, 2021, the cash payment related to this lease was classified as an operating activity.</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 first quarter of 2021, after FibroGen Beijing&#8217;s previous long-term lease agreement expired, the Company entered into a new lease agreement with the landlord for the same pilot plant located in Beijing Yizhuang Biomedical Park of BDA. The new lease term is </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 year</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, scheduled to expire in </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;">2026</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, and is treated as an operating lease. Accordingly, the Company recorded $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.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 operating right-of-use assets and total operating lease liabilities, respectively. The lease contract provides for fixed quarterly rent payments, and requires the Company to pay operating and maintenance 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;min-width:fit-content;">The Company currently has several additional real estate leases for office spaces in Shanghai and Beijing, China, which are treated as operating leases. These leases have lease terms ranging from </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_c2593476-76e4-4f28-a5db-a97a3c46c121;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">one</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </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;">, expiring in </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;">2026</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. These lease contracts provide for fixed quarterly rent payments, and require the Company to pay operating and maintenance costs, and a fixed amount for property management fees.</span><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, the Company has several immaterial lease arrangements in China and U.S. for office equipment and automobile leases, with contracted lease terms ranging from </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_8e85a034-f27b-4aca-9e79-82a8f7ef2519;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">one</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </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;">six years</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, treated as finance leases or operating leases.</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="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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s lease assets and related lease liabilities were as follows (in thousands):</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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:36.28%;"></td>
        <td style="width:34.36%;"></td>
        <td style="width:1.02%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.66%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.02%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.66%;"></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;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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: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;"><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;">Balance Sheet Line Item</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: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:10pt;background-color:#cff0fc;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;">Assets</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:#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;">Finance:</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="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;">Right-of-use assets cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,478</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,367</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Accumulated amortization</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,325</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">1,932</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">Finance lease right-of-use assets, net</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><span style="-sec-ix-hidden:F_b44be62d-5204-417d-8837-1e45bd5dd09f;"><span style="-sec-ix-hidden:F_73b7a46f-561b-4f66-8700-e955b456ad1f;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></span></span></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;">153</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">435</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">Operating:</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: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:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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;">Right-of-use assets cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,010</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101,990</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Accumulated amortization</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">34,917</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">22,097</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">Operating lease right-of-use assets, net</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;">Operating lease right-of-use assets</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;">68,093</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,893</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:25pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:25pt;text-indent:0;font-size:10pt;margin-top: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 lease assets</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: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;">68,246</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,328</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;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:#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="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="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:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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: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;">Liabilities</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;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;">Current:</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:#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;">Finance 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><span style="-sec-ix-hidden:F_79975e56-b464-43de-aee3-7997152e9a97;"><span style="-sec-ix-hidden:F_4843918f-50da-42e9-9edd-e9aec5e36569;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued and other current liabilities</span></span></span></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;">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="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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 lease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liabilities, 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;">10,292</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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-current:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       </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;">Finance lease 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><span style="-sec-ix-hidden:F_5a2a9269-135e-4529-b640-63b2d92ecbbc;"><span style="-sec-ix-hidden:F_6f1a9fbe-5bf0-4be8-adbe-2502374befd0;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term liabilities</span></span></span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">104</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">137</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Operating lease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liabilities, non-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;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">66,537</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,593</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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:pre-wrap;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;">80,758</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,058</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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 style="font-size:10pt;font-family:Times New Roman;"><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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of lease expense were as follows (in thousands):</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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:25.965%;"></td>
        <td style="width:34.127%;"></td>
        <td style="width:1.6%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.862%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.36%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.862%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.36%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.862%;"></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;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;">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;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;">Statement of Operations Line Item</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: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:10pt;background-color:#cff0fc;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;min-width:fit-content;">Finance lease cost:</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>
        <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:#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 <br/>&#160;&#160;&#160;right-of-use assets</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;">Cost of goods sold; <br/>Research and development; <br/>Selling, general and administrative expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="color:#000000;min-width:fit-content;">$</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;">412</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="color:#000000;min-width:fit-content;">$</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;">587</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="color:#000000;min-width:fit-content;">$</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;">4,639</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>
       </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;">Interest on lease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">628</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of goods sold; <br/>Research and development; <br/>Selling, general and administrative expenses</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;">17,006</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,125</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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;">Sublease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,024</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">3,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="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;">1,271</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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 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:pre-wrap;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;">14,395</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,339</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,718</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Supplemental cash flow information related to leases were as follows (in thousands):</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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:60.616%;"></td>
        <td style="width:1.461%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.748%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.341%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.748%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.341%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.748%;"></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;min-width:fit-content;">&#160;</span></p></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;">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;"><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:10pt;background-color:#cff0fc;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 paid for amounts included in the measurement of lease liabilities:</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>
        <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:#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;">Operating cash flows from 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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,497</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,022</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 cash flows from finance 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;">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">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>
       </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;">Financing cash flows from finance leases</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;">148</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">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: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;">5,489</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">Non-cash: Right-of-use assets obtained in exchange for new lease liabilities:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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;">Finance 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;">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: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;">261</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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="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;">1,278</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,704</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;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;">Non-cash: Increase (decrease) resulting from lease modification:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <tr style="height:10pt;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Finance 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;">&#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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,654</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">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;">&#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;">93,222</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Finance lease liabilities, 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,587</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Operating lease liabilities, 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">9,221</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Finance lease liabilities, non-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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,009</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">Operating lease liabilities, non-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;">&#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: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;">&#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: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;">91,943</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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 style="font-size:10pt;font-family:Times New Roman;"><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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Lease term and discount rate were as follows:</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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.52%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:19.42%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:19.42%;"></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;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 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;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:#cff0fc;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;min-width:fit-content;">Weighted-average remaining lease term (years):</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:#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;">Finance 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><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.9</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.9</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:#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><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.8</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.8</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;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;min-width:fit-content;">Weighted-average discount rate:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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;">Finance leases</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;">6.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="color:#000000;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.20</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">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;">4.75</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">4.75</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Maturities of 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 (in thousands):</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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.52%;"></td>
        <td style="width:2.28%;"></td>
        <td style="width:1%;"></td>
        <td style="width:18.959999999999997%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.28%;"></td>
        <td style="width:1%;"></td>
        <td style="width:18.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:bottom;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;">Year Ending 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;">Finance Leases</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;">Operating Leases</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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,554</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,836</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,082</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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:#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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,401</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 future lease payments</span></p></td>
        <td style="white-space:pre-wrap;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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,349</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Less: Interest</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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:#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;">Present value of lease liabilities</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">144</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,614</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_fgen_LeasesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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;">fgen_LeasesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<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="idm140628939805520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Balance Sheet Components<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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [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_SupplementalBalanceSheetDisclosuresTextBlock', window );">Balance Sheet Components</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8.	Balance Sheet Components</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;">Cash and Cash Equivalents</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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;">Cash and cash equivalents consisted of the following (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.52%;"></td>
        <td style="width:2.28%;"></td>
        <td style="width:1%;"></td>
        <td style="width:18.959999999999997%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.28%;"></td>
        <td style="width:1%;"></td>
        <td style="width:18.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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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;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:#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</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">63,396</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">135,819</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Commercial paper</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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 funds</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;">12,288</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,881</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">U.S. government bonds</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;">1,988</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top: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: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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,688</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,700</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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:12pt;font-family:Times New Roman;margin-bottom: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 and 2022, a total 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;">32.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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;">92.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;">, respectively, of the Company&#8217;s cash and cash equivalents were held outside of the U.S. in its foreign subsidiaries to be used primarily for its China operations.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Investments</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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 investments consist primarily of available-for-sale debt investments. The amortized cost, gross unrealized holding gains or losses, and fair value of the Company&#8217;s investments by major investments type are summarized in the tables below (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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:36.867%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></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;">Amortized 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 Unrealized<br/>Holding 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 Unrealized<br/>Holding 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:#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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,988</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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;">Commercial paper</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">52,273</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">52,273</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,783</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">45,803</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">9,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>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;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 investments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">121,874</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">6</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">121,898</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <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;">Amortized 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 Unrealized<br/>Holding 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 Unrealized<br/>Holding 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:#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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83,080</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,072</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">82,008</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Commercial paper</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;">&#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;">57,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>
       </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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">112,547</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,207</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">111,345</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,690</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">222</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">11,468</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Asset-backed securities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,484</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">(</span><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="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;">2,474</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Foreign government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,007</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">4,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:#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;">Convertible promissory note</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">&#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;">1,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="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: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 investments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">273,189</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,538</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">270,656</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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 style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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, for all available for sale securities in an unrealized loss position, the fair value and gross unrealized loss by length of time the security has been in a continual unrealized loss position (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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:23.44%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.5%;"></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="22" style="vertical-align:bottom;border-bottom:0.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="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;">Less than 12 Months</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="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;">12 Months or More</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="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;">Total</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;">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>
        <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 Unrealized<br/>Holding 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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Unrealized<br/>Holding 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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Unrealized<br/>Holding 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>
       </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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,495</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">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>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,495</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">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: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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">4,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="white-space:pre-wrap;vertical-align: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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,987</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,987</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,971</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,495</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">5</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,466</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">6</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <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="22" style="vertical-align:bottom;border-bottom:0.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="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;">Less than 12 Months</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="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;">12 Months or More</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="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;">Total</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;">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>
        <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 Unrealized<br/>Holding 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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Unrealized<br/>Holding 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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Unrealized<br/>Holding 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>
       </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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,738</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">147</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,270</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">925</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,008</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,072</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,326</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,194</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,235</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,207</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,468</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">222</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,468</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">222</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Asset-backed securities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,474</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,474</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Foreign government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">&#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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,980</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">27</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">4,980</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">27</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,538</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">170</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">159,627</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,368</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">191,165</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,538</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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: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:12pt;font-family:Times New Roman;margin-bottom: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 contractual maturities of all available-for-sale investments were with in one year 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;">The Company periodically reviews its available-for-sale investments for other-than-temporary impairment. The Company considers factors such as the duration, severity and the reason for the decline in value, the potential recovery period and its intent to sell. For debt securities, the Company also considers whether (i) it is more likely than not that the Company will be required to sell the debt securities before recovery of their amortized cost basis, and (ii) the amortized cost basis cannot be recovered as a result of credit losses. During the three years ended 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 did </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;">t recognize any other-than-temporary impairment loss.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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;">Inventories consisted of the following (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:56.04%;"></td>
        <td style="width:2.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.82%;"></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;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 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;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:#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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,376</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,241</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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-progress</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,614</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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:#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 goods</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,575</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,192</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,565</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,436</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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 id="highlight_result_17" style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span id="highlight_result_18"></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The provision to write-down excess and obsolete inventory were immaterial as of December 31, 2023 and December 31, 2022.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid Expenses and Other Current Assets</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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;">Prepaid expenses and other current assets consisted of the following (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.583%;"></td>
        <td style="width:2.081%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.127%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.081%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.127%;"></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;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 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;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:#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;">Contract assets</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,488</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 revenues from associated contracts</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,481</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">17,488</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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 contract assets</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
       </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;">Insurance proceeds receivable for litigation settlement</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,500</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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>
       <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 assets</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,644</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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:#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 current assets</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,711</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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: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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,855</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,083</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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:12pt;font-family:Times New Roman;margin-bottom: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 unbilled contract assets 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;"> and 2022 included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">22.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;">17.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, related to unbilled co-development revenue under the AstraZeneca China Amendment. In addition, the unbilled contract assets 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;"> included the $</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 unbilled </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">regulatory milestone payment under the AstraZeneca China Agreement. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">AstraZeneca China Agreement </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">section in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</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, the Company recorded a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">28.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million receivable in prepaid expenses and other current assets, corresponding to the accrued litigation settlement of the same amount related to the Company&#8217;s agreement in principle with plaintiffs to settle the class action lawsuit. As the Company maintains insurance that covers exposure related to the class action lawsuit, this amount is fully recoverable under the Company&#8217;s insurance policies. The determination that the recorded receivables are probable of collection is based on the terms of the applicable insurance policies and communications with the insurers. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued and Other Current Liabilities</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below, and the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Legal Proceedings and Other Matters</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section in 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;">Commitments and Contingencies</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property and Equipment</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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;">Property and equipment consisted of the following (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:56.751%;"></td>
        <td style="width:2.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.503%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.503%;"></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: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: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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">102,109</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">102,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;">Laboratory equipment</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,175</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Machinery</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,642</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 equipment</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,490</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="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 and fixtures</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,184</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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;">Construction in progress</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>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">62</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">204</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 and equipment</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">150,056</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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: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:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,930</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">128,682</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">Property and equipment, net</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>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,126</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,605</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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:12pt;font-family:Times New Roman;margin-bottom: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 for the years ended December 31, 2023, 2022 and 2021 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;">9.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;">, </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;">10.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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;">10.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued and Other Current Liabilities</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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;">Accrued and other current liabilities consisted of the following (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: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:56.751%;"></td>
        <td style="width:2.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.503%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.503%;"></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;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 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;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:#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;">Preclinical and clinical trial accruals</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,780</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">API and bulk drug product price true-up</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,055</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Litigation settlement</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,500</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payroll and related accruals</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,267</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,562</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Accrued co-promotion expenses - current</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,309</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,677</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Roxadustat profit share to AstraZeneca</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,084</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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;">Property taxes and other taxes</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,691</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Professional services</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,103</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,480</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Current portion of liability related to sale of future revenues</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,654</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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 restructuring charge</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;">&#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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,248</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 accrued and other current liabilities</span></p></td>
        <td style="white-space:pre-wrap;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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,891</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,773</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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: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;">The accrued liabilities 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;">51.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for API and bulk drug product price true-up as of December 31, 2023 resulted from changes in estimated variable consideration associated with the API shipments fulfilled under the terms of the Astellas Japan Amendment, the bulk drug product transferred under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and the bulk drug product shipments to AstraZeneca under the terms of the AstraZeneca Master Supply Agreement. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">section in Note 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;">Collaboration Agreements, License Agreement and Revenues,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for details.</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;">As of December 31, 2023, the accrued litigation settlement of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">28.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million was related to the Company&#8217;s agreement in principle with plaintiffs to settle the class action lawsuit. See the</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Prepaid Expenses and Other Current Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section above, and the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Legal Proceedings and Other Matters </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">section in 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;">Commitments and Contingencies</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</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 July 14, 2023, the Company approved a restructuring plan (the &#8220;Plan&#8221;) to lower the Company&#8217;s operating expenses. The Plan included a reduction to the Company&#8217;s U.S. workforce of approximately </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">32</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%. As a result, the Company recorded a total of $</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 non-recurring restructuring charge during the third quarter of 2023, primarily consisting of notice period and severance payments, accrued vacation, and employee benefits contributions. During the year ended December 31, 2023, total cash payments under the Plan was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. The remaining accrued restructuring charge was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as of December 31, 2023 and will be substantially paid out by early 2024. The Plan is in connection with the Company&#8217;s efforts to streamline operations to align with the Company&#8217;s business goals.</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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>28
<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="idm140628939904512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Senior Secured Term Loan Facilities<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_DebtDisclosureTextBlock', window );">Senior Secured Term Loan Facilities</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9.	Senior Secured Term Loan Facilities</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;">On April 29, 2023, the Company entered into a financing agreement (&#8220;Financing Agreement&#8221;) with investment funds managed by Morgan Stanley Tactical Value, as lenders (the &#8220;Lenders&#8221;), and Wilmington Trust, National Association, as the administrative agent, providing for senior secured term loan facilities consisting of (i) a $</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 initial term loan (the &#8220;Initial Term Loan&#8221;), (ii) a $</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 delayed draw term loan that will be funded upon the achievement of certain clinical development milestones (&#8220;Delayed Draw Term Loan 1&#8221;) and, (iii) an uncommitted delayed draw term loan of up to $</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 to be funded at the Lenders sole discretion, (&#8220;Delayed Draw Term Loan 2&#8221; and, together with the Initial Term Loan and Delayed Draw Term Loan 1, the &#8220;Term Loans&#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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 Financing Agreement, the Lenders have funded the Initial Term Loan. The clinical development milestones which could have triggered Delayed Draw Term Loan 1 were not achieved, and the Lenders have not funded Delayed Draw Term Loan 2. As such, these features have expired 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;">The Term Loans shall accrue interest at a fixed rate 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;">% per annum, payable monthly in arrears. </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 Term Loans shall 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;">May 8, 2026</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The Term Loans will not be subject to amortization payments. The Company is permitted to prepay the Term Loans from time to time, in whole or in part, subject to payment of a make-whole amount equal to the unpaid principal amount of the portion of the Term Loans being repaid or prepaid, plus accrued and unpaid interest of the portion of the Term Loans being repaid or prepaid, plus an amount equal to the remaining scheduled interest payments due on such portion of the Term Loans being repaid or prepaid as if such Term Loans were to remain outstanding until the scheduled maturity date. </span></span><span style="font-size:10pt;font-family:Times New Roman;"></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 May 8, 2023, the Company received $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">74.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, representing the Initial Term Loan 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 net of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million issuance costs. The issuance costs and the related transaction costs, totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million is amortized as interest expense using the effective interest method over the term of the Initial Term Loan and are reported on the balance sheet as a direct deduction from the amount of the Initial Term Loan. The effective annual interest rate of the Initial Term Loan was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">16.13</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% 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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The Company recorded interest expense of $</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 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. 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 related accrued interest was $</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. The Company was in compliance with all debt covenants associated with the senior secured term loan facilities 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;">, including maintaining a minimum balance of $</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;"> million of unrestricted cash and cash equivalents held in accounts in the U.S.</span><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 Company has determined that certain other features embedded within the Loan should be bifurcated and accounted for separately as a derivative. At inception and as of December 31, 2023, the fair values of such derivatives were negligible due to the low probability of the underlying events.</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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 senior secured term loan facilities 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 as follows (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: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:74.905%;"></td>
        <td style="width:2.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.936%;"></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;min-width:fit-content;">&#160;</span></p></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;">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: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;">Principal of senior secured term loan facilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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: Unamortized issuance costs and transaction 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;">3,066</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">Senior secured term loan facilities, ending balance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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: Current Portion classified to accrued and other current 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;">&#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: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;">Senior secured term loan facilities, non-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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,934</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</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_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_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<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 (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<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(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: 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><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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: 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 (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 6: 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 (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<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 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<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 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<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 1E<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 11: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<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 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<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 1I<br> -Subparagraph (d)<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_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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="idm140628939647904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Liability Related to Sale of Future Revenues<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_fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract', window );"><strong>Liability Related to Sale of Future Royalties [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_fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock', window );">Liability Related to Sale of Future Revenues</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10.	Liability Related to Sale of Future Revenues</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;">On November 4, 2022, the Company entered into a Revenue Interest Financing Agreement (the &#8220;RIFA&#8221;) with NQ Entity, L.P. (&#8220;NovaQuest&#8221;), pursuant to which the Company granted a percentage interest in the Company&#8217;s future revenues under the Astellas Agreements, for a consideration of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">50.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (&#8220;Investment Amount&#8221;) before advisory fees.</span><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;">Effective as of November 2022, the Company sold to NovaQuest </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">22.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of its drug product revenue and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10.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;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">20.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for fiscal year 2028 and thereafter) </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of its revenue from milestone payments under the Astellas Agreements. In November 2022, t</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">he Company received $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">49.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from NovaQuest at an initial funding on November 17, 2022, representing the gross proceeds of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">50.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (the &#8220;Initial Investment Amount&#8221;)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> net of initial issuance costs, and accounted for it as long-term debt based on the terms of the RIFA because the risks and rewards to NovaQuest are limited by the terms of the transaction. The related debt discount and transaction costs are amortized as interest expense based on the projected balance of the liability as of the beginning of each period. As payments are made to NovaQuest, the balance of the liability related to sale of future revenues is being effectively repaid over the life of the RIFA. The payments to NovaQuest are accounted for as a reduction of debt.</span><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 Company may prepay its obligations to NovaQuest in full at any time during the term of RIFA. The prepayment amount varies from $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">80.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million to $</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 less any revenue interest payments made up to such prepayment date. Under the RIFA the Company shall pay to NovaQuest up to a specified maximum amount (&#8220;Payment Cap&#8221;) of (a) $</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, if </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the payment</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> is made on or before December 31, 2028; (b) $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">112.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, if </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the payment is made </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">on or after January 1, 2029, but on or before December 31, 2029; or (c) $</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, if </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the payment is made after January 1, 2030.</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;">After January 1, 2028, if the product (as defined) is not commercialized for a consecutive twelve-month period, then, the payments owed under the RIFA by the Company to NovaQuest for each fiscal year shall be the greater of: (i) the amount which would otherwise be due pursuant to revenue interest payments terms; or (ii) $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10.0</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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Before December 31, 2028, if the sum of all payments under the RIFA paid to NovaQuest, does not equal or exceed $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">62.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, then the Company shall pay NovaQuest the difference of these two amounts by no later than March 1, 2029. If, by no later than December 31, 2030, the sum of all payments under the RIFA paid to NovaQuest does not equal or exceed $</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, then the Company shall pay NovaQuest the difference of these two amounts by no later than March 1, 2031.</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;">NovaQuest will retain this entitlement until it has reached the Payment Cap, at which point </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 such revenue interest on future global net sales of Astellas will revert to the Company.</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;">Over the course of the RIFA, the effective interest rate is affected by the amount and timing of drug product revenue and revenue from milestone payments recognized, the changes in the timing of forecasted drug product revenue and revenue from milestone payments, and the timing of the Company&#8217;s payments to NovaQuest. On a quarterly basis, the Company reassesses the expected total revenue and the timing of such revenue, recalculates the amortization of debt discount and transactions costs and effective interest rate, and adjusts the accounting prospectively as needed.</span><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 total debt discount and transaction costs of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, is amortized as interest expense based on the projected balance of the liability as of the beginning of each period. The Company estimated an effective annual interest rate of approximately </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">16.03</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;">19.67</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% for </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the years ended December 31, 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:12pt;font-family:Times New Roman;margin-bottom: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 payments are made to NovaQuest, the balance of the liability related to sale of future revenues is being effectively repaid over the life of the RIFA. <br/></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 shows the activity of the liability related to sale of future revenues 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:</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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:74.905%;"></td>
        <td style="width:2.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.936%;"></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;min-width:fit-content;">&#160;</span></p></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;">Year Ended <br/>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: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;">Liability related to sale of future revenues - beginning balance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">49,333</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Interest expense recognized</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,734</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Liability related to sale of future revenues - ending balance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,067</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: Current portion classified to accrued and other current 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;">5,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="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: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;">Liability related to sale of future revenues, non-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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">51,413</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="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:12pt;font-family:Times New Roman;margin-bottom: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 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;">, the Company recognized, under Astellas Agreements, drug product revenue of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">18.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;">11.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively. In addition, during the year ended December 31, 2022, the Company recognized, under Astellas Agreements, license revenue of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">22.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and development revenue of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.4</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 $</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 regulatory milestone. See Note 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;">Collaboration Agreements, License Agreement and Revenue</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</span><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;">During 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;">, the Company recognized the related non-cash interest expense of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.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.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></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;">Based on the current estimates of drug product revenue and revenue from milestone payments under the Astellas Agreements,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and taking into the consideration of the terms discussed above, the Company anticipates to reach a Payment Cap up to $</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 by 2031.</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_fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Liability related to sale of future revenue.</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;">fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Liability related to sale of future royalties.</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;">fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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>30
<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="idm140628935185280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Product Development Obligations<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_ProductDevelopmentObligationsDisclosureTextBlock', window );">Product Development Obligations</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11.	Product Development Obligations</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 Technology Development Center of the Republic of Finland (&#8220;TEKES&#8221;) product development obligations consist of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> separate advances (each in the form of a note agreement) received by FibroGen Europe between 1996 and 2008 from TEKES. These advances are granted on a project-by-project basis to fund various product development efforts undertaken by FibroGen Europe only. Each separate note is denominated in EUR and bears interest (not compounded) calculated 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;"> percentage point less than the Bank of Finland rate in effect at the time of the note, but no less than </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></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 the research work funded by TEKES does not result in an economically profitable business or does not meet its technological objectives, TEKES may, on application from FibroGen Europe, forgive each of these loans, including accrued interest, either in full or in part. 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;">, the Company had U.S. Dollar equivalent of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10.4</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;">10.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of principal outstanding, respectively, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.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;">6.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of interest accrued, respectively, which were presented in the product development obligations line on the consolidated balance sheets.</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 Company is not a guarantor of these loans, and these loans are not repayable by FibroGen Europe until it has distributable funds.</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_fgen_ProductDevelopmentObligationsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Product development obligation 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;">fgen_ProductDevelopmentObligationsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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>31
<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="idm140628934251344">
<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"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12.	Commitments and Contingencies</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;">Contract Obligations</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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 </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 had the following outstanding non-cancelable purchase obligations (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="font-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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:47.26%;"></td>
        <td style="width:2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.58%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.58%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.58%;"></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;">Purchase Obligations <br/>Due In The Year Ending 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;">2024</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;">2025</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;">Total</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: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;">Manufacture and supply of pamrevlumab</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,995</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,827</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,822</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Manufacture and supply of roxadustat</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">573</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,719</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Other purchases and programs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,750</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">11,750</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,318</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
      </table></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 expects to fulfill its commitments under these agreements in the normal course of business, and as such, no liability has been recorded.</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;">See Note 7, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Leases</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details of the Company's operating and finance lease payment obligations. See Note 9, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Senior Secured Term Loan Facilities,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Note 10, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Liability Related to Sale of Future Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and Note 11, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Development Obligations</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for details of the respective obligations.</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;">Some of the Company&#8217;s license agreements provide for periodic maintenance fees over specified time periods, as well as payments by the Company upon the achievement of development, regulatory and commercial milestones. 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;">, future milestone payments for research and preclinical stage development programs consisted of up to approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">697.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in total potential future milestone payments under the Company&#8217;s license agreements with HiFiBiO (for Gal-9 and CCR8), Medarex, Inc. and others. These milestone payments generally become due and payable only upon the achievement of certain developmental, clinical, regulatory and/or commercial milestones. The event triggering such payment or obligation has not yet occurred.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Legal Proceedings and Other 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;">From time to time, the Company is a party to various legal actions, both inside and outside the U.S., arising in the ordinary course of its business or otherwise. The Company accrues amounts, to the extent they can be reasonably estimated, that the Company believes will result in a probable loss (including, among other things, probable settlement value) to adequately address any liabilities related to legal proceedings and other loss contingencies. A loss or a range of loss is disclosed when it is reasonably possible that a material loss will incur and can be estimated, or when it is reasonably possible that the amount of a loss, when material, will exceed the recorded provision. The Company did not have any material accruals for any active legal action, except for the class action settlement mentioned below, in its consolidated balance sheet as of December 31, 2023, as the Company could not predict the ultimate outcome of these matters, or reasonably estimate the potential exposure.</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;">Between April 2021 and May 2021, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">five</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> putative securities class action complaints were filed against FibroGen and certain of its current and former executive officers (collectively, the &#8220;Defendants&#8221;) in the U.S. District Court for the Northern District of California. The lawsuits allege that Defendants violated the Securities Exchange Act of 1934 by making materially false and misleading statements regarding FibroGen&#8217;s Phase 3 clinical studies data and prospects for U.S. Food and Drug Administration approval. On August 30, 2021, the Court consolidated the actions and appointed a group of lead plaintiffs. On October 17, 2023, the parties reached an agreement in principle to settle the class action at $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">28.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. Accordingly, as of December 31, 2023, the Company recor</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ded the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">28.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in accrued and other current liabilities in the consolidated balance sheet. The Company maintains insurance that covers exposure related to the class action lawsuit. As the amount is fully recoverable under the Company&#8217;s insurance policies, the Company recorded a corresponding receivable in prepaid expenses and other current assets in the consolidated balance sheet. The determination that the recorded receivables are probable of collection is based on the terms of the applicable insurance policies and communications with the insurers. Another case, filed on May 25, 2023, against the same defendants, asserting similar claims as the class action and additional common-law and California state fraud claims</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> was voluntarily dismissed on December 20, 2023.</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;">Between July 30, 2021 and December 5, 2023, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">six</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shareholder derivative complaints were filed, naming as defendants certain of our current and former officers and certain current and former members of our board, as well as FibroGen as nominal defendants (the &#8220;Derivative Lawsuits&#8221;).  Of these Derivative Lawsuits, three were filed in the Delaware Court of Chancery, two were filed in the U.S. District Court for the District of Delaware (the &#8220;Delaware Federal Derivative Actions&#8221;), and one was filed in the U.S. District Court for the Northern District of California (the &#8220;California Federal Derivative Action&#8221;).  The plaintiffs assert state and federal claims based on some of the same alleged misstatements as the securities class action complaint. The complaints seek unspecified damages, attorneys&#8217; fees, and other costs.  The status of the six Derivative Lawsuits is currently 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><div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Two of the Delaware Chancery Derivative actions, filed on April 14, 2022, and June 1, 2023, have been consolidated (the &#8220;Delaware Chancery Consolidated Derivative&#8221;).  On February 1, 2024, Defendants moved to dismiss the Delaware Chancery Consolidated Derivative action.  In another derivative action, filed in the Delaware Court of Chancery on December 3, 2023, Defendants have not been served; </span></div></div><div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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 Delaware Federal Derivative actions remain stayed. One is stayed pending the resolution of the putative securities class action, and the other is stayed pending resolution of the motion to dismiss the Delaware Chancery Consolidated Derivative action; and</span></div></div><div style="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.537%;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 California Federal Derivative action was voluntarily dismissed on January 22, 2024.</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 believes that the claims asserted in the Derivative Lawsuits are without merit and it intends to vigorously defend against them. However, any litigation is inherently uncertain, and any judgment or injunctive relief entered against FibroGen or any adverse settlement could materially and adversely impact its business, results of operations, financial condition, and prospects.</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 fourth quarter of 2021, the Company received a subpoena from the SEC requesting documents related to roxadustat&#8217;s pooled cardiovascular safety data. The Company is fully cooperating with the SEC. The Company cannot predict with any degree of certainty the outcome of the SEC&#8217;s investigation or determine the extent of any potential liabilities. The Company also cannot predict whether there will be any loss as a result of the investigation nor can it provide an estimate of the possible loss or range of loss. Any adverse outcome in this matter or any related proceeding could expose the Company to substantial damages, penalties, or reputational harm that may have a material adverse impact on the Company&#8217;s business, results of operations, financial condition, growth prospects, and price of its 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Between 2022 and 2023, the Company&#8217;s Board of Directors received five litigation demands from purported shareholders of the Company, asking the Board of Directors to investigate and take action against certain current and former officers and directors of the Company for alleged wrongdoing based on the same allegations in the pending derivative and securities class action lawsuits. The Company may in the future receive such additional demands.</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;">Starting in October 2021, certain challenges have been filed with the China National Intellectual Property Administration against patents which claim a crystalline form of roxadustat. Final resolution of such proceedings will take time and the Company could not predict the ultimate outcome, or reasonably estimate the potential exposure.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Indemnification Agreements</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 enters into standard indemnification arrangements in the ordinary course of business, including for example, service, manufacturing and collaboration agreements. Pursuant to these arrangements, the Company indemnifies, holds harmless, and agrees to reimburse the indemnified parties for losses suffered or incurred by the indemnified party, including in connection with intellectual property infringement claims by any third party with respect to its technology. The term of these indemnification agreements is generally perpetual any time after the execution of the agreement. The Company has entered into indemnification agreements with its directors and officers that may require the Company to indemnify its directors and officers against liabilities that may arise by reason of their status or service as directors or officers to the extent permissible under applicable law. The maximum potential amount of future payments the Company could be required to make under these arrangements is not determinable. The Company believes the estimated fair value of these arrangements is minimal.</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>32
<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="idm140628935718080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity and Stock-based Compensation<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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [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_ShareholdersEquityAndShareBasedPaymentsTextBlock', window );">Equity and Stock-based Compensation</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">13.	Equity and 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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">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;">Each share of Common Stock is entitled to </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;">one vote</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The holders of Common Stock are also entitled to receive dividends whenever funds are legally available and when declared by the board of directors, subject to the prior rights of holders of all classes of stock outstanding.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Shares of Common Stock outstanding, shares of stock plans outstanding and shares reserved for future issuance related to stock options and RSU grants and the Company&#8217;s Employee Stock Purchase Plan (&#8220;ESPP&#8221;) purchases are as follows (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.007%;"></td>
        <td style="width:1.601%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.885%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.621%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.885%;"></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: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;">Common stock outstanding</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,770</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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:#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;">Stock options outstanding</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,104</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,088</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">RSUs outstanding</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,404</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,669</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Shares reserved for future stock options and RSUs grant</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,769</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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:#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;">Shares reserved for future ESPP offering</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,952</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top: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 shares of common stock reserved</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">130,999</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">123,820</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:8pt;font-family:Times New Roman;margin-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;">At-the-Market Program</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;">On February 27, 2023, the Company entered into an Amended and Restated Equity Distribution Agreement (the &#8220;at-the-market agreement&#8221;) with Goldman Sachs &amp; Co., LLC and BofA Securities, Inc. (each a &#8220;Sales Agent&#8221;), which amended and restated its Equity Distribution Agreement with Goldman Sachs &amp; Co., LLC, dated August 8, 2022, to add BofA Securities, Inc. as an additional Sales Agent under that agreement. Under the at-the-market agreement, the Company may issue and sell, from time to time and through the Sales Agents, shares of its common stock having an aggregate offering price of up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">200.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (the &#8220;ATM Program&#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-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the year ended 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 sold </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,472,090</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares under the ATM Program, for proceeds of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">48.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 commissions to Sales Agents, at a weighted-average offering prices per share of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">19.63</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:8pt;font-family:Times New Roman;margin-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 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;font-style:italic;min-width:fit-content;">Stock Option and RSU 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;">Under the Company&#8217;s Amended and Restated 2005 Stock Plan (&#8220;2005 Stock Plan&#8221;), the Company may issue shares of Common Stock and options to purchase Common Stock and other forms of equity incentives to employees, directors and consultants. Options granted under the 2005 Stock Plan may be incentive stock options or nonqualified stock options. Incentive stock options may be granted only to employees and officers of the Company. Nonqualified stock options and stock purchase rights may be granted to employees, directors and consultants. The board of directors has the authority to determine to whom options will be granted, the number of options, the term and the exercise price. Options are to be granted at an exercise price not less than fair market value for an incentive stock option or a nonqualified stock option. Options generally vest over </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;">four years</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Options expire no more than </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;">10</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> years after the date of grant. Upon the effective date of the registration statement related to the Company&#8217;s initial public offering, the 2005 Plan was amended to cease the grant of any additional awards thereunder, although the Company will continue to issue common stock upon the exercise of previously granted stock options under the 2005 Plan.</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 2014, the Company adopted a 2014 Equity Incentive Plan (the &#8220;2014 Plan&#8221;) which became effective on November 13, 2014. The 2014 Plan is the successor equity compensation plan to the 2005 Plan. The 2014 Plan will terminate 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 12, 2024</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The 2014 Plan provides for the grant of incentive stock options, nonqualified stock options, restricted stock awards, stock appreciation rights, performance stock awards, performance cash awards, restricted stock units and other stock awards to employees, directors and consultants. Stock options granted must be at prices not less than </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 fair market value at date of grant. </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;">Option vesting schedules are determined by the Company at the time of issuance and generally have a four year vesting schedule (</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;">% vesting on the first anniversary of the vesting base date and quarterly thereafter over the next 3 years).</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Options generally 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;">ten years</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> from the date of grant unless the optionee is a 10% stockholder, in which case the term will be </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;"> from the date of grant. Unvested options exercised are subject to the Company&#8217;s repurchase right. </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;">Shares reserved for issuance increases on January 1 of each year commencing on January 1, 2016 and ending on January 1, 2024 by the lesser of (i) the amount equal to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the number of shares issued and outstanding on December 31 immediately prior to the date of increase or (ii) such lower number of shares as may be determined by the board of directors. 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;">, the Company has reserved </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,768,935</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 that remains unissued for issuance under the 2014 Plan.</span></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;">Issuance of shares upon share option exercise or share unit conversion is made through issuance of new shares authorized under the plan.</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;">Certain Common Stock option holders have the right to exercise unvested options, subject to a right held by the Company to repurchase the stock, at the original exercise price, in the event of voluntary or involuntary termination of employment of the stockholder. The shares are generally released from repurchase provisions ratably over four years. The Company accounts for the cash received in consideration for the early exercised options as a liability. At 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><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;"> shares of Common Stock were subject to repurchase by the Company.</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 Fe</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">bruary 2023, the Company granted </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">159,150</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> total shares of PRSUs to certain executives for the performance period beginning January 1, 2023 and ending December 31, 2026. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In Fe</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">bruary 2022, the Company granted </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">280,450</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> total shares of PRSUs to certain executives for the performance period beginning January 1, 2022 and ending December 31, 2025. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The ultimate number of shares eligible to vest for PRSUs range from </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;">% to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">200</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the target number of shares depending on achievement relative to the predefined clinical performance metrics and continued employment with the Company. During 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</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;">68,541</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of the PRSUs have vested and been released.</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 Fe</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">bruary 2023, the Company granted </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">159,150</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> total shares of TSR awards to certain executives for the performance period beginning January 1, 2023 and ending December 31, 2026. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In Fe</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">bruary 2022, the Company granted </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">280,450</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> total shares of TSR awards to certain executives for the performance period beginning January 1, 2022 and ending December 31, 2025. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The ultimate number of shares eligible to vest for the TSR awards range from </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;">% to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">200</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the target number of shares depending on the TSR of FibroGen&#8217;s common stock as compared to companies in the NBI index, and continued employment with the Company. During 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</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;">110,370</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of the TSR awards have vested and been released.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock option transactions, including forfeited options granted under the 2014 Plan as well as prior plans, are summarized below:</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="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:44.009%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.062%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.38%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.502%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.062%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.38%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.602%;"></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 <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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 per <br/>Share</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 Contractual <br/>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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 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: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;">Outstanding 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,088</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.19</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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;">Granted</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,738</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.27</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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>
        <td style="white-space:pre-wrap;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 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: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;">Exercised</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">122</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.42</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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>
        <td style="white-space:pre-wrap;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 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: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;">Forfeited</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,725</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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: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 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: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 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: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;">Expired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,875</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.38</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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>
        <td style="white-space:pre-wrap;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 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: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;">Outstanding 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="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;">11,104</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.21</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.26</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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Vested and expected to vest, 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.21</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.11</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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Exercisable 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,688</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.66</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.04</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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
      </table></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 estimated weighted-average fair value of the stock options granted during 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;">7.27</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.72</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;">35.58</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. The total intrinsic value of options exercised 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</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.9</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.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;">13.1</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 style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 activities of RSUs, PRSUs and TSR awards:</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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:58.928%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.017%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:19.796000000000003%;"></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 <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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Fair Value at Grant</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;">Unvested at December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,669</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.80</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Granted</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,612</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.61</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Vested</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,002</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">14.70</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Forfeited</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,875</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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>
       </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: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="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">4,404</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="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="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:10pt;font-family:Times New Roman;min-width:fit-content;">The numbers of PRSUs and TSR awards granted included in the table above reflect the shares that could be eligible to vest at </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 target number of shares.</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;">Among the vested RSUs during the year ended 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:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,648,201</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares were released and issued, while the remaining was withheld for the related payroll taxes. The estimated weighted-average fair value of the 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</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;">11.61</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.68</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;">30.19</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively.</span></p><p style="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;font-style:italic;min-width:fit-content;">ESPP</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 2014, the Company adopted a 2014 ESPP that became effective on November 13, 2014. The 2014 ESPP is designed to enable eligible employees to periodically purchase shares of the Company&#8217;s common stock at a discount through payroll deductions of up to </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;">% of their eligible compensation, subject to any plan or IRS limitations. At the end of each offering period, employees are able to purchase shares at </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">85</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the lower of the fair market value of the Company&#8217;s common stock on the first trading day of the offering period or on the last day of the offering period. Purchases are accomplished through participation in discrete offering periods. The 2014 ESPP is intended to qualify as an ESPP under Section 423 of the Internal Revenue Code. </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 Company has reserved </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,600,000</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 for issuance under the 2014 ESPP and shares reserved for issuance increases January 1 of each year, which commenced on January 1, 2016, by the lesser of (i) a number of shares equal to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the total number of outstanding shares of common stock on December 31 immediately prior to the date of increase; (ii) </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,200,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares or (iii) such number of shares as may be determined by the board of directors.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> There were </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">361,911</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;">327,298</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;color:#000000;white-space:pre-wrap;min-width:fit-content;">213,505</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares purchased by employees under the 2014 Purchased 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, respectively.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock-Based Compensation</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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;">Stock-based compensation expense was recorded directly to research and development and selling, general and administrative expense 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 (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: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:43.78%;"></td>
        <td style="width:1.84%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.9%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.84%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.9%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.84%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.9%;"></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;">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;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,462</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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: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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,547</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Selling, general and administrative</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,305</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,740</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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,614</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,767</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,601</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">71,161</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="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:10pt;font-family:Times New Roman;min-width:fit-content;">The Company estimates the fair value of stock options using the Black-Scholes option valuation model. The fair value of employee stock options and RSUs is being amortized on a straight-line basis over the requisite service period of the awards. Compensation cost for PRSUs is expensed over the respective vesting periods when the achievement of performance criteria is probable. The Company estimates the fair value of the TSR awards using the Monte Carlo valuation model to simulate the probabilities of achievement. Compensation cost for the TSR awards is recognized over the requisite service period, regardless of when, if ever, the market condition is satisfied. The fair market value of common stock is based on the closing price of the Company&#8217;s common stock as reported on the Nasdaq Global Select Market on the date of the grant.</span><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 of employee stock-based compensation is estimated using the following assumptions:</span></p><div style="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.537%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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;"> Expressed as a weighted-average, the expected life of the options is based on the average period the stock options are expected to be outstanding and was based on the Company&#8217;s historical information of the option exercise patterns and post-vesting termination behavior as well as contractual terms of the instruments. The expected term of 2014 ESPP shares is the average of the remaining purchase periods under each offering period. The expected term of TSR awards is determined based on the grant date to the end of the performance period.</span></div></div><div style="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.537%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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;"> The Company considers its historical volatility data for volatility considerations for all of its stock-based compensation types except for its TSR awards, which is based on a blend of the Company&#8217;s and comparable public entities&#8217; historical volatility.</span></div></div><div style="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.537%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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;"> Expressed as a weighted-average, the risk-free interest rate assumption is based on the U.S. Treasury instruments whose term was consistent with the expected term of the Company&#8217;s respective stock-based compensation types.</span></div></div><div style="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.537%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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;"> The Company has never declared or paid any cash dividends and does not plan to pay cash dividends in the foreseeable future.</span></div></div></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 assumptions used to estimate the fair value of stock options granted and ESPPs using the Black-Scholes option valuation model were 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: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:41.248%;"></td>
        <td style="width:1.74%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.923%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.32%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.923%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.32%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.923%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.601%;"></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;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="12" 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;">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;"><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>
       </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;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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;"><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;">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 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>
        <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>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;">Stock Options</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Expected term (in years)</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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;">6.1</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.7</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.7</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;"><p style="font-size:10pt;margin-top:0;font-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:#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;">Expected volatility</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">92.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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">66.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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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>
       </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;">Risk-free interest rate</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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;"><p style="font-size:10pt;margin-top: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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Expected dividend yield</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
       </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;">Weighted average estimated fair value</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.67</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.88</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.21</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-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="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: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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;">ESPPs</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       </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;min-width:fit-content;">Expected term (in years)</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 colspan="2" style="vertical-align: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;">0.5</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.0</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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 colspan="2" style="vertical-align: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;">0.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;">2.0</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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 colspan="2" style="vertical-align: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;">0.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;">2.0</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;"><p style="font-size:10pt;margin-top:0;font-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:#cff0fc;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;min-width:fit-content;">Expected volatility</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.7</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">271.2</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.5</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">97.6</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.1</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">104.4</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="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: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;">Risk-free interest rate</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.2</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.2</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.1</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.5</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Expected dividend yield</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
       </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;">Weighted average estimated fair value</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-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><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 assumptions used to estimate the fair value of the TSR awards using the Monte Carlo valuation model were 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: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:44.96%;"></td>
        <td style="width:1.9%;"></td>
        <td style="width:1%;"></td>
        <td style="width:21.34%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:21.34%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.84%;"></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;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="7" 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;">Year 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;"><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>
       </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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;">TSR awards</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Expected term (in years)</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.9</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.9</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;"><p style="font-size:10pt;margin-top:0;font-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:#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;">Expected volatility</span></p></td>
        <td style="white-space:pre-wrap;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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">69.0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">73.3</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top: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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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>
       </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;">Risk-free interest rate</span></p></td>
        <td style="white-space:pre-wrap;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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.8</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.2</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top: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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Expected dividend yield</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
       </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;">Weighted average estimated fair value</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.90</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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;"><p style="font-size:10pt;margin-top:0;font-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:12pt;font-family:Times New Roman;margin-bottom: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;">, there was $</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 of total unrecognized compensation costs, net of estimated forfeitures, related to non-vested stock option awards granted that will be recognized on a straight-line basis over the weighted-average 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.81</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> years. 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;">, there was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">35.6</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 costs, net of estimated forfeitures, related to non-vested RSUs, PRSUs and TSR awards granted that will be recognized on a straight-line basis over the weighted-average 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.09</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> years.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Subsidiary Stock and Non-Controlling Interests</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;">FibroGen Europe</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 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively, FibroGen Europe had a total of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">42,619,022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of Preferred Stock outstanding, of which there were </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,700,845</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of Series A Preferred Stock, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,875,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of Series B Preferred Stock, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,599,503</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of Series C Preferred Stock, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,520,141</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of Series D Preferred Stock, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">459,565</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of Series E Preferred Stock, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,714,332</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of Series F Preferred Stock, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,927,500</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of Series G Preferred Stock and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">19,822,136</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of Series H Preferred Stock, all of which shares no longer have any right to be exchanged for FibroGen, Inc. Common Stock. The holders of FibroGen Europe&#8217;s shares of Preferred Stock (&#8220;Preferred Shares&#8221;) have the following rights, preferences and privileges:</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Dividend Rights </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; When the assets of FibroGen Europe are distributed (except for distribution in a liquidation), Preferred Shares shall have the same rights to dividend or other forms of distribution as shares of Common Stock of FibroGen Europe. In the event of a merger, holders of Preferred Shares do not have the right to demand FibroGen Europe to redeem all or part of their Preferred Shares. FibroGen Europe may repurchase shares of Common Stock or Preferred Shares for consideration.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Pre-emptive Right </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; Preferred Shares shall have pre-emptive subscription right in accordance with the Finnish Limited Liability Companies Act if additional shares are issued, option rights are given, or convertible loan is taken, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">provided</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;font-style:italic;min-width:fit-content;">however</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, that the foregoing pre-emptive right does not apply to a directed share issue, for which two thirds (2/3) of the voting shares represented at a general meeting of shareholders approve for an important legitimate cause.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;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;font-style:italic;min-width:fit-content;">Redemption Right </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; If a Preferred Share can be redeemed by a majority shareholder owning more than ninety percent (</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">90</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%) of the shares of FibroGen Europe in accordance with the provisions of the Finnish Limited Liability Companies Act, the minority holders of Preferred Shares have the right to request redemption of their shares.</span></span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Voting Right </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; Each share has </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;">one vote</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Preferred Shares have voting rights only in situations that are specifically provided in the Articles of Association, which include a merger transaction and directed share issue. In addition, Preferred Shares have right to vote in a general shareholder meeting for amending the Articles of Association if the amendment will affect the rights of Preferred Shares.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Conversion Right</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> (1-for-</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> basis into Common Stock of FibroGen Europe):</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;">Voluntary conversion right: Preferred Shares can be converted into common shares upon the written request of a shareholder provided that the conversion is feasible within the maximum and minimum amounts of shares of classes of FibroGen Europe as set forth in its Articles of Association. Such request can be withdrawn before the notification of conversion is filed with the Finnish Trade Register.</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;">Compulsory conversion right: Preferred Shares will be converted into common shares if (i) FibroGen Europe&#8217;s shares are listed in a stock exchange or other trading system in the European Economic Area, or (ii) FibroGen Europe&#8217;s recombinant collagen and gelatin production technology is being put into commercial use in the area of Europe and certain other European states. Commercial use means there is income generated from the first commercial sale of the products incorporating the above-mentioned technology and does not include license fees, development financing, milestone payments or income from test products or equipment used in research. The board of directors of FibroGen Europe shall notify the shareholders of the compulsory conversion in writing, and the shareholders shall request to convert their shares within the timeframe provided in the notification. Should the shareholders fail to make the conversion request within the time limit, FibroGen Europe may redeem the shares of such shareholders.</span></div></div><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Liquidation Right </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; In the event of a dissolution of FibroGen Europe, holders of Preferred Shares are entitled to be paid in an amount equal to the subscription price of the shares before any distribution is made to holders of common shares. Among holders of Preferred Shares, holders of shares of Series F Preferred Stock are entitled to be paid in an amount equal to the subscription price of Series F Preferred Stock before any distribution is made to holders of other Preferred Shares.</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;">Upon the initial public offering and as described above, all eligible FibroGen Europe preferred shares were exchanged for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">958,996</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of FibroGen Common Stock. No other FibroGen Europe shares have the right to be exchanged for FibroGen, Inc. Common Stock.</span></p><p style="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;font-style:italic;min-width:fit-content;">FibroGen Cayman</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;">FibroGen Cayman had </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,758,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Series A Preference Shares outstanding 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, respectively. The holders of the FibroGen Cayman Series A Preference Shares have the following rights, preferences and privileges:</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Liquidation </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; In the event of liquidation, dissolution, or winding up of the Company, either voluntary or involuntary, including by means of a merger, the holders of FibroGen Cayman Series A Preference Shares are entitled to be paid an amount equal to the product of the number of shares held by a holder of shares of FibroGen Cayman Series A Preference Shares and the original issue price 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;"> (subject to equitable adjustment for any stock dividend, combination, split, reclassification, recapitalization) plus all declared and unpaid dividends thereon.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Conversion </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; Each share of FibroGen Cayman Series A Preference Shares is convertible into the number of fully paid and non-assessable shares of Common Stock of FibroGen Cayman that results from dividing the original issue price by the conversion price in effect at the time of the conversion, subject to adjustments for stock splits, stock dividends, reclassifications and like events. The FibroGen Cayman Series A Preference Shares have a conversion price that is equal to the original issuance price such that the conversion ratio to FibroGen Cayman Common Stock is 1:</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> as of all periods presented.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Voting </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; The holders of FibroGen Cayman Series A Preference Shares are entitled to vote together with the FibroGen Cayman Common Stockholders on all matters submitted for a vote of the stockholders. The holder of each share of FibroGen Cayman Series A Preference Shares has the number of votes equal to the number of shares of FibroGen Cayman Common Stock into which it is convertible.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Dividends </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#8212; The holders of FibroGen Cayman Series A Preference Shares are entitled to receive cash dividends when and if declared, 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;">6</span><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 January 2013, FibroGen Cayman entered into a $</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 convertible promissory note. The note bears simple interest at a rate of two percent (</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.00</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%) per annum, accrued on an annual basis in arrears. The outstanding principal balance and unpaid accrued interest on the note is due and payable upon the earlier of (a) the effectiveness of the initial public offering of FibroGen Cayman or (b) the eight year anniversary of the date of the note. During the year ended December 31, 2021, at the option of the lender, the $</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 total outstanding principal balance and unpaid accrued interest on the note were converted into Series A Preferred Stock of FibroGen Cayman, and was recorded as an addition to the non-controlling interest of 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><p style="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;font-style:italic;min-width:fit-content;">Non-Controlling Interests</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-controlling interest positions related to the issuance of subsidiary stock as described above are reported as a separate component of consolidated equity from the equity attributable to the Company&#8217;s stockholders at 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;">. In addition, the Company does </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_8260618e-7cd2-4e43-8e51-091a7824a311;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">not</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> allocate losses to the non-controlling interests as the outstanding shares representing the non-controlling interest do not represent a residual equity interest in the subsidiary.</span><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 nonredeemable NCI and redeemable NCI resulting from the acquisition of Fortis during the year ended December 31, 2023, see Note 4, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Exclusive License and Option to Acquire Fortis Therapeutics</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-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_ShareholdersEquityAndShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).</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 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//505/tableOfContent<br><br>Reference 2: 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_ShareholdersEquityAndShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="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>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="idm140628934124976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Loss Per Share<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_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [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_EarningsPerShareTextBlock', window );">Net Loss Per Share</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">14.	Net Loss 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;">Potential common shares that would have the effect of increasing diluted earnings per share are considered to be anti-dilutive and as such, these shares are not included in the calculation of diluted earnings per share. The Company reported a net loss for each of the years ended December 31, 2023, 2022 and 2021. Therefore, dilutive common shares are not assumed to have been issued since their effect is anti-dilutive for these periods.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Diluted weighted average shares excluded the following potential common shares related to stock options, RSUs, PRSUs, TSR awards and shares to be purchased under the 2014 Employee Stock Purchase Plan (&#8220;ESPP&#8221;) for the periods presented as they were anti-dilutive (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: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:49.17%;"></td>
        <td style="width:1.2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.743%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.743%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.743%;"></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;">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;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top: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 stock options</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">10,596</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">9,520</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">8,461</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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">RSUs, PRSUs and TSR awards</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">3,793</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">2,137</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">1,538</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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">ESPP</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">594</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">305</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">417</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;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="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;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;">14,983</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;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 style="border-top:0.5pt solid #000000;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="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;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;">11,962</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;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: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="border-top:0.5pt solid #000000;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="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;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;">10,416</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;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>
       </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_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_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 earnings per share.</p></div>
<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><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-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_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="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>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="idm140628934124976">
<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_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax 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_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font-size:10pt;margin-top:8pt;font-family:Times New Roman;margin-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;">15.	Income Taxes</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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 components of loss before income taxes are as follows (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: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.543%;"></td>
        <td style="width:1.261%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.864999999999998%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.261%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.864999999999998%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.261%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.944999999999999%;"></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;">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;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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;">328,475</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">307,056</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">268,499</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">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;">41,608</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,187</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,184</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">Loss before provision for 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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">286,867</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">294,869</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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: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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">290,683</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 provision for income taxes consists of the following (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: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.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;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;">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;">Current:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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;">&#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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">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;">&#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;">&#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: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;">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;">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">358</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:bottom;"><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 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">358</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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: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;">Deferred:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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 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>
       <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;">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">&#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;">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;">&#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;">&#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: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;">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;">&#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;">&#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;">&#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:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"><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 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;">&#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;">&#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;">&#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;">Total provision for 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;">3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">358</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">347</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 the reconciliation between the statutory federal income tax rate and the Company&#8217;s effective tax rate:</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.852%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.362%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.362%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.422%;"></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;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;">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 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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Tax at statutory federal rate</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">&#160;%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">&#160;%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;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;">State tax</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="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="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="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: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;">Stock-based compensation expense</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="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;">Net operating losses not benefitted</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">16.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">16.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="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;">Foreign net operating losses not benefitted</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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;">&#160;%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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;">&#160;%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.6</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Deduction limitation on executive compensation</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">0.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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">0.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">0.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="white-space:pre-wrap;vertical-align: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;">Global intangible low-taxed income</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">4.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">0.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>
       </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;">Other</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">0.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">0.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">0.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">&#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="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="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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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="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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 components of the Company&#8217;s deferred tax assets are as follows (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: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:80.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: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;">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;"><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;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 #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;">Federal and state 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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">175,257</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">166,708</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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;">123,156</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">106,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>
       </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;">Foreign 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;">48,396</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">49,990</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Capitalized research and development expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;">45,125</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Stock-based 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,155</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,616</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Lease obligations</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,189</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,442</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Reserves and accruals</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,475</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,929</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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;">24,792</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,624</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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;">63,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,159</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">698</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,277</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Subtotal</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">548,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">492,001</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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;">534,967</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">477,969</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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;">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;">13,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,032</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;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>
       </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;">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;">10,511</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">13,101</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">Non-deductible accrued expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,483</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">931</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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;">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:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,994</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">14,032</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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:15pt;white-space:pre-wrap;vertical-align:bottom;"><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 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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>
       </tr>
      </table></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;">A valuation allowance has been provided to reduce the deferred tax assets to an amount management believes is more likely than not to be realized. Expected realization of the deferred tax assets for which a valuation allowance has not been recognized is based on upon the reversal of existing temporary differences and future taxable 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">The valuation allowance increased by </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;">57.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="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><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">68.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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;">72.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="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, respectively. Due to uncertainty surrounding the realization of the favorable tax attributes in the future tax returns, the Company has established a valuation allowance against its otherwise recognizable net deferred tax assets.</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 Company intends to continue maintaining a full valuation allowance on its deferred tax assets until there is sufficient evidence to support the reversal of all or some portion of this allowance.</span><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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company had net operating loss carryforwards available to offset future taxable income of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">796.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;">147.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for federal and state tax purposes, respectively. $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">292.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 federal net operating loss carryforwards will begin to expire in </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;">2026 </span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">if not utilized, while the remainder can be carried forward indefinitely. The state net operating loss carryforward will begin to expire in </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;">2028 </span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">if not utilized. The Company also had foreign net operating loss carryforwards of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">235.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which expire between </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;">2024</span></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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2033</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> if not utilized.</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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company had approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">143.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of federal and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">50.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of California research and development tax credit and other tax credit carryforwards available to offset future taxable income. The federal credits begin to expire in </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;">2024</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and the California research credits have no expiration dates.</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;">Federal and state tax laws impose substantial restrictions on the utilization of net operating loss and credit carryforwards in the event of an &#8220;ownership change&#8221; for tax purposes, as defined in IRC Section 382. The Company did not perform an IRC Section 382 analysis and any previous ownership changes may result in a limitation that will reduce the total amount of net operating loss and tax credit carryforwards disclosed that can be utilized. Subsequent ownership changes may affect the limitation in future 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;">On August 16, 2022, the Inflation Reduction Act of 2022 (&#8220;IRA&#8221;) was signed into law. Among other changes to the Internal Revenue Code, the IRA imposes a </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;">% corporate alternative minimum tax on certain corporations and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% excise tax on public company stock buybacks for tax years beginning after December 31, 2022. The tax provisions in the IRA did not have a material impact on the Company&#8217;s consolidated financial statements and related disclosures.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Uncertain Tax Positions</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 had unrecognized tax benefits of approximately </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;">81.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="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;">. Approximately $</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 of unrecognized tax benefits, if recognized, would affect the effective tax rate. The interest accrued 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;"> was </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_4256d155-e15f-4602-9cd7-3def6e363f77;"><span style="-sec-ix-hidden:F_742d1821-3d19-4dff-bc16-8f6a11deb307;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">immaterial</span></span></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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 the beginning and ending amounts of unrecognized income tax benefits during the three 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 is as follows (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: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:80.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;">
        <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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Federal</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;">and State</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: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;">Balance as of December 31, 2020</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">48,574</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Decrease due to prior positions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">245</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">Increase due to current year position</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,415</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 exchange rate differential</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">927</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,671</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Increase due to prior positions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,954</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Increase due to current year position</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,074</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 exchange rate differential</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">908</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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;">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,791</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Decrease due to prior positions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">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>
       </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;">Increase due to current year position</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,805</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 exchange rate differential</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">477</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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;">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;">80,965</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Unrecognized tax benefits may change during the next twelve months for items that arise in the ordinary course of business. </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 Company does not anticipate a material change to its unrecognized tax benefits over the next twelve months that would affect the Company&#8217;s effective tax rate.</span></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 Company classifies interest and penalties as a component of tax expense, if any.</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 Company files income tax returns in the U.S. federal jurisdiction, U.S. state and other foreign jurisdictions. The U.S. federal and U.S. state taxing authorities may choose to audit tax returns for tax years beyond the statute of limitation period due to significant tax attribute carryforwards from prior years, making adjustments only to carryforward attributes. The foreign statute of limitation generally remains open from </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;">2014</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </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;">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 is not currently under audit in any tax jurisdiction.</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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_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>35
<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="idm140628934124976">
<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_RelatedPartyTransactionsAbstract', window );"><strong>Related Party Transactions [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_RelatedPartyTransactionsDisclosureTextBlock', window );">Related Party Transactions</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">16.	Related Party Transactions</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;">Astellas is an equity investor in the Company and considered a related party. During the years ended December 31, 2023, 2022 and 2021, the Company recorded license and development revenue related to collaboration agreements with Astellas 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;">6.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="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><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">32.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;">, 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;">130.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;">, respectively. During the years ended December 31, 2023, 2022 and 2021, the Company also recorded drug product revenue from Astellas 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;">18.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="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><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, 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;">3.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. See Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</span><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 Company&#8217;s expense related to collaboration agreements with Astellas was immaterial for each of the three years ended 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;">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;">, accounts receivable from Astellas were $</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 and $</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, 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:12pt;font-family:Times New Roman;margin-bottom: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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, total deferred revenue from Astellas were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">16.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;">40.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></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, the amount due to Astellas, included in accrued and other current liabilities, and other long-term liabilities, totaled $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">40.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. As of December 31, 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the amount due to Astellas, included in accrued and other current liabilities, was and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">63.9</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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Falikang, an entity jointly owned by FibroGen Beijing and AstraZeneca is an unconsolidated VIE accounted for as an equity method investment, and considered as a related party to the Company. FibroGen Beijing owns </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">51.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of Falikang&#8217;s equity. See Note 5, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Equity method investment - Variable Interest Entity</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</span><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, the net product revenue from sales to Falikang 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;">89.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="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><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">71.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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;">35.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;">, respectively. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Revenue, Net </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">section in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details. The other income from Falikang were immaterial for each of the three years ended 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;">For the years ended December 31, 2023, 2022 and 2021, the investment income (loss) in Falikang 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;">2.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><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;">1.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;">, 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;">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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. During the year ended 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 received $</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 of dividend distribution from Falikang. </span><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, the Company&#8217;s equity method investment in Falikang 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;">5.3</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;"> 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;">5.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. See Note 5, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Equity method investment - Variable Interest Entity</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, for details.</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 and 2022</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> accounts receivable, net, from Falikang were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.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;">10.5</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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-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_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>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="idm140628935620624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Geographic Information<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_SegmentReportingAbstract', window );"><strong>Segment Reporting [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_SegmentReportingDisclosureTextBlock', window );">Segment and Geographic Information</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">17.	Segment and Geographic Information</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 has determined that the chief executive officer is the chief operating decision maker (&#8220;CODM&#8221;). The CODM reviews financial information presented for the Company&#8217;s various clinical trial programs as well as results on a consolidated basis. License revenues and development revenues received are not allocated to various programs for purposes of determining a profit measure and resource allocation decisions are made by the CODM based primarily on consolidated results. As such, the Company has concluded that it operates 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;"> segment. Supplemental enterprise-wide information has been presented below.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Geographic Revenues</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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;">Geographic revenues, which are based on the region that revenue is generated, are as follows (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: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:45.7%;"></td>
        <td style="width:1.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.32%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.32%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.32%;"></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;min-width:fit-content;">&#160;</span></p></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;">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;"><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: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;">China</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">84,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: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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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:#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;">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;">9,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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: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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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;">Japan</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,867</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,764</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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,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>
       </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;">United States</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,121</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">147,752</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">140,734</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times 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-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">235,309</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="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:18pt;font-family:Times New Roman;margin-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;">Geographic Assets</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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;">Property and equipment, net by geographic location are as follows (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.78%;"></td>
        <td style="width:1.9%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.200000000000003%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.9%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.22%;"></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;min-width:fit-content;">&#160;</span></p></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;"><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>
       </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;">United States</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,785</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,094</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">China</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,341</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,511</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,126</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,605</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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 style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 lease right-of-use assets and operating lease right-of-use assets, net by geographic location are as follows (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.792%;"></td>
        <td style="width:2.08%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.023%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.08%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.023%;"></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;min-width:fit-content;">&#160;</span></p></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;"><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>
       </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;">United States</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">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:#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;">China</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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>
       </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 finance 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">435</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;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;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       <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;">United States</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">76,273</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">China</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,154</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,620</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,093</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,893</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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:18pt;font-family:Times New Roman;margin-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;">Customer Concentration</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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 revenues to date have been generated from the following collaboration partners and distribution entity that individually accounted for 10% or more of the Company&#8217;s total revenue or accounts receivable:</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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:25.93%;"></td>
        <td style="width:1.1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.795%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.795%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.795%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.795%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.795%;"></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:middle;"><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:middle;"><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:middle;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;">Percentage of Revenue</span></p></td>
        <td style="vertical-align:middle;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;"><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:middle;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;">Percentage of Accounts Receivable</span></p></td>
        <td style="vertical-align:middle;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:middle;"><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:middle;"><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;">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:middle;"><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:middle;"><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:middle;"><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>
        <td style="vertical-align:middle;"><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:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Falikang &#8212; Related party</span></p></td>
        <td style="white-space:pre-wrap;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="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;">60</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">51</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">15</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">42</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">65</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="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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Astellas &#8212; Related party</span></p></td>
        <td style="white-space:pre-wrap;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="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;">17</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">31</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">57</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">7</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">9</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="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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">AstraZeneca</span></p></td>
        <td style="white-space:pre-wrap;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="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;">8</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">9</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">20</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">33</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">16</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="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: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;">Substantially all direct product sales to distributors in China were made by Falikang. No individual distributor represented over 10% of the total revenue for the years ended December 31, 2023 and 2022. The aggregate accounts receivable from direct sales to distributors 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;"> were immaterial.</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_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-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_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<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 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<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 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<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 (d)<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/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 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 (f)<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> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<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 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<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 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<br><br>Reference 11: 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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 14: 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 (e)<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_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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="idm140628933985392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Event<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_SubsequentEventsAbstract', window );"><strong>Subsequent Events [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_SubsequentEventsTextBlock', window );">Subsequent Event</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">18.	Subsequent Event</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;">On February 23, 2024, the Company and AstraZeneca entered into an agreement to terminate the AstraZeneca U.S./RoW Agreement dated July 30, 2013 (as amended). Pursuant to the termination and transition agreement, AstraZeneca is returning all of their non-China roxadustat rights to the Company, with the exception of South Korea, and providing certain assistance during a transition period. The Company&#8217;s collaboration agreement with AstraZeneca for roxadustat in China remains in place.</span><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 a part of this termination and transition agreement, the Company and AstraZeneca will settle the outstanding balances relating to past transactions related to manufacturing and AstraZeneca will receive tiered mid-single digit royalties on FibroGen&#8217;s sales of roxadustat in the terminated territories, or thirty-five percent of all revenue FibroGen receives if it licenses or sells such rights to a third-party. Neither party incurred any early termination penalties. The Company is currently evaluating the accounting impact of this transaction as it relates to the first quarter of 2024.</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_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-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_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<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 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<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/2147483399/855-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_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="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>38
<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="idm140628932483712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule II - Valuation and Qualifying Accounts<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_srt_ValuationAndQualifyingAccountsAbstract', window );"><strong>SEC Schedule, 12-09, Valuation and Qualifying Accounts [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_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock', window );">Schedule II - Valuation and Qualifying Accounts</a></td>
<td class="text"><p id="schedule_ii" 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;">Schedule II: Valuation an</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 Qualifying Accounts</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;">(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: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:100.0%;border-collapse:separate;margin-right:auto;">
     <tr style="visibility:collapse;">
      <td style="width:35.787%;"></td>
      <td style="width:1.26%;"></td>
      <td style="width:1%;"></td>
      <td style="width:9.582%;"></td>
      <td style="width:1%;"></td>
      <td style="width:1.26%;"></td>
      <td style="width:1%;"></td>
      <td style="width:9.582%;"></td>
      <td style="width:1%;"></td>
      <td style="width:1.26%;"></td>
      <td style="width:1%;"></td>
      <td style="width:9.582%;"></td>
      <td style="width:1%;"></td>
      <td style="width:1.26%;"></td>
      <td style="width:1%;"></td>
      <td style="width:9.582%;"></td>
      <td style="width:1%;"></td>
      <td style="width:1.26%;"></td>
      <td style="width:1%;"></td>
      <td style="width:9.582%;"></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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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="vertical-align:bottom;"><p style="font-size:10pt;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 colspan="2" 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="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Charged</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 style="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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>
     </tr>
     <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;">
      <td style="vertical-align:middle;"><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:middle;"><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:middle;"><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:middle;"><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:middle;"><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: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="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Charged</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 style="vertical-align:middle;"><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: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="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">to Other</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 style="vertical-align:middle;"><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:middle;"><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:middle;"><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:middle;"><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:middle;"><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:middle;"><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>
     </tr>
     <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;">
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Balance at</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">(Credited)</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accounts -</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;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:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Beginning of</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">to Statement</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Liabilities</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Deductions,</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Balance at</span></p></td>
      <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Year</span></p></td>
      <td style="vertical-align:middle;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:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">of Operation</span></p></td>
      <td style="vertical-align:middle;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:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">and Equity</span></p></td>
      <td style="vertical-align:middle;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:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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;"><p style="font-size:8pt;margin-top:0;font-family: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</span></p></td>
      <td style="vertical-align:middle;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:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><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;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">End of Year</span></p></td>
      <td style="vertical-align:middle;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:middle;"><p style="font-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;">Valuation allowances for deferred tax assets</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 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: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 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: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 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: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 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: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 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>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Year ended December 31, 2023</span></p></td>
      <td style="white-space:pre-wrap;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="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="color:#000000;min-width:fit-content;">$</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;">477,969</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;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top: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,998</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">534,967</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Year ended December 31, 2022</span></p></td>
      <td style="white-space:pre-wrap;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="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="color:#000000;min-width:fit-content;">$</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;">409,810</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;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top: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,159</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">477,969</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Year ended December 31, 2021</span></p></td>
      <td style="white-space:pre-wrap;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="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="color:#000000;min-width:fit-content;">$</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;">337,824</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;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top: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,986</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">409,810</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;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: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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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="vertical-align:bottom;"><p style="font-size:10pt;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 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:'Calibri',sans-serif;min-width:fit-content;">&#160;</span></p></td>
      <td style="vertical-align:bottom;"><p style="font-size:10pt;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>
     </tr>
     <tr style="height:10pt;background-color:#cff0fc;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="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Allowances for rebates, discounts and adjustments</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 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: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 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: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 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: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 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: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 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>
     </tr>
     <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
      <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Year ended December 31, 2023</span></p></td>
      <td style="white-space:pre-wrap;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="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="color:#000000;min-width:fit-content;">$</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;">1,349</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;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">63,475</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">849</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">60,964</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,011</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Year ended December 31, 2022</span></p></td>
      <td style="white-space:pre-wrap;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="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="color:#000000;min-width:fit-content;">$</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;">14,443</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;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top: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,082</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,050</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">53,226</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,349</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Year ended December 31, 2021</span></p></td>
      <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">548</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top: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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top: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,258</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">734</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">29,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="color:#000000;min-width:fit-content;">)</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
      <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,443</span></p></td>
      <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and qualifying accounts and reserves.</p></div>
<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 Regulation S-X (SX)<br> -Number 210<br> -Section 12<br> -Subsection 09<br> -Publisher SEC<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 4<br> -Subparagraph (SX 210.12-09)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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;">srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</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_srt_ValuationAndQualifyingAccountsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">srt_ValuationAndQualifyingAccountsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</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>39
<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="idm140628934076448">
<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_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation</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;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;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 consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the U.S. (&#8220;U.S. GAAP&#8221;). The consolidated financial statements include the accounts of the Company, its wholly owned subsidiaries and its majority-owned subsidiaries, as well as any variable interest entity (&#8220;VIE&#8221;) for which FibroGen is the primary beneficiary. All inter-company transactions and balances have been eliminated in consolidation. For any VIE for which FibroGen is not the primary beneficiary, the Company uses the equity method of accounting.</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 Company operates in </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 &#8212; the development and commercialization of novel therapeutics to treat serious unmet medical needs.</span><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 Company believes that its existing cash and cash equivalents, short-term investments and accounts receivable will be sufficient to meet its anticipated cash requirements for at least the next 12 months from the date of issuance of the financial statements. However, the Company may need additional capital thereafter and its liquidity assumptions may materially differ.  The Company may utilize its available financial resources sooner than it currently expects and may incur additional expenses not currently contemplated. In addition, the Company may elect to raise additional funds at any time through equity, equity-linked, debt financing arrangements or from other sources.</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_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency Translation</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Foreign Currency Translation</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 and its subsidiaries is the U.S. dollar.</span><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 functional currency of FibroGen Europe is the Euro. The functional currency of FibroGen (China) Medical Technology Development Co., Ltd. (&#8220;FibroGen Beijing&#8221;) is CNY. As such, monetary assets and liabilities of FibroGen Europe and FibroGen Beijing in currencies other than their functional currencies are remeasured using exchange rates in effect at the end of the period. The assets and liabilities of FibroGen Europe and FibroGen Beijing are translated to U.S. dollars at exchange rates in effect at the balance sheet date. All income statement accounts are translated at monthly average exchange rates. Resulting foreign currency translation adjustments are recorded directly in accumulated other comprehensive income (loss) as a separate component of stockholders&#8217; equity (deficit).</span><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 functional currency of FibroGen, Inc. and all other subsidiaries is the U.S. dollar. Accordingly, monetary assets and liabilities in the non-functional currency of these subsidiaries are remeasured using exchange rates in effect at the end of the period. Revenues and costs in local currency are remeasured using average exchange rates for the period, except for costs related to those balance sheet items that are remeasured using historical exchange rates. The resulting remeasurement gains and losses are included within interest income and other, net in the consolidated statements of operations as incurred and have not been material for all 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_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Use of Estimates</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 preparation of the consolidated financial statements in conformity with U.S. GAAP 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 reported amounts of revenues and expenses during the reporting period. The more significant areas requiring the use of management estimates and assumptions include valuation and recognition of revenue and deferred revenue, specifically, estimates in variable consideration for drug product sales, and estimates in transaction price per unit for the China performance obligation (as defined and discussed under </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 Recognition</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> below). On an ongoing basis, management reviews these estimates and assumptions. Changes in facts and circumstances may alter such estimates and actual results could differ from those estimates.</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_ConcentrationRiskCreditRisk', window );">Concentration of Credit Risk</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Concentration of Credit 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 Company is subject to risks associated with concentration of credit for cash and cash equivalents. Outside of short-term operating needs, the majority of cash on hand is invested in U.S. treasuries, corporate bonds, commercial paper and money market funds. Any remaining cash is deposited with major financial institutions primarily in the U.S., China and the Cayman Islands. At times, such deposits may be in excess of insured limits. </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 Company has not experienced any loss on its deposits of cash and cash equivalents. Included in current assets are significant balances of accounts receivable as follows:</span></span></p><div style="font-size:10pt;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: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:80.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:64.64%;"></td>
          <td style="width:1.28%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.4%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.28%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.4%;"></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: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;">Falikang &#8212; Related party</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">65</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">AstraZeneca</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">16</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:10pt;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: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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the aggregate accounts receivable related to roxadustat sales in China from distributors represented </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">17</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;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, respectively, of the consolidated accounts receivable, with no material balance from any individual distributor.</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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_OtherRisksAndUncertaintiesPolicyTextBlock', window );">Other Risks and Uncertainties</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other Risks and Uncertainties</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 future results of operations involve a number of risks and uncertainties. Factors that could affect the Company&#8217;s future operating results and cause actual results to vary materially from expectations include, but are not limited to, the results of clinical trials and the achievement of milestones, research developments, actions by</span><span style="color:#000000;white-space:pre-wrap;font-size:9.5pt;font-family:Times New Roman;min-width:fit-content;"> regulatory authorities, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">market acceptance of the Company&#8217;s product candidates, competition from other products and larger companies, the liquidity and capital resources of the Company, intellectual property protection for the Company's proprietary technology, strategic relationships, and dependence on key individuals, suppliers, clinical organization, and other third parties.</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_fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock', window );">Cash, Cash Equivalents and Restricted Time Deposits</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cash, Cash Equivalents and Restricted Time Deposits</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 considers all highly liquid investments with maturities 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;">three months or less</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> at the date of purchase to be cash equivalents. Cash and cash equivalents also include money market accounts and various deposit accounts. 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, a total 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;">32.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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;">92.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;">, respectively, of the Company&#8217;s cash and cash equivalents was held outside of the U.S. in the Company&#8217;s foreign subsidiaries to be used primarily for the Company&#8217;s China operations. Restricted time deposits include an irrevocable standby letter of credit as security deposit for a long-term property lease with the Company&#8217;s landlord. Restricted time deposits were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.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;">2.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million 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.</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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentPolicyTextBlock', window );">Investments</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Investments</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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company&#8217;s investments consist primarily of diversified bonds, commercial paper, and money market funds. Those investments with original maturities of greater than three months and remaining maturities of less than </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;">12</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> months (365 days) are considered short-term investments. Those investments with maturities greater than </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;">12</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> months (365 days) from the balance sheet date are considered long-term investments. When such investments are held, the Company&#8217;s investments classified as available-for-sale are recorded at fair value based upon quoted market prices at period end. Unrealized gains and losses for available-for-sale debt investments that are deemed temporary in nature are recorded in accumulated other comprehensive income (loss) as a separate component of stockholder&#8217; equity. Realized and unrealized gains or losses resulting from changes in value and sale of the Company&#8217;s marketable equity investments are recorded in other income (expenses) in the consolidated statement 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;">A decline in the fair value of any security below cost that is deemed other than temporary results in a charge to earnings and the corresponding establishment of a new cost basis for the security. Premiums and discounts are amortized (accreted) over the life of the related security as an adjustment to its yield. Dividend and interest income are recognized when earned. Realized gains and losses are included in earnings and are derived using the specific identification method for determining the cost of investments sold.</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_TradeAndOtherAccountsReceivablePolicy', window );">Trade Accounts Receivable</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Trade accounts receivable</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 allowance for credit losses is based on the Company&#8217;s assessment of the collectability of customer accounts. The Company makes estimates of expected credit losses for the allowance for doubtful accounts by considering factors such as historical experience, credit quality, the age of the accounts receivable balances, current economic and regulatory conditions that may affect a customer&#8217;s ability to pay, and estimates of expected future losses. The Company&#8217;s bad debt expense for the years ended December 31, 2023, 2022 and 2021 and the allowance for credit losses 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;"> were immaterial.</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_CreditLossFinancialInstrumentPolicyTextBlock', window );">Credit Losses &#8211; Available-For-Sale Debt Securities</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Credit losses &#8211; Available-for-sale debt 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company periodically assesses its available-for-sale investments for other-than-temporary impairment. For debt securities in an unrealized loss position, the Company first considers its intent to sell, or whether it is more likely than not that the Company will be required to sell the debt securities before recovery of their amortized cost basis. If either of these criteria are met, the amortized cost basis of such debt securities is written down to fair value through interest and other, net.</span><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 debt securities in an unrealized loss position that do not meet the aforementioned criteria, the Company assesses whether the decline in the fair value of such debt securities has resulted from credit losses or other factors. The Company considers the extent to which fair value is less than amortized cost, any changes to the rating of the security by a rating agency, and any adverse conditions specifically related to the securities, among other factors. If this assessment indicates that a credit loss may exist, the Company then compares the present value of cash flows expected to be collected from such securities to their amortized cost basis. If the present value of cash flows expected to be collected is less than the amortized cost basis, a credit loss exists and an allowance for credit losses is recorded through interest and other, net, limited by the amount that the fair value is less than the amortized cost basis. Any additional impairment not recorded through an allowance for credit losses is recognized in other 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Changes in the allowance for credit losses are recorded as provision for, or reversal of, credit loss expense. Losses are charged against the allowance when the Company believes that an available-for-sale security is confirmed uncollectable or when either of the criteria regarding intent or requirement to sell is met.</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="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories</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;">Inventories are stated at the lower of cost or net realizable value, on a first-in, first-out, or FIFO, basis. The cost of the Company&#8217;s inventories in China is determined using full absorption and standard costing method. The Company reviews the standard cost of raw materials, work-in-process and finished goods annually and more often as appropriate to ensure that its inventories approximate current actual cost. The cost of the Company&#8217;s inventories in the U.S. uses actual costs to determine its cost basis. The cost of inventories includes direct material cost, direct labor and manufacturing overhead.</span><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;">When the technical feasibility of the Company&#8217;s future commercialization is considered probable and the future economic benefit is expected to be realized, based on management&#8217;s judgment, the Company capitalizes pre-launch inventory costs prior to regulatory approval. A number of factors are considered, including the status in the validation process in significant jurisdictions, regulatory application and approval process, and terms and condition for future sale of such inventory or future alternative use. The pre-launch inventory cost includes purchase cost of raw materials, cost paid to contract manufacturers for inventory manufacturing, freight and custom charges, and certain direct internal labor and overhead expenses.</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 Company periodically reviews its inventories to identify obsolete, slow-moving, excess or otherwise unsaleable items. If obsolete, excess or unsaleable items are observed and there are no alternate uses for the inventory, an inventory valuation adjustment is recorded through a charge to cost of goods sold on the Company&#8217;s consolidated statements of operations.  Inventory valuation adjustments require judgment including consideration of many factors, such as estimates of future product demand and product expiration period, among others.</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_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property and Equipment</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property and Equipment</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;">Property and equipment are recorded at cost and depreciated over their estimated useful lives using the straight-line method. Computer equipment, laboratory equipment, machinery and furniture and fixtures are depreciated over </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_81f57a61-fc56-4d6e-854b-d1273e02f34b;"><span style="-sec-ix-hidden:F_e71b16c5-6126-434d-8525-3ae79ff19db4;"><span style="-sec-ix-hidden:F_0a9cc98a-5860-4392-89f3-199b7af3050c;"><span style="-sec-ix-hidden:F_6ec45d46-e39b-40aa-abcd-3246c7d8df9e;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">three</span></span></span></span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </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;">. Leasehold improvements are recorded at cost and amortized over the term of the lease or their useful life, whichever is shorter.</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_ConsolidationVariableInterestEntityPolicy', window );">Equity Method Investment - Variable Interest Entity</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Equity method investment - Variable Interest Entity</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;">Under the Accounting Standards Codification (&#8220;ASC&#8221;) 810, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Consolidation </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(&#8220;ASC 810&#8221;), when the Company obtains an economic interest in an entity, it evaluates the entity to determine if it should be deemed a VIE, and, if so, whether the Company is the primary beneficiary and is therefore required to consolidate the VIE, based on significant judgment whether the Company (i) has the power to direct the activities that most significantly impact the economic performance of the VIE and (ii) has the obligation to absorb losses or the right to receive benefits of the VIE that could potentially be significant to the VIE.</span><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 an ongoing basis, the Company re-evaluates the VIE assessment based on potential changes in facts and circumstances, including but not limited to, the shareholder loans to the entity and the execution of any future significant agreements between the entity and its shareholders and/or other third parties.</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_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Leases</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 determines if an arrangement is or contains a lease at inception date when it is given control of the underlying assets. The Company elected the practical expedient not to apply the lease recognition and measurement requirements to short-term leases, which is any lease with a term 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;">12</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> months or less as of the commencement date that does not include an option to purchase the underlying asset that the lessee is reasonably certain to exercise.</span><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;">Lease right-of-use (&#8220;ROU&#8221;) assets and lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As its leases do not typically provide an implicit rate, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of future payments. The Company reassesses the incremental borrowing rate periodically for application to any new leases or lease modifications, which approximates the rate at which the Company would borrow, on a secured basis, in the country where the lease was executed. For any lease modification, the Company reassesses the lease classification, remeasures the related lease liability using an updated discount rate, and adjusts the related ROU asset under the lease modification guidance under the ASC 842, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Leases</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, (&#8220;ASC 842&#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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Lease ROU assets include any lease payments made and initial direct costs incurred. The Company has lease agreements with lease and non-lease components. The Company generally accounts for each lease component separately from the non-lease components, and excludes all non-lease components from the calculation of minimum lease payments in measuring the ROU asset and lease liability.</span><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 Company&#8217;s lease terms may include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease terms.</span><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;">Regarding leases denominated in a foreign currency, the related ROU assets and the corresponding ROU asset amortization costs are remeasured using the exchange rate in effect at the date of initial recognition; the related lease liabilities are remeasured using the exchange rate in effect at the end of the reporting period; the lease costs and interest expenses related to lease liability accretion are remeasured using average exchange rates for the reporting period.</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;">Finance leases are included in finance lease ROU assets, finance lease liabilities, current and non-current on the Company&#8217;s consolidated balance sheets. Operating leases are included in operating lease ROU assets, operating lease liabilities, current and non-current on the Company&#8217;s consolidated balance sheets.</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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Impairment of Long-Lived Assets</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Impairment of Long-Lived Assets</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 continually evaluates whether events or circumstances have occurred that indicate that the estimated remaining useful life of its long-lived assets may warrant revision or that the carrying value of these assets may be impaired. If the Company determines that an impairment trigger has been met, the Company evaluates the realizability of its long-lived assets (asset group) based on a comparison of projected undiscounted cash flows from use and eventual disposition with the carrying value of the related asset. Any write-downs (which are measured based on the difference between the fair value and the carrying value of the asset) are treated as permanent reductions in the carrying amount of the assets (asset group). Based on this evaluation, the Company believes that, as of each of the balance sheet dates presented, </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;">ne of the Company&#8217;s long-lived assets were impaired. The Company had </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 long-lived assets 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>
<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_fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock', window );">Liability Related to Sale of Future Revenues</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Liability Related to Sale of Future Revenues</span></p><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company accounts for the sale of future revenue as a debt, because the risks and rewards to the investor are limited by the terms of the transaction as discussed further in Note 10, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Liability Related to Sale of Future Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The difference between the carrying amount of the initial liability and the gross proceeds received is accounted for as a discount. The Company recognizes interest expense based on an estimated effective annual interest rate, which is affected by the amount and timing of revenues recognized and changes in the timing of forecasted revenues. Quarterly, the Company reassesses the expected revenues and the timing of such revenues, recalculates the amortization and effective interest rate and adjusts the accounting prospectively as needed</span><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_fgen_AssetAcquisitionPolicyPolicyTextBlock', window );">Asset Acquisition</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Asset Acquisition</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 evaluates acquisitions of entities or assets to assess whether or not the transaction should be accounted for as a business combination or asset acquisition by first applying a screen test to determine whether substantially all of the fair value of the gross assets acquired is concentrated in a single identifiable asset or group of similar identifiable assets. If this screen criteria is met, the transaction is accounted for as an asset acquisition. If not, further determination is required as to whether or not the Company has acquired inputs and processes that have the ability to create outputs which would meet the definition of a business. The Company measures and recognizes asset acquisitions that are not deemed to be business combinations based on the cost to acquire the assets, which includes transaction 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;min-width:fit-content;">In an asset acquisition, the cost allocated to acquire in-process research and development (&#8220;IPR&amp;D&#8221;) with no alternative future use is charged to research and development expense at the acquisition date. The Company recognizes assets acquired and liabilities assumed in asset acquisitions, including contingent assets and liabilities, and non-controlling interests (&#8220;NCI&#8221;) in the acquired assets at their estimated fair values as of the date of acquisition.</span><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;">An NCI represents the non-affiliated equity interest in the underlying entity or asset. The Company presents redeemable NCI in its consolidated statements of changes in equity within mezzanine equity. Nonredeemable NCI and redeemable NCI are initially recorded at their fair values. Subsequently, net loss in the underlying entity or asset is only allocated to nonredeemable NCI. Net income in the underlying entity or asset is allocated to nonredeemable NCI and redeemable NCI based on their respective stated rights.</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_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue Recognition</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;">Revenues under collaboration agreements</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 collaboration agreements include multiple performance obligations comprised of promised services, or bundles of services, that are distinct. Services that are not distinct are combined with other services in the agreement until they form a distinct bundle of services. The Company&#8217;s process for identifying performance obligations and an enumeration of each obligation for each agreement is outlined in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Determining the performance obligations within a collaboration agreement often involves significant judgment and is specific to the facts and circumstances contained in each agreement.</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 Company has identified the following material promises under its collaboration agreements: (1) license of FibroGen technology, (2) the performance of co-development services, including manufacturing of clinical supplies and other services during the development period, and (3) manufacture of commercial supply. The evaluation as to whether these promises are distinct, and therefore represent separate performance obligations, is described in more detail in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><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 revenue recognition purposes, the Company determines that the terms of its collaboration agreements begin on the effective date and end upon the completion of all performance obligations contained in the agreements. In each agreement, the contract term is defined as the period in which parties to the contract have present and enforceable rights and obligations. The Company believes that the existence of what it considers to be substantive termination penalties on the part of the counterparty create sufficient incentive for the counterparty to avoid exercising its right to terminate the agreement.</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 transaction price for each collaboration agreement is determined based on the amount of consideration the Company expects to be entitled for satisfying all performance obligations within the agreement. The Company&#8217;s collaboration agreements include payments to the Company of one or more of the following: non-refundable upfront license fees; co-development billings; development, regulatory, and commercial milestone payments; payments from sales of active pharmaceutical ingredient (&#8220;API&#8221;); payments from sales of bulk drug product and royalties on net sales of licensed 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;">Upfront license fees are non-contingent and non-refundable in nature and are included in the transaction price at the point when the license fees become due to the Company. The Company does not assess whether a contract has a significant financing component if the expectation at contract inception is such that the period between payment by the customer and the transfer of the promised goods or services to the customer will be one year or less.</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;">Co-development billings resulting from the Company&#8217;s research and development efforts, which are reimbursable under its collaboration agreements, are considered variable consideration. Determining the reimbursable amount of research and development efforts requires detailed analysis of the terms of the collaboration agreements and the nature of the research and development efforts incurred. Prior to CKD approval in the third quarter of 2021, determining the amount of variable consideration from co-development billings required the Company to make estimates of future research and development efforts, which involved significant judgment. Co-development billings are allocated entirely to the co-development services performance obligation when amounts are related specifically to research and development efforts necessary to satisfy the performance obligation, and such an allocation is consistent with the allocation objective.</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;">Milestone payments are also considered variable consideration, which requires the Company to make estimates of when achievement of a particular milestone becomes probable. Similar to other forms of variable consideration, milestone payments are included in the transaction price when it becomes probable that such inclusion would not result in a significant revenue reversal. Milestones are therefore included in the transaction price when achievement of the milestone becomes probable.</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 arrangements that include sales-based royalties and for which the license is deemed to be the predominant item to which the royalties relate, the Company recognizes revenue at the later of (i) when the related sales occur, or (ii) when the performance obligation to which some or all of the royalty has been allocated has been satisfied (or partially satisfied). To date, royalty revenue resulting from its collaboration arrangements was immaterial.</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 transaction price is allocated to performance obligations based on their relative standalone selling price (&#8220;SSP&#8221;), with the exception of co-development billings allocated entirely to co-development services performance obligations. The SSP is determined based on observable prices at which the Company separately sells the products and services. If an SSP is not directly observable, then the Company will estimate the SSP considering marketing conditions, entity-specific factors, and information about the customer or class of customer that is reasonably available. The process for determining SSP involves significant judgment and includes consideration of multiple factors, including assumptions related to the market opportunity and the time needed to commercialize a product candidate pursuant to the relevant license, estimated direct expenses and other costs, which include the rates normally charged by contract research and contract manufacturing organizations for development and manufacturing obligations, and rates that would be charged by qualified outsiders for committee services.</span><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;">Significant judgment may be required in determining whether a performance obligation is distinct, determining the amount of variable consideration to be included in the transaction price, and estimating the SSP of each performance obligation. An enumeration of the Company&#8217;s significant judgments is outlined in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><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 each performance obligation identified within an arrangement, the Company determines the period over which the promised services are transferred and the performance obligation is satisfied. Service revenue that was recognized over time was based on progress toward complete satisfaction of the performance obligation. For each performance obligation satisfied over time, the Company assesses the proper method to be used for revenue recognition, either an input method to measure progress toward the satisfaction of services or an output method of determining the progress of completion of performance obligation.</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:18pt;font-family:Times New Roman;margin-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 under license agreements</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;">Under a license agreement, if the license to the Company&#8217;s intellectual property is determined to be distinct from the other performance obligations identified in the arrangement, the Company recognizes revenues from upfront license fees allocated to the license when the license is transferred to the licensee and the licensee is able to use and benefit from the license. For licenses that are bundled with other promises, the Company determines whether the combined performance obligation is satisfied over time or at a point in time. If the combined performance obligation is satisfied over time, the Company uses judgment in determining the appropriate method of measuring progress for purposes of recognizing revenue from the up-front license fees. The Company evaluates the measure of progress each reporting period and, if necessary, adjusts the measure of performance and related revenue recognition.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product revenue, 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;">Product revenue, net consists of revenues from sales of roxadustat commercial product to Falikang, and directly to pharmaceutical distributors located in one province in China that are not covered by Falikang. Falikang is jointly owned by AstraZeneca AB (&#8220;AstraZeneca&#8221;) and FibroGen Beijing. The Company is not the primary beneficiary of Falikang for accounting purposes, as AstraZeneca is the final decision maker for all the roxadustat commercialization activities, and the Company lacks the power criterion to direct the activities of Falikang (see Note 5, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Equity method investment - Variable Interest Entity</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: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;font-style:italic;min-width:fit-content;">Sales to Falikang</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;">Falikang became fully operational in January 2021, at which time FibroGen Beijing began selling roxadustat commercial product to Falikang. Falikang is FibroGen Beijing&#8217;s primary customer in China and substantially all roxadustat product sales to distributors in China are made by Falikang. Falikang bears inventory risk once it receives and accepts the product from FibroGen Beijing, and is responsible for delivering product to its distributors.</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;">The promises identified under the AstraZeneca China Agreement (as defined in Note 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;">Collaboration Agreements, License Agreement and Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">), including the license, co-development services and manufacturing of commercial supplies have been bundled into a single performance obligation (&#8220;China performance obligation&#8221;). Amounts of the transaction price allocable to this performance obligation under the Company&#8217;s agreements with AstraZeneca as outlined in Note 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;">Collaboration Agreements, License Agreement and Revenues,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> are deferred until control of the manufactured commercial product is transferred to AstraZeneca.</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;">The initiation of roxadustat sales to Falikang marked the beginning of the China performance obligation</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><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Revenue is recognized at a point in time when control of roxadustat commercial product is transferred to Falikang. Revenue is recognized based on the estimated transaction price per unit and actual quantity of product delivered during the reporting period. Specifically, the transaction price per unit is determined based on the overall transaction price over the total estimated sales quantity for the estimated performance period in which the Company determined it is likely those sales would occur. The price per unit is subject to reassessment on a quarterly basis, which may result in cumulative catch up adjustments due to changes in estimates.</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 overall transaction price for FibroGen Beijing&#8217;s product sales to Falikang includes the following elements of consideration:</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="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Non-refundable upfront license fees; development, regulatory, and commercial milestone payments based on the AstraZeneca China Agreement allocated to the China performance obligation;</span></div></div><div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Co-development billings resulting from the Company&#8217;s research and development efforts, which are reimbursable under the AstraZeneca China Agreement;</span></div></div><div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Interim profit/loss share between FibroGen Beijing and AstraZeneca from April 1, 2020 through December 31, 2020; and</span></div></div><div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;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;">Net transaction price from product sales to Falikang from January 1, 2021 onwards. The net transaction price includes the following elements: </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;">o</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;">Gross transaction price: The gross transaction price is based on a percentage of Falikang&#8217;s net sales to its distributors, which takes into account Falikang&#8217;s operating expenses and its payments to AstraZeneca for roxadustat sales and marketing efforts, capped at a percentage of Falikang&#8217;s net roxadustat sales. </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;">o</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;">Profit share: The gross transaction price is then adjusted for an estimated amount to achieve the </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;">/50 profit share from current period roxadustat net sales in China. The adjustments to date have been a reduction to the transaction price and the related accounts receivable from Falikang. </span></div></div><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;">The non-refundable upfront license fees constitute a fixed consideration. The remainder of the above are variable consideration components, which may be constrained, and included in the transaction price only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period when the uncertainty associated with the variable consideration is subsequently resolved. The calculation of the above variable consideration includes significant assumptions such as total sales quantity, performance period, gross transaction price and profit share, which require significant judgment.</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;">Any net transaction price in excess of the revenue recognized is deferred, and will be recognized over future periods as the performance obligations are satisfied.</span></p><p style="font-size:10pt;margin-top:18pt;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;font-style:italic;min-width:fit-content;">Direct Sales to Distributors</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 sells roxadustat in China directly to a number of pharmaceutical distributors located in one province in China that are not covered by Falikang. These pharmaceutical distributors are the Company&#8217;s customers. Hospitals order roxadustat through a distributor and the Company ships the product directly to the distributors. The delivery of roxadustat to a distributor represents a single performance obligation. Distributors are responsible for delivering product to end users, primarily hospitals. Distributors bear inventory risk once they receive and accept the product. Product revenue is recognized when control of the promised good is transferred to the customer in an amount that reflects the consideration that the Company expects to be entitled to in exchange for the product.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><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 period between the transfer of control of the promised goods and when the Company receives payment is based on 60-day payment terms.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> As such, product revenue is not adjusted for the effects of a significant financing component.</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;">Product revenue is recorded at the net sales prices that includes certain estimates of variable consideration. These estimates include price adjustment calculated based on estimated channel inventory levels when China&#8217;s National Healthcare Security Administration releases price guidance for roxadustat under the National Reimbursement Drug List, various fixed-amount or percentage-based rebates and discounts recorded as a reduction to revenue at the point of sale to the distributor or when distributor meets eligibility requirements, and estimated sales return as </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;">d</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">i</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">stributors can request to return product to the Company only due to quality issues or for product purchased within one year prior to the product&#8217;s expiration date.</span></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;">The calculation of the variable consideration is based on gross sales to the distributor, or estimated utilizing best available information from the distributor, maximum known exposures and other available information including estimated channel inventory levels and estimated sales made by the distributor to hospitals, which involve a significant judgment.</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;">The rebates and discounts all together are eligible to be applied against the distributor&#8217;s future sales order, limited to certain maximums until such rebates and discounts are exhausted. These rebates and discounts are recorded as contract liabilities at the time they become eligible and in the same period that the related revenue is recorded. Due to the Company&#8217;s legal right to offset, at each balance sheet date, the rebates and discounts are presented as reductions to gross accounts receivable from the distributor, or as a current liability to the distributor to the extent that the total amount exceeds the gross accounts receivable or when the Company expects to settle the discount in cash. The Company&#8217;s legal right to offset is determined at the individual distributor level. The contract liabilities were included in accrued and other current liabilities in the consolidated balance sheet. The rebates and discounts reflected as reductions to gross accounts receivable for direct sales.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug product revenue</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;">Drug product revenue includes commercial-grade API or bulk drug product sales to AstraZeneca and Astellas Pharma Inc. (&#8220;Astellas&#8221;) in support of pre-commercial preparation prior to the New Drug Application (&#8220;NDA&#8221;) or Marketing Authorization Application approval, and to Astellas for ongoing commercial activities in Japan and Europe. Drug product revenue is recognized when the Company fulfills the inventory transfer 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;">The amount of variable consideration that is included in the transaction price may be constrained, and is included in the drug product revenue only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period when the uncertainty associated with the variable consideration is subsequently resolved. Estimating variable consideration and the related constraint requires the use of significant management judgment. The Company reviews new information that may affect its variable consideration estimate at every reporting period and records revenue adjustment, if certain and material. Actual amounts of consideration ultimately received in the future may differ from the Company&#8217;s estimates, for which the Company will adjust these estimates and affect the drug product revenue in the period such variances become 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;">As each of the Company&#8217;s collaboration agreements provide for annual true up to the considerations paid for its commercial supplies, the Company will re-evaluate the transaction price in each reporting period and record adjustment to revenue as uncertain events are resolved or other changes in circumstances occur.</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_fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock', window );">License Acquisition Agreement</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">License Acquisition Agreement</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;">In June 2021, the Company entered into an exclusive license and option agreement (the &#8220;HiFiBiO Agreement&#8221;) with HiFiBiO Therapeutics (&#8220;HiFiBiO&#8221;), pursuant to which the Company exclusively licensed all product candidates in HiFiBiO&#8217;s Galectin-9 program and subsequently exclusively licensed all product candidates in HiFiBiO&#8217;s CCR8 program in December 2021. Under the terms of the HiFiBiO Agreement, the Company has paid a $</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 upfront payment to HiFiBiO during the year ended December 31, 2021, and recorded a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">35.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million upfront payment for the CCR8 option exercise in accrued liabilities as of December 31, 2021, which was paid during the first quarter of 2022. HiFiBiO may receive R&amp;D and regulatory milestone payments of up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">175</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, as well as sales milestones of up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">170</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. HiFiBiO will also be eligible to receive tiered royalties based upon worldwide net sales capped at </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;">%, subject to certain reductions. We expect to file INDs on product candidates for both the CCR8 and Galectin-9 programs in the first half of 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: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;">The acquisition of these licenses was accounted for as an asset acquisition. The above-mentioned upfront payments of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">60.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million related to the license and options acquisition meets the definition of an in-process research and development asset (&#8220;IPR&amp;D asset&#8221;) under the ASC 730, </span><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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. They relate to particular research and development projects and are determined to have no alternative future uses and thus have no separate economic value. Therefore, these upfront payments were recorded as research and development expenses during the year ended December 31, 2021, and the cash payments were reflected as investing activities in the consolidated statement of cash flows during the years ended December 31, 2022 and 2021, respectively.</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;">Contingent consideration payments will be evaluated and recognized when they become probable and reasonably estimable. The related IPR&amp;D asset will only be capitalized if it has an alternative future use other than in a particular research and development project. Otherwise, amounts allocated to IPR&amp;D asset that have no alternative use will be expensed. 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 contingencies related to the milestone payments had not been resolved, therefore no contingent consideration was recognized. The Company will reassess the probability of future option payments and contingent payments on a quarterly basis.</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_ResearchAndDevelopmentExpensePolicy', window );">Research and Development Expenses</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Research and Development Expenses</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;">Research and development expenses consist of above-mentioned expense for acquired IPR&amp;D asset, independent research and development costs and the gross amount of costs associated with work performed under collaboration agreements. Research and development costs include employee-related expenses, expenses incurred under agreements with clinical research organizations, other clinical and preclinical costs and allocated direct and indirect overhead costs, such as facilities costs, information technology costs and other overhead. All research and development costs are expensed as incurred.</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_ClinicalTrialAccrualPolicyTextBlock', window );">Clinical Trial Accruals</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Clinical Trial Accruals</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;">Clinical trial costs are a component of research and development expenses. The Company accrues and expenses clinical trial activities performed by third parties based upon actual work completed in accordance with agreements established with clinical research organizations and clinical sites. The Company determines the costs to be recorded based upon validation with the external service providers as to the progress or stage of completion of trials or services and the agreed-upon fee to be paid for such services.</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_SellingGeneralAndAdministrativeExpensesPolicyTextBlock', window );">Selling, General and Administrative Expenses</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Selling, General and Administrative Expenses</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 consist primarily of employee-related expenses for executive, operational, finance, legal, compliance and human resource functions. SG&amp;A expenses also include facility-related costs, professional fees, accounting and legal services, other outside services including co-promotional expenses associated with our commercialization efforts in China, recruiting fees and expenses associated with obtaining and maintaining patents.</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_fgen_RestructuringChargePolicyTextBlock', window );">Restructuring Charge</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Restructuring Charge</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 restructuring charge is recognized when the liability is incurred and accrued in the period in which it is probable that the employees are entitled to the restructuring benefits and the amounts can be reasonably estimated. The restructuring liability accrued but not paid at the end of the reporting period is included in accrued and other current liabilities in the consolidated balance sheets.</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_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Income Taxes</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 utilizes the asset and liability method of accounting for income taxes, which requires the recognition of deferred tax assets and liabilities for expected future consequences of temporary differences between the financial reporting and income tax bases of assets and liabilities using enacted tax rates. Management makes estimates, assumptions and judgments to determine the Company&#8217;s provision for income taxes and for deferred tax assets and liabilities, and any valuation allowances recorded against the Company&#8217;s deferred tax assets. The Company assesses the likelihood that its deferred tax assets will be recovered from future taxable income and, to the extent the Company believes that recovery is not likely, the Company must establish a valuation allowance.</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 calculation of the Company&#8217;s current provision for income taxes involves the use of estimates, assumptions and judgments while taking into account current tax laws, interpretation of current tax laws and possible outcomes of future tax audits. The Company has established reserves to address potential exposures related to tax positions that could be challenged by tax authorities. Although the Company believes its estimates, assumptions and judgments to be reasonable, any changes in tax law or its interpretation of tax laws and the resolutions of potential tax audits could significantly impact the amounts provided for income taxes in the Company&#8217;s consolidated financial statements.</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 calculation of the Company&#8217;s deferred tax asset balance involves the use of estimates, assumptions and judgments while taking into account estimates of the amounts and type of future taxable income. Actual future operating results and the underlying amount and type of income could differ materially from the Company&#8217;s estimates, assumptions and judgments thereby impacting the Company&#8217;s financial position 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;">The Company has adopted ASC 740-10, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accounting for Uncertainty in Income Taxes</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, that prescribes a recognition threshold and measurement attribute for the financial statement recognition and measurement of uncertain tax positions taken or expected to be taken in the Company&#8217;s income tax return, and also provides guidance on derecognition, classification, interest and penalties, accounting in interim periods, disclosure and transition.</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 Company includes interest and penalties related to unrecognized tax benefits within income tax expense in the Consolidated Statements 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><span></span>
</td>
</tr>
<tr class="re">
<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="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-weight:bold;font-size:10pt;font-family:Times New Roman;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;">The Company maintains equity incentive plans under which equity awards are granted to employees, which are comprised of stock options, service-based restricted stock units (&#8220;RSUs&#8221;), performance-based RSUs (&#8220;PRSUs&#8221;), and total shareholder return (&#8220;TSR&#8221;) awards.</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 Company measures and recognizes compensation expense for all stock options, RSUs and PRSUs granted to its employees and directors based on the estimated fair value of the award on the grant date. The Company uses the Black-Scholes valuation model to estimate the fair value of stock option awards. The determination of the grant date fair value of options using the Black-Scholes valuation model is affected by the Company&#8217;s estimated common stock fair value and requires management to make a number of assumptions including the expected life of the option, the volatility of the underlying stock, the risk-free interest rate and expected dividends. The Company determines the fair value of RSUs and PRSUs using the fair value of our common stock on the date of grant. To estimate the fair value of the TSR awards, the Company uses the Monte Carlo valuation model to simulate the probabilities of achievement, which requires management to make a number of assumptions including 30-day average price, volatility of the underlying stock and the Company&#8217;s peers, and the 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;"> </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 compensation cost of service-based stock options and restricted stock units is recognized net of any estimated forfeitures on a straight-line basis over the employee requisite service period. Compensation cost for PRSUs is expensed over the respective vesting periods when the achievement of performance criteria is probable. Compensation cost for the TSR awards is recognized over the requisite service period, regardless of when, if ever, the market condition is satisfied.</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 Company believes that the fair value of stock options granted to non-employees is more reliably measured than the fair value of the services received.</span><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:2pt;font-family:Times New Roman;margin-bottom: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 stock options using the Black-Scholes option valuation model. The fair value of employee stock options and RSUs is being amortized on a straight-line basis over the requisite service period of the awards. Compensation cost for PRSUs is expensed over the respective vesting periods when the achievement of performance criteria is probable. The Company estimates the fair value of the TSR awards using the Monte Carlo valuation model to simulate the probabilities of achievement. Compensation cost for the TSR awards is recognized over the requisite service period, regardless of when, if ever, the market condition is satisfied. The fair market value of common stock is based on the closing price of the Company&#8217;s common stock as reported on the Nasdaq Global Select Market on the date of the grant.</span><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 of employee stock-based compensation is estimated using the following assumptions:</span></p><div style="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.537%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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;"> Expressed as a weighted-average, the expected life of the options is based on the average period the stock options are expected to be outstanding and was based on the Company&#8217;s historical information of the option exercise patterns and post-vesting termination behavior as well as contractual terms of the instruments. The expected term of 2014 ESPP shares is the average of the remaining purchase periods under each offering period. The expected term of TSR awards is determined based on the grant date to the end of the performance period.</span></div></div><div style="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.537%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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;"> The Company considers its historical volatility data for volatility considerations for all of its stock-based compensation types except for its TSR awards, which is based on a blend of the Company&#8217;s and comparable public entities&#8217; historical volatility.</span></div></div><div style="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.537%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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;"> Expressed as a weighted-average, the risk-free interest rate assumption is based on the U.S. Treasury instruments whose term was consistent with the expected term of the Company&#8217;s respective stock-based compensation types.</span></div></div><div style="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.537%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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;"> The Company has never declared or paid any cash dividends and does not plan to pay cash dividends in the foreseeable future.</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_ComprehensiveIncomePolicyPolicyTextBlock', window );">Comprehensive Income (Loss)</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Comprehensive Income (Loss)</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 is required to report all components of comprehensive income (loss), including net loss, in the consolidated financial statements in the period in which they are recognized. Comprehensive income (loss) is defined as the change in equity during a period from transactions and other events and circumstances from non-owner sources, including unrealized gains and losses on investments and foreign currency translation adjustments. Comprehensive gains (losses) have been reflected in the consolidated statements of comprehensive income (loss) for all periods presented.</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_fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock', window );">Recently Issued Accounting Guidance Not Yet Adopted</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Recently Issued Accounting Guidance Not Yet Adopted</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 November 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) No. 2023-07,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> which requires all public entities, including public entities with a single reportable segment, to provide in interim and annual periods one or more measures of segment profit or loss used by the chief operating decision maker to allocate resources and assess performance. In addition, this guidance requires disclosures of significant segment expenses and other segment items as well as incremental qualitative disclosures. This guidance is effective for fiscal years beginning after December 15, 2023, and interim periods after December 15, 2024, with retrospective application required, and early adoption permitted. The Company is currently in the process of evaluating the effects of this guidance on its related disclosures.</span><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 December 2023, the FASB issued ASU 2023-09,</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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, which requires enhanced income tax disclosures, including specific categories and disaggregation of information in the effective tax rate reconciliation, disaggregated information related to income taxes paid, income or loss from continuing operations before income tax expense or benefit, and income tax expense or benefit from continuing operations. This guidance is effective for annual periods beginning after December 15, 2024, with early adoption permitted. The Company is currently in the process of evaluating the impact of this pronouncement on its related disclosures.</span></p><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_fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock', window );">Collaboration Arrangements and Revenues</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;min-width:fit-content;">Astellas Agreements</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;">Astellas Japan 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 June 2005, the Company entered into a collaboration agreement with Astellas for the development and commercialization (but not manufacture) of roxadustat for the treatment of anemia in Japan (&#8220;Astellas Japan Agreement&#8221;). Under this agreement, Astellas paid license fees and other consideration totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">40.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (such amounts were fully received as of February 2009). Under the Astellas Japan Agreement, the Company is also eligible to receive from Astellas an aggregate of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">132.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in potential milestone payments, comprised of (i) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">22.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified clinical and development milestone events (such amounts were fully received as of July 2016), (ii) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">95.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified regulatory milestone events, and (iii) up to approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">15.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon the achievement of specified commercial sales milestone. The Astellas Japan Agreement also provides for tiered payments based on net sales of product (as defined) in </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 low 20% range of the list price</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> published by the Japanese Ministry of Health, Labour and Welfare, adjusted for certain elements, after commercial launch.</span><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 aggregate amount of the considerations received under the Astellas Japan Agreement, through December 31, 2023 totals </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;">105.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, excluding drug product revenue that is discussed under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below. Based on its current development plans for roxadustat in Japan, the Company does not expect to receive most or all of the additional potential milestones under the Astellas Japan 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:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2018, FibroGen and Astellas entered into an amendment to the Astellas Japan Agreement that allows Astellas to manufacture roxadustat drug product for commercialization in Japan (the &#8220;Astellas Japan Amendment&#8221;). Under this amendment, FibroGen would continue to manufacture and supply roxadustat API</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;">to Astellas for the roxadustat commercial activities in Japan. The commercial terms of the Astellas Japan Agreement relating to the transfer price for roxadustat for commercial use remain substantially the same, reflecting an adjustment for the manufacture of drug product by Astellas rather than FibroGen. The related drug product revenue is described under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section 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:18pt;font-family:Times New Roman;margin-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;">Astellas Europe 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 April 2006, the Company entered into a separate collaboration agreement with Astellas for the development and commercialization of roxadustat for the treatment of anemia in Europe, the Middle East, the Commonwealth of Independent States and South Africa (&#8220;Astellas Europe Agreement&#8221;). Under the terms of the Astellas Europe Agreement, Astellas paid license fees and other upfront consideration totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">320.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (such amounts were fully received as of February 2009). The Astellas Europe Agreement also provides for additional development and regulatory approval milestone payments up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">425.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, comprised of (i) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">90.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified clinical and development milestone events (such amounts were fully received as of 2012), and (ii) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">335.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified regulatory milestone events. Under the Astellas Europe Agreement, Astellas committed to fund </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 joint development costs for Europe and North America, and all territory-specific costs. The Astellas Europe Agreement also provides for tiered payments based on net sales of product (as defined) in the </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;">low 20% range</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><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 21, 2022, EVRENZO</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;"> (roxadustat) was registered with the Russian Ministry of Health. The Company evaluated the regulatory milestone payment associated with the approval in Russia under the Astellas Europe Agreement and concluded that this milestone was achieved in the first quarter of 2022. Accordingly, the consideration of $</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 associated with this milestone was included in the transaction price and allocated to performance obligations under the Astellas Europe Agreement, all of which was recognized as revenue during the year ended December 31, 2022 from performance obligations satisfied.</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 third quarter of 2021, the European Commission approved EVRENZO</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;"> (roxadustat) for the treatment of adult patients with symptomatic anemia associated with CKD. Astellas has launched EVRENZO in Germany, the United Kingdom, the Netherlands, and Austria. This approval triggered a total of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">120.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million milestone payable to the Company by Astellas under the Astellas Europe Agreement. Accordingly, the consideration of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">120.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million associated with these milestones was included in the transaction price and allocated to performance obligations under the Astellas Europe Agreement, all of which was recognized as revenue during the year ended December 31, 2021 from performance obligations satisfied.</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 aggregate amount of the considerations received under the Astellas Europe Agreement through December 31, 2023 totals </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;">685.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, excluding drug product revenue that is discussed under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below. Based on its current development plans for roxadustat in Europe, the Company does not expect to receive most or all of the additional potential milestones under the Astellas Europe 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:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the Astellas Europe Agreement, Astellas has an option to purchase roxadustat bulk drug product in support of commercial supplies. During the first quarter of 2021, the Company entered into an EU Supply Agreement with Astellas (&#8220;Astellas EU Supply Agreement&#8221;) to define general forecast, order, supply and payment terms for Astellas to purchase roxadustat bulk drug product from FibroGen in support of commercial supplies. The related drug product revenue is described under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section 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:18pt;font-family:Times New Roman;margin-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;">Accounting for the Astellas Agreements</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 each of the Astellas agreements, the Company has evaluated the promised services within the respective arrangements and has identified performance obligations representing those services and bundles of services that are distinct.</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;">Promised services that were not distinct have been combined with other promised services to form a distinct bundle of promised services, with revenue being recognized on the bundle of services rather than the individual services. There are no right-of-return provisions for the delivered items in the Astellas agreements.</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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the transaction price for the Astellas Japan Agreement, excluding manufacturing services that is discussed separately below, included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">40.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of non-contingent upfront payments, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">65.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of variable consideration related to payments for milestones achieved, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of variable consideration related to co-development billings. The transaction price for the Astellas Europe Agreement, excluding manufacturing services that is discussed separately below, included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">320.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of non-contingent upfront payments, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">365.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of variable consideration related to payments for milestones achieved, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">220.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of variable consideration related to co-development billings.</span><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 technology license under the Astellas Japan Agreement and the Astellas Europe Agreement, SSP was determined primarily by using the discounted cash flow (&#8220;DCF&#8221;) method, which aggregates the present value of future cash flows to determine the valuation as of the effective date of each of the agreements. The DCF method involves the following key steps: 1) the determination of cash flow forecasts and 2) the selection of a range of comparative risk-adjusted discount rates to apply against the cash flow forecasts. The discount rates selected were based on expectations of the total rate of return, the rate at which capital would be attracted to the Company and the level of risk inherent within the Company. The discounts applied in the DCF analysis ranged from </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">17.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">20.0</span><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 flow forecasts were derived from probability-adjusted revenue and expense projections by territory. Such projections included consideration of taxes and cash flow adjustments. The probability adjustments were made after considering the likelihood of technical success at various stages of clinical trials and regulatory approval phases. SSP also considered certain future royalty payments associated with commercial performance of the Company&#8217;s compounds, transfer prices and expected gross margins.</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 promised services that were analyzed, along with their general timing of satisfaction and recognition as revenue, are as follows:</span></p><div style="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.537%;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;">License to the Company&#8217;s technology existing at the effective date of the agreements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> For both of the Astellas agreements, the license was delivered at the beginning of the agreement term. In both cases, the Company concluded at the time of the agreement that its collaboration partner, Astellas, would have the knowledge and capabilities to fully exploit the licenses without the Company&#8217;s further involvement. However, the Astellas Japan Agreement has contractual limitations that might affect Astellas&#8217; ability to fully exploit the license and therefore, potentially, the conclusion as to whether the license is capable of being distinct. The Company considered the fact that at the time of delivery of the license, the development services were beyond the preclinical development phase and any remaining development work in either agreement would not be expected to result in any significant modification or customization to the licensed technology. As such, the development services are separately identifiable from the licensed technology, indicating that the license is a distinct performance obligation. The portion of the transaction price allocated to this performance obligation based on a relative SSP basis was recognized as revenue in its entirety at the point in time the license transfers to Astellas.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Co-development services (Astellas Europe Agreement). </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This promise relates to co-development services that were reasonably expected to be performed by the Company at the time the collaboration agreement was signed and is considered distinct. Co-development billings are allocated entirely to the co-development services performance obligation as amounts are related specifically to research and development efforts necessary to satisfy the performance obligation related to CKD approval, and such an allocation is consistent with the allocation objective. Through the third quarter of 2021 upon the approval of CKD, revenue was recognized over time based on progress toward complete satisfaction of the performance obligation. The Company used an input method to measure progress toward the satisfaction of the performance obligation, which was based on costs of labor hours and out-of-pocket expenses incurred relative to total expected costs to be incurred. Subsequently, the Company accounts for the development services for the indications related to chemotherapy-induced anemia and myelodysplastic syndromes separately as services are provided. There w</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">as </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;"> provision for co-development services in the Astellas Japan Agreement. </span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">License to the Company&#8217;s technology developed during the term of the agreement and development (referred to as &#8220;when and if available&#8221;) and information sharing services. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">These promises are generally satisfied throughout the term of the agreements.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Manufacturing of clinical supplies of products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> This promise is satisfied as supplies for clinical product are delivered for use in the Company&#8217;s clinical trial programs during the development period, or pre-commercialization period.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;display:inline-flex;justify-content:flex-start;">(5)</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;">Committee service</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. This promise is satisfied throughout the course of the agreements as meetings are attended.</span></div></div><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Items (2)-(5) are bundled into a single performance obligation that is distinct given the fact that all are highly interrelated during the development period (pre-commercial phase of development) such that satisfying them independently is not practicable. For the revenue recognized over time based on progress toward complete satisfaction of the performance obligation, the Company uses an input method to measure progress toward the satisfaction of the performance obligation, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred, and updates the measure of progress in each reporting period.</span></p><div style="display:flex;margin-top:12pt;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.537%;display:inline-flex;justify-content:flex-start;">(6)</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;">Manufacturing commercial supplies of products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> This promised service is distinct as services are not interrelated with any of the other performance obligations. Payments received for commercial supplies of products represent sales-based payments related predominately to the license of intellectual property under both Astellas agreements. Revenue is recognized as supplies are shipped for commercial use during the commercialization period. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></div></div><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 Astellas Japan Amendment, the drug product revenue represents variable consideration and is estimated based on the quantity of product shipped, actual listed price for roxadustat issued by the Japanese Ministry of Health, Labour and Welfare and possible future changes to the listed price, adjusted for the timing of and estimated bulk product strength mix intended to be manufactured by Astellas, estimated cost to convert the API to bulk drug product tablets, and estimated yield from the manufacture of bulk product tablets, among others.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 Astellas Europe Agreement, the drug product revenue amount represents variable consideration and is estimated based on the quantity of product transferred and an estimated price. The estimated price is based on the contractual transfer price percentage applied on the estimated weighted average net sales price per strength, which is estimated to be realized by Astellas from the end sale of roxadustat in its approved territories.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">License Revenue and Development Revenue Recognized Under the Astellas 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;">License amounts identified below are included in the &#8220;License revenue&#8221; line item in the consolidated statements of operations. All other elements identified below are included in the &#8220;Development and other revenue&#8221; line item in the consolidated statements of operations.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amounts recognized as license revenue and development revenue under the Astellas Japan Agreement were as follows 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 (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: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:100.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:24.725%;"></td>
          <td style="width:1.98%;"></td>
          <td style="width:22.404%;"></td>
          <td style="width:1.98%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.983%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.98%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.983%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.98%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.983%;"></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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">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;">Agreement</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;"><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;">Performance Obligation</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: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;">Astellas Japan Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Development 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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="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:10pt;font-family:Times New Roman;min-width:fit-content;">The transaction price related to consideration received through </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 accounts receivable has been allocated to each of the following performance obligations under the Astellas Japan Agreement, along with any associated deferred revenue as follows (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: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:64.48%;"></td>
          <td style="width:2.72%;"></td>
          <td style="width:1%;"></td>
          <td style="width:30.799999999999997%;"></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;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;">Astellas Japan Agreement</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;">Total Consideration<br/>&#160;Through <br/>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: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;">License</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;">100,347</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Development 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;">17,092</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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 license and development 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">117,439</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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: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;">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;"> license rev</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">enue or development revenue resulting from changes to estimated variable consideration in the current period relating to performance obligations satisfied or partially satisfied in previous periods for the year ended December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> under the Astellas Japan Agreement. The Company does </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;">t expect material variable consideration from estimated future co-development billing beyond the development period in the transaction price related to the Astellas Japan Agreement.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amounts recognized as license revenue and development revenue under the Astellas Europe Agreement were as follows 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 (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: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:100.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:23.405%;"></td>
          <td style="width:1.78%;"></td>
          <td style="width:20.264%;"></td>
          <td style="width:1.78%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.403%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.78%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.403%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.78%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.403%;"></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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">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;">Agreement</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;"><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;">Performance Obligation</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: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;">Astellas Europe Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;">License 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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,590</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">108,434</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="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="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;">Development 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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,452</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,624</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,679</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="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:10pt;font-family:Times New Roman;min-width:fit-content;">The transaction price related to consideration received through </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 accounts receivable has been allocated to each of the following performance obligations under the Astellas Europe Agreement, along with any associated deferred revenue as follows (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: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:64.48%;"></td>
          <td style="width:2.72%;"></td>
          <td style="width:1%;"></td>
          <td style="width:30.799999999999997%;"></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;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;">Astellas Europe Agreement</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;">Total Consideration<br/>&#160;Through <br/>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: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;">License</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">618,975</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Development 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;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">286,717</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 license and development 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">905,692</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="text-indent:-2.557%;padding-left:2.507%;font-size:10pt;margin-top:2pt;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;">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;"> license revenue or development revenue resulting from changes to estimated variable consideration in the current period relating to performance obligations satisfied or partially satisfied in previous periods 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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> under the Astellas Europe Agreement. The Company does </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;">t expect material variable consideration from estimated future co-development billing beyond the development period in the transaction price related to the Astellas Europe Agreement.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">AstraZeneca Agreements</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;">AstraZeneca U.S./Rest of World (&#8220;RoW&#8221;) 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;">Effective July 30, 2013, the Company entered into a collaboration agreement with AstraZeneca for the development and commercialization of roxadustat for the treatment of anemia in the U.S. and all other countries in the world, other than China, not previously licensed under the Astellas Europe and Astellas Japan Agreements (&#8220;AstraZeneca U.S./RoW Agreement&#8221;). The AstraZeneca U.S./RoW Agreement was terminated on February 23, 2024 (except South Korea). China is covered by a separate agreement with AstraZeneca described below. Under the terms of the AstraZeneca U.S./RoW Agreement, AstraZeneca paid upfront, non-contingent, non-refundable and time-based payments totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">374.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (such amounts were fully received as of June 2016). Under the AstraZeneca U.S./RoW Agreement, AstraZeneca also agreed to pay an aggregate of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">875.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in potential milestone payments, comprised of (i) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">65.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified clinical and development milestone events, (ii) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">325.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified regulatory milestone events, (iii) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">160.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments related to activity by potential competitors and (iv) up to approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">325.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon the achievement of specified commercial sales events.</span><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 AstraZeneca U.S./RoW Agreement, the Company and AstraZeneca equally share in the development costs of roxadustat not already paid for by Astellas, up to a total of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">233.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (i.e. the Company&#8217;s share of development costs is $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">116.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which was reached in 2015). Development costs incurred by FibroGen during the development period in excess of the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">233.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (aggregated spend) are fully reimbursed by AstraZeneca.</span><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 aggregate amount of the considerations received under the AstraZeneca U.S./RoW Agreement through December 31, 2023 totals </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;">439.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, excluding drug product revenue that is discussed under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section 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;">In 2020, the Company entered into a Master Supply Agreement with AstraZeneca under the AstraZeneca U.S./RoW Agreement (&#8220;AstraZeneca Master Supply Agreement&#8221;) to define general forecast, order, supply and payment terms for AstraZeneca to purchase roxadustat bulk drug product from FibroGen in support of commercial supplies. The related drug product revenue is described under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">AstraZeneca China 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;">Effective July 30, 2013, the Company (through its subsidiaries affiliated with China) entered into a collaboration agreement with AstraZeneca for the development and commercialization (but not manufacture) of roxadustat for the treatment of anemia in China (&#8220;AstraZeneca China Agreement&#8221;). Under the terms of the AstraZeneca China Agreement, AstraZeneca agreed to pay upfront consideration totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">28.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million (such amounts were fully received in 2014). Under the AstraZeneca China Agreement, the Company is also eligible to receive from AstraZeneca an aggregate of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">348.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in potential milestone payments, comprised of (i) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">15.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified clinical and development milestone events, (ii) up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">146.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon achievement of specified regulatory milestone events, and (iii) up to approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">187.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in milestone payments upon the achievement of specified commercial sales and other events. The AstraZeneca China Agreement is structured as a 50/50 profit or loss share (as defined), which was amended under the AstraZeneca China Amendment in 2020 as discussed below, and provides for joint development costs (including capital and equipment costs for construction of the manufacturing plant in China), to be shared equally during the development 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;">The aggregate amount of the considerations received for milestone and upfront payments under the AstraZeneca China Agreement through December 31, 2023 totals </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;">77.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="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;">On September 18, 2023, the Company received the formal notice, from Beijing Medical Products Administration, of renewal of its right to continue to market roxadustat in China through 2028. The Company evaluated the regulatory milestone payment associated with this renewal under the AstraZeneca China Agreement and concluded that this milestone was achieved in the third quarter of 2023. Accordingly, the consideration of $</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 associated with this milestone was included in the transaction price and allocated to performance obligations under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, $</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 which was recognized as revenue during the year ended December 31, 2023 from performance obligations satisfied or partially satisfied. A</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">s of December 31, 2023, t</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">he $</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 milestone was recorded as a contract asset and was fully </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">netted against the contract liabilities (deferred revenue) related to the AstraZeneca U.S./RoW Agreement and AstraZeneca China Agreement.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">AstraZeneca China Amendment</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 July 2020, FibroGen China Anemia Holdings, Ltd., FibroGen Beijing, and FibroGen International (Hong Kong) Limited and AstraZeneca entered into an amendment, relating to the development and commercialization of roxadustat in China (the &#8220;AstraZeneca China Amendment&#8221;). Under the AstraZeneca China Amendment, in 2020, FibroGen Beijing and AstraZeneca completed the establishment of a jointly owned entity, Falikang, which performs roxadustat distribution, as well as conducts sales and marketing through AstraZeneca.</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 AstraZeneca China Amendment, with effect from April 1, 2020, AstraZeneca&#8217;s co-promotion expenses for their sales and marketing efforts are subject to a cap of a percentage of net sales. In addition, the AstraZeneca China Amendment has allowed for a higher cost of manufacturing incurred by FibroGen Beijing to be included in the profit or loss share calculation, subject to an annual cap, among other changes.</span><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 co-promotion expenses 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;">, capped at a percentage of net roxadustat sales in China, were $</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, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.4</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;">4.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, included in the selling, general and administrative expenses.</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 AstraZeneca China Amendment, profit/loss share between FibroGen Beijing and AstraZeneca is based on a calculation of the current period net roxadustat sales in China and deductible expenses pursuant to the AstraZeneca China Agreement. Based on the calculation revised under the AstraZeneca China Amendment, profit was achieved during 2020. As a result, the Company recorded a corresponding one-time profit share liability to AstraZeneca, the balance of which 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;">7.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 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;">7.3</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;"> as of December 31, 2023 and 2022, respectively, in accrued and other current liabilities in the consolidated balance sheet.</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;">Substantially all direct roxadustat product sales to distributors in China are made by Falikang, while FibroGen Beijing continues to sell roxadustat product directly in one province in China. FibroGen Beijing manufactures and supplies commercial product to Falikang based on a gross transaction price, adjusted for the estimated profit share. In addition, AstraZeneca bills the co-promotion expenses to Falikang and to FibroGen Beijing, respectively, for its services provided to the respective entity. AstraZeneca is entitled to reimbursement of its sales and marketing expenses up to a cumulative capped amount of a percentage of net sales. Once such amount is reached, AstraZeneca will bill the co-promotion expenses based on actual costs as incurred plus a markup on a prospective basis, which is currently expected to continue through 2033. Development costs continue to be shared 50/50 between the Parties.</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 related net product revenue recognized from the sales to Falikang and the sales directly to distributors are discussed under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></p><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accounting for the AstraZeneca Agreements</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 evaluated whether the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement should be accounted for as a single or separate arrangements and concluded that the agreements should be accounted for as a single arrangement with the presumption that two or more agreements executed with a single customer at or around the same time should be presumed to be a single arrangement. The key points the Company considered in reaching this conclusion 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><div style="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.537%;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;">While the two agreements were largely negotiated separately, those negotiations proceeded concurrently, and were intended to be completed contemporaneously, presuming AstraZeneca</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;">decided to proceed with licenses in all regions available. </span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Throughout negotiations for both agreements, the Company and the counterparties understood and considered the possibility that one arrangement may be executed without the execution of the other arrangement. However, the preference for the Company and the counterparties during the negotiations was to execute both arrangements concurrently. </span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;min-width:fit-content;">The two agreements were executed as separate agreements because different development, regulatory and commercial approaches required certain terms of the agreements to be structured differently, rather than because the Company or the counterparties considered the agreements to be fundamentally separate negotiations.</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;">Accordingly, as the agreements are being accounted for as a single arrangement, upfront and other non-contingent consideration received and to be received has been and will be pooled together and allocated to each of the performance obligations in both the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement based on their relative SSPs.</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 each of the AstraZeneca agreements, the Company has evaluated the promised services within the respective arrangements and has identified performance obligations representing those services and bundled services that are distinct.</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;">Promised services that were not distinct have been combined with other promised services to form a distinct bundle of promised services, with revenue being recognized on the bundle of services rather than the individual promised services. There are no right-of-return provisions for the delivered items in the AstraZeneca agreements.</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</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the transaction price for the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, excluding manufacturing services that is discussed separately below, included $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">402.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of non-contingent upfront payments, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">118.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of variable consideration related to payments for milestones considered probable of being achieved, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">614.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of variable consideration related to co-development billings, offset by </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;">7.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of variable consideration related to the above-mentioned one-time profit share under the AstraZeneca China Amendment.</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 AstraZeneca agreements, the Company allocated the transaction price to the various performance obligations based on the relative SSP of each performance obligation, with the exception of co-development billings and commercial sale of product. Co-development billings under the AstraZeneca U.S./RoW Agreement were allocated entirely to the U.S./RoW co-development services performance obligation, and co-development billings under the AstraZeneca China Agreement were allocated entirely to the combined performance obligation under the AstraZeneca China Agreement. Commercial sale of product under the AstraZeneca U.S./ROW Agreement is entirely allocated to the manufacturing commercial supply of products performance obligation, and commercial sale of product under the AstraZeneca China Agreement is allocated entirely to the combined China performance obligation.</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 revenue recognition purposes, the Company determined that the terms of its collaboration agreements with AstraZeneca begin on the effective date and end upon the completion of all performance obligations contained in the agreements. The contract term is defined as the period in which parties to the contract have present and enforceable rights and obligations. The Company believes that the requirement to continue funding development for a substantive period of time and the loss of product rights, along with non-refundable upfront payments already remitted by AstraZeneca, represent substantive termination penalties that create significant disincentive for AstraZeneca to exercise its right to terminate the agreement.</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 technology license under the AstraZeneca U.S./RoW Agreement, SSP was determined based on a two-step process. The first step involved determining an implied royalty rate that would result in the net present value of future cash flows to equal to zero (i.e. where the implied royalty rate on the transaction would equal the target return for the investment). This results in an upper bound estimation of the magnitude of royalties that a hypothetical acquirer would reasonably pay for the forecasted cash flow stream. The Company&#8217;s cash flow forecasts were derived from probability-adjusted revenue and expense projections. Such projections included consideration of taxes and cash flow adjustments. The probability adjustments were made after considering the likelihood of technical success at various stages of clinical trials and regulatory approval phases. The second step involved applying the implied royalty rate, which was determined to be </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">40</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, against the probability-adjusted projected net revenues by territory and determining the value of the license as the net present value of future cash flows after adjusting for taxes. The discount rate utilized was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">17.5</span><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: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;font-style:italic;min-width:fit-content;">AstraZeneca U.S./RoW 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;">The promised services that were analyzed, along with their general timing of satisfaction and recognition as revenue, are as follows:</span></p><div style="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.537%;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;">License to the Company&#8217;s technology existing at the effective date of the agreements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> For the AstraZeneca U.S./RoW Agreement, the license was delivered at the beginning of the agreement term. The Company concluded that AstraZeneca has the knowledge and capabilities to fully exploit the license under the AstraZeneca U.S./RoW Agreement without the Company&#8217;s further involvement. Finally, the Company considered the fact that at the time of delivery of the license, the development services were beyond the preclinical development phase and any remaining development work would not be expected to result in any significant modification or customization to the licensed technology. As such, the development services are separately identifiable from the licensed technology, indicating that the license is a distinct performance obligation. Therefore, the Company has concluded that the license is distinct and represents a performance obligation. The portion of the transaction price allocated to this performance obligation based on a relative SSP basis is recognized as revenue in its entirety at the point in time the license transfers to AstraZeneca.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Co-development services. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This promise relates to co-development services that were reasonably expected to be performed by the Company at the time the collaboration agreement was signed and is distinct. Co-development billings are allocated entirely to the co-development services performance obligation as amounts are related specifically to research and development efforts necessary to satisfy the performance obligation, and such an allocation is consistent with the allocation objective. Through the end of 2021, revenue was recognized over time based on progress toward complete satisfaction of the performance obligation. The Company used an input method to measure progress toward the satisfaction of the performance obligation related to CKD approval, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred. Subsequently, the Company accounts for the development services for other significant indications related to chemotherapy-induced anemia and myelodysplastic syndromes separately as services are provided.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Manufacturing of clinical supplies of products.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> This promise is satisfied as supplies for clinical product are delivered for use in the Company&#8217;s clinical trial programs during the development period, or pre-commercialization period.</span></div></div><div style="display:flex;margin-top:12pt;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.537%;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;">Information sharing and committee service.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> These promises are satisfied throughout the course of the agreement as services are provided.</span></div></div><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Items (2)-(4) are bundled into a single performance obligation that is distinct given the fact that all are highly interrelated during the development period (pre-commercial phase of development) such that delivering them independently is not practicable. For the revenue recognized over time based on progress toward complete satisfaction of the performance obligation, the Company uses an input method to measure progress toward the satisfaction of the performance obligation, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred, and updates the measure of progress in each reporting period.</span></p><div style="display:flex;margin-top:12pt;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.537%;display:inline-flex;justify-content:flex-start;">(5)</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;">Manufacturing commercial supplies of products. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This promise is distinct as services are not interrelated with any of the other performance obligations. Revenue is recognized as supplies are shipped for commercial use during the commercialization period. The drug product revenue amount represents variable consideration and is estimated based on the quantity of product shipped and an estimated price for each individual purchase order. The estimated price is based on the contractual transfer price percentage applied on the estimated weighted average net sales price, which is estimated to be realized by AstraZeneca from the end sale of roxadustat in its approved territories. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Drug Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></div></div><p style="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;font-style:italic;min-width:fit-content;">AstraZeneca China 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;">The promised services that were analyzed are consistent with the AstraZeneca U.S./RoW Agreement, except for license to the Company&#8217;s technology existing at the effective date of the agreement, described as follows:</span></p><div style="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.537%;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;">License to the Company&#8217;s technology existing at the effective date of the agreement.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The license was delivered at the beginning of the agreement term. However, the AstraZeneca China Agreement has contractual limitations that might affect AstraZeneca&#8217;s ability to fully exploit the license and therefore, potentially, the conclusion as to whether the license is distinct in the context of the agreement. In the AstraZeneca China Agreement, AstraZeneca does not have the right to manufacture commercial supplies of the drug. In order to determine whether this characteristic of the arrangement should lead to a conclusion that the license was not distinct in the context of the agreement, the Company considered the ability of AstraZeneca to benefit from the license on its own or together with other resources readily available to AstraZeneca.</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;">For the AstraZeneca China Agreement, the Company retained manufacturing rights as an essential part of a strategy to pursue domestic regulatory pathway for product approval, which requires the regulatory licensure of the manufacturing facility in order to commence commercial shipment. The prospects for the collaboration as a whole would have been substantially different had manufacturing rights been provided to AstraZeneca. The Company holds the rights to manufacture commercial drug product in China. Therefore, AstraZeneca cannot benefit from the license on its own or together with other readily available resources. Accordingly, all the promises identified, including the license, co-development services and manufacturing of commercial supplies, under the AstraZeneca China Agreement have been bundled into a single performance obligation and amounts of the transaction price allocable to this performance obligation are deferred until control of the manufactured commercial drug product has begun to transfer to AstraZeneca.</span><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 accordance with the AstraZeneca China Amendment, substantially all product sales will be made by Falikang directly to the distributors in China, while the Company continues to sell directly in one province in China. Revenue is recognized at a point in time when control of roxadustat commercial product is transferred to Falikang. For the Company&#8217;s direct sales of commercial drug product, revenue is recognized when control of the promised good is transferred to the customer in an amount that reflects the consideration that the Company expects to be entitled to in exchange for the product. See the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</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_fgen_ProductRevenuePolicyPolicyTextBlock', window );">Product Revenue, Net</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Product Revenue, Net</span></p><div style="font-size:10pt;font-family:Times New Roman;"><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;">Product revenue, net from the sales of roxadustat commercial product in China was as follows 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 (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: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:44.309%;"></td>
          <td style="width:1.82%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.743%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.82%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.743%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.82%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.743%;"></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;">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: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;">Direct Sales:</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 colspan="2" style="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="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="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="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="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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;">Gross revenue</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>
          <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="color:#000000;min-width:fit-content;">$</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;">13,190</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="color:#000000;min-width:fit-content;">$</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;">12,366</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
         </tr>
         <tr style="height:10pt;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Discounts and rebates</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="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;">665</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">1,740</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Sales returns</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:bottom;"><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;">Direct sales revenue, net</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,894</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,702</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,070</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;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: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="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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;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;">Sales to Falikang:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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: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;">Gross transaction price</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">154,817</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">112,544</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">97,531</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Profit share</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,254</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">43,716</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">34,759</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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;">Net transaction price</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,563</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,828</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">62,772</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Decrease (increase) in deferred revenue</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">492</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,339</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">27,204</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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:bottom;"><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;">Sales to Falikang revenue, net</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">89,055</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,167</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,568</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:30pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:30pt;text-indent:0;font-size:10pt;margin-top: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, net</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>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,949</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,869</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,638</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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: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;font-style:italic;min-width:fit-content;">Direct Sales</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;">Product revenue from direct roxadustat product sales to distributors in China is recognized in an amount that reflects the consideration that the Company expects to be entitled to in exchange for those products, net of sales rebates and discounts.</span><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 discounts and rebates consisted of the price adjustments recorded based on government-listed price guidance and estimated channel inventory levels, the contractual sales rebate calculated based on the stated percentage of gross sales by each distributor in the distribution agreement entered between FibroGen and each distributor, and other rebates and discounts, as well as sales return allowance. The total discounts and rebates were immaterial 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:12pt;font-family:Times New Roman;margin-bottom: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 Company&#8217;s legal right to offset, at each balance sheet date, the rebates and discounts are presented as reductions to gross accounts receivable from the distributor, or as a current liability to the distributor to the extent that the total amount exceeds the gross accounts receivable or when the Company expects to settle the discount in cash. The Company&#8217;s legal right to offset is determined at the individual distributor level. The contract liabilities were included in accrued and other current liabilities in the consolidated balance sheet and were immaterial as of December 31, 2023 and 2022. The rebates and discounts were reflected as reductions to gross accounts receivable for direct sales and were immaterial as of December 31, 2023 and 2022.</span></p><p style="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;font-style:italic;min-width:fit-content;">Sales to Falikang &#8211; China Performance Obligation</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;">Substantially all direct roxadustat product sales to distributors in China are made by Falikang. FibroGen Beijing manufactures and supplies commercial product to Falikang. The net transaction price for FibroGen Beijing&#8217;s product sales to Falikang is based on a gross transaction price, adjusted for the estimated profit share.</span><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 roxadustat sales to Falikang marked the beginning of the Company&#8217;s China performance obligation under the Company&#8217;s agreements with AstraZeneca</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><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Product revenue is based on the transaction price of the China performance obligation. Revenue is recognized when control of the product is transferred to Falikang, in an amount that reflects the allocation of the transaction price to the performance obligation satisfied during the reporting period. Any net transaction price in excess of the revenue recognized is added to the deferred balance to date, and will be recognized in future periods as the performance obligation is satisfied.</span><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;">Periodically, the Company updates its assumptions such as total sales quantity, performance period, gross transaction price,  profit share and other inputs including foreign currency translation impact, among others. Following updates to its estimates, the Company recognized </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;">0.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;"> from the previously deferred revenue of the China performance obligation during the year ended December 31, 2023. The product revenue recognized for the year ended December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> included a decrease in revenue of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million resulting from changes to estimated variable consideration in the current period relating to performance obligation satisfied in previous periods. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Comparatively, following updates to its estimates, the Company recognized </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;">2.3</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;"> from the previously deferred revenue of the China performance obligation during the year ended December 31, 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:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 includes a roll-forward of the related deferred revenue that is considered as a contract liability (in thousands):</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:35.734%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:9.945%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.12%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.425%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.441%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.704%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.12%;"></td>
          <td style="width:1%;"></td>
          <td style="width:9.965%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.12%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.425%;"></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;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 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;">Balance at<br/>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>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Additions</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Recognized as Revenue</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Currency<br/>Translation<br/>and Other</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Balance at<br/>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: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;">Product revenue - AstraZeneca China <br/>&#160;&#160;&#160;performance obligation - deferred revenue</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">175,646</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">94,099</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">89,055</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">179,851</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 revenue includes amounts allocated to the China performance obligation under the AstraZeneca arrangement as revenue recognition associated with this unit of accounting is tied to the commercial launch of the products within China and to when the control of the manufactured commercial products is transferred to AstraZeneca. 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;">, approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">32.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 above deferred revenue related to the China unit of accounting was included in short-term deferred revenue, which represents the amount of deferred revenue associated with the China unit of accounting that is expected to be recognized within the next 12 months, associated with the commercial sales in China.</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 Company&#8217;s legal right to offset, at each balance sheet date, the rebates and discounts, mainly related to profit sharing, are presented as reductions to gross accounts receivable from Falikang, which was $</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 and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million 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.</span></p><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_fgen_DrugProductRevenuePolicyTextBlock', window );">Drug Product Revenue, Net</a></td>
<td class="text"><p style="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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Drug Product Revenue, Net</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="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Drug product revenue from commercial-grade </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">API or bulk drug product sales to Astellas and AstraZeneca was as follows for the years ended December 31, 2023, 2022 and 2021 (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="font-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:38.5%;"></td>
          <td style="width:1.96%;"></td>
          <td style="width:1%;"></td>
          <td style="width:17.74%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.96%;"></td>
          <td style="width:1%;"></td>
          <td style="width:15.940000000000001%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.96%;"></td>
          <td style="width:1%;"></td>
          <td style="width:15.940000000000001%;"></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;">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;">
          <td style="white-space:pre-wrap;vertical-align: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;">Astellas Japan Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,656</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,480</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">2,056</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Astellas Europe Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,097</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;">1,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>
         </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;">AstraZeneca U.S./RoW Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">&#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;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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,224</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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:15pt;white-space:pre-wrap;vertical-align:bottom;"><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;">Drug product revenue, net</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,753</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">962</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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: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;font-style:italic;min-width:fit-content;">Astellas Japan 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;">During the year ended December 31, 2021, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Astellas Japan Amendment, and accordingly recorded adjustments to the drug product revenue of $</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. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect the changes in the estimated bulk product strength mix intended to be manufactured by </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Astellas, estimated cost to convert the API to bulk product tablets, and estimated yield from the manufacture of bulk product tablets, among others.</span><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;">During the first quarter of 2022, the Company fulfilled a shipment obligation under the terms of Astellas Japan Amendment, and recognized related drug product revenue 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 in the same period. During the fourth quarter of 2022, the Company fulfilled a shipment obligation under the terms of Astellas Japan Amendment, and recognized related drug product revenue of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.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 same period. In addition, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Japan Amendment with Astellas, and recorded a reduction to the drug product revenue of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million during the year ended December 31, 2022. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect foreign currency translation impact, the changes in the estimated bulk product strength mix intended to be manufactured by Astellas, estimated cost to convert the API to bulk product tablets, and estimated yield from the manufacture of bulk product tablets, among others.</span><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;">During the second quarter of</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> 2023, the Company fulfilled two shipment obligations under the terms of Astellas Japan Amendment, and recognized related drug product revenue of $</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 in the same period. In addition, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Astellas Japan Amendment and accordingly recorded an adjustment to the drug product revenue of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the year ended December 31, 2023. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect the changes in the estimated bulk product strength mix intended to be manufactured by Astellas, foreign exchange impacts and estimated yield from the manufacture of bulk product tablets, among others. </span><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 balances related to the API price true-up under the Astellas Japan Agreement were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in accrued liabilities and $</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 in other long-term liabilities, representing the Company&#8217;s best estimate of the timing for these amounts to be paid. As of December 31, 2022, the related balance in accrued liabilities was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.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;">.</span></p><p style="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;font-style:italic;min-width:fit-content;">Astellas Europe 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;">During the first quarter of 2021, the Company transferred bulk drug product from process validation supplies for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement. The Company recorded the consideration of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from this inventory transfer as deferred revenue as of December 31, 2021, due to a high degree of uncertainty associated with the final consideration. During the fourth quarter of 2021, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing costs of $</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 as drug product revenue, and recorded $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as deferred revenue as of December 31, 2021, due to a high degree of uncertainty associated with the final consideration. In addition, during the fourth quarter of 2021, the Company updated its estimate of variable consideration related to the bulk drug product inventory transfers fulfilled under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recorded an unbilled contract asset of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">49.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, which was offset by related deferred revenue under the Astellas Europe Agreement and Astellas EU Supply Agreement. Specifically, the change in estimated variable consideration was based on the bulk drug product held by Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, among others.</span><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;">During the second quarter of 2022, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing costs of $</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 as drug product revenue, and recorded $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">23.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as deferred revenue due to a high degree of uncertainty associated with the variable consideration for revenue recognition purposes. During the first quarter of 2022, the Company billed and received $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">49.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from Astellas related to the annual transfer price true up for bulk drug product transferred for commercial purposes. This amount was recorded in deferred revenue and netted against an unbilled contract asset as of December 31, 2021. In addition, the Company updated its estimate of variable consideration related to the bulk drug product transferred in prior years. Specifically, the change in estimated variable consideration was based on the bulk drug product held by </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, forecast information, shelf-life estimates and other items. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As a result, during the year ended December 31, 2022, the Company reclassified a total of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">57.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from the related deferred revenue to accrued liabilities</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, which was paid to Astellas 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-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the fourth quarter of 2023, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing costs of $</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 as drug product revenue, and recorded $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">17.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as deferred revenue due to a high degree of uncertainty associated with the variable consideration for revenue recognition purposes. In addition, the Company updated its estimate of variable consideration related to the bulk drug product transferred in prior years. Specifically, the change in estimated variable consideration was based on the bulk drug product held by Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, forecast information, shelf-life estimates and other items. As a result, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for the year ended December 31, 2023, the Company reclassified $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">38.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from the related deferred revenue to accrued liabilities. </span><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 related balance in accrued liabilities was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">38.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, representing the Company&#8217;s best estimate that this amount will be paid within the next 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:12pt;font-family:Times New Roman;margin-bottom: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 Company recognized royalty revenue of $</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 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 as drug product revenue from the deferred revenue under the Astellas Europe Agreement 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 and 2022, respectively. The remainder of the deferred revenue will be recognized as and when uncertainty is resolved, based on the performance of roxadustat product sales in the Astellas territory.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 includes a roll-forward of the above-mentioned deferred revenues that are considered as contract liabilities related to drug product (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:10pt;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.5%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></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;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 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;">Balance at<br/>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>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Additions</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Recognized as Revenue</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Reclassified to Accrued Liability / Accounts Payable</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Balance at<br/>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:10pt;background-color:#cff0fc;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;min-width:fit-content;">Drug product revenue - deferred revenue:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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 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>
         <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;">Astellas Europe Agreement</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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="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;">17,674</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">2,306</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,746</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">16,925</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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: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: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;font-style:italic;min-width:fit-content;">AstraZeneca U.S./RoW 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;">During the years ended December 31, 2021 and 2020, the Company shipped bulk drug product to AstraZeneca as commercial supply under the terms of the Master Supply Agreement. Based on the complete response letter issued by the U.S. Food and Drug Administration in August 2021, the Company evaluated the impact of these developments in revising its estimates of variable consideration associated with drug product revenue. As a result, the Company updated the estimated transaction price for these shipments, and recorded $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as deferred revenue as of December 31, 2021. The related drug product revenue was $(</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 for the year ended December 31, 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;">During the first quarter of 2022, the Company evaluated the current developments in the U.S. market, and updated its estimates of variable consideration associated with bulk drug product shipments to AstraZeneca in prior years as commercial supply. As a result, during the year ended December 31, 2022, the Company reclassified $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from the related deferred revenue to accrued liabilities, which remained unchanged 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;">, representing its best estimate that this amount will be paid within the next 12 months.</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 Measurements</a></td>
<td class="text"><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><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 accordance with the authoritative guidance on fair value measurements and disclosures under U.S. GAAP, the Company presents all financial assets and liabilities and any other assets and liabilities that are recognized or disclosed at fair value on a nonrecurring basis. The guidance defines fair value, establishes a framework for measuring fair value in generally accepted accounting principles and expands disclosures about fair-value measurements. The guidance also requires fair value measurements be classified and disclosed in one of the following three categories:</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Level 1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">: Quoted prices in active markets for identical assets or liabilities.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Level 2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">: Observable inputs other than quoted prices in active markets for identical assets or liabilities.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times 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;">Level 3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">: Unobservable inputs.</span></p><p id="t0" style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 values certain assets and liabilities, focusing on the inputs used to measure fair value, particularly in instances where the measurement uses significant unobservable (Level 3) inputs. The Company&#8217;s financial instruments are valued using quoted prices in active markets (Level 1) or based upon other observable inputs (Level 2). The Company&#8217;s assessment of the significance of a particular input to the fair value measurement in its entirety requires management to make judgments and considers factors specific to the asset or liability. In addition, the categories presented do not suggest how prices may be affected by the size of the purchases or sales, particularly with the largest highly liquid financial issuers who are in markets continuously with non-equity instruments, or how any such financial assets may be impacted by other factors such as U.S. government guarantees. Assets and liabilities measured at fair value are classified in their entirety based on the lowest level of input that is significant to the fair value measurement. The availability of observable data is monitored to assess appropriate classification of financial instruments within the fair value hierarchy. Depending upon the availability of such inputs, specific securities may </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">transfer between levels. In such instances, the transfer is reported at the end of the reporting period.</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_fgen_AssetAcquisitionPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Asset acquisition policy.</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;">fgen_AssetAcquisitionPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and cash equivalents and restricted time deposits policy.</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;">fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_ClinicalTrialAccrualPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Clinical trial accrual.</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;">fgen_ClinicalTrialAccrualPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Collaborative arrangement and revenues.</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;">fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_DrugProductRevenuePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Drug product revenue.</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;">fgen_DrugProductRevenuePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Liability related to sale of future revenues.</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;">fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>License acquisition agreement policy.</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;">fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_OtherRisksAndUncertaintiesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Other Risks and Uncertainties.</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;">fgen_OtherRisksAndUncertaintiesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_ProductRevenuePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Product revenue policy.</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;">fgen_ProductRevenuePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Recently issued accounting guidance not yet adopted.</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;">fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_RestructuringChargePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Restructuring charge.</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;">fgen_RestructuringChargePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</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_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 comprehensive 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;">us-gaap_ComprehensiveIncomePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ConsolidationVariableInterestEntityPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 consolidation to describe the significant judgments and assumptions made in determining whether a variable interest held by the entity requires the variable interest entity to be consolidated and (or) disclose information about its involvement with the variable interest entity; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; and the significant factors considered and judgments made in determining that the power to direct the activities that significantly impact the economic performance of the variable interest entity are shared (as defined).</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 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-5A<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2AA<br> -Subparagraph a<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-2AA<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationVariableInterestEntityPolicy</td>
</tr>
<tr>
<td style="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_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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes 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 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482338/360-10-05-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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_InvestmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in financial 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 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(b))<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 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 3: 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(f)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-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(f)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: 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(f)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 12<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 19<br> -Subparagraph (2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-19<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentPolicyTextBlock</td>
</tr>
<tr>
<td style="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_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 leasing arrangement entered into by lessee.</p></div>
<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 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-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_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs it has 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.</p></div>
<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 05<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483044/730-10-05-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_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="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_SellingGeneralAndAdministrativeExpensesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 inclusion of significant items in the selling, general and administrative (or similar) expense report caption.</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> -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_SellingGeneralAndAdministrativeExpensesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481569/310-20-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-11B<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 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-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_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="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>40
<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="idm140628934241856">
<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" 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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock', window );">Schedule of Significant Balance of Accounts Receivable</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 Company has not experienced any loss on its deposits of cash and cash equivalents. Included in current assets are significant balances of accounts receivable as follows:</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: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:80.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:64.64%;"></td>
          <td style="width:1.28%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.4%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.28%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.4%;"></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: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;">Falikang &#8212; Related party</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">65</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">AstraZeneca</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">16</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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_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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<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="idm140628932698432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues (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_DisaggregationOfRevenueTableTextBlock', window );">Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations along with Associated Deferred Revenue and Product Revenue Net</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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Product revenue, net from the sales of roxadustat commercial product in China was as follows 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 (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: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:44.309%;"></td>
          <td style="width:1.82%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.743%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.82%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.743%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.82%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.743%;"></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;">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: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;">Direct Sales:</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 colspan="2" style="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="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="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="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="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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;">Gross revenue</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>
          <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="color:#000000;min-width:fit-content;">$</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;">13,190</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="color:#000000;min-width:fit-content;">$</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;">12,366</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
         </tr>
         <tr style="height:10pt;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Discounts and rebates</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="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;">665</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">1,740</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Sales returns</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:bottom;"><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;">Direct sales revenue, net</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,894</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,702</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,070</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;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: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="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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;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;">Sales to Falikang:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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: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;">Gross transaction price</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">154,817</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">112,544</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">97,531</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Profit share</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,254</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">43,716</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">34,759</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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;">Net transaction price</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>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,563</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,828</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">62,772</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Decrease (increase) in deferred revenue</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">492</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,339</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">27,204</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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:bottom;"><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;">Sales to Falikang revenue, net</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">89,055</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,167</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,568</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:30pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:30pt;text-indent:0;font-size:10pt;margin-top: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, net</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>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,949</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,869</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,638</span></p></td>
          <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_fgen_ScheduleOfDrugProductRevenueTableTextBlock', window );">Schedule of Drug Product Revenue</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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Drug product revenue from commercial-grade </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">API or bulk drug product sales to Astellas and AstraZeneca was as follows for the years ended December 31, 2023, 2022 and 2021 (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="font-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:38.5%;"></td>
          <td style="width:1.96%;"></td>
          <td style="width:1%;"></td>
          <td style="width:17.74%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.96%;"></td>
          <td style="width:1%;"></td>
          <td style="width:15.940000000000001%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.96%;"></td>
          <td style="width:1%;"></td>
          <td style="width:15.940000000000001%;"></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;">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;">
          <td style="white-space:pre-wrap;vertical-align: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;">Astellas Japan Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,656</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,480</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">2,056</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Astellas Europe Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,097</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;">1,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>
         </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;">AstraZeneca U.S./RoW Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">&#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;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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,224</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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:15pt;white-space:pre-wrap;vertical-align:bottom;"><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;">Drug product revenue, net</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,753</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">962</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_DeferredRevenueByArrangementDisclosureTextBlock', window );">Summary of Amounts Recognized as Revenue</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amounts recognized as revenue under the agreements with Eluminex were as follows 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 (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: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:12.665%;"></td>
        <td style="width:1.701%;"></td>
        <td style="width:33.593%;"></td>
        <td style="width:1.701%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.645000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.701%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.645000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.701%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.645000000000001%;"></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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">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;">Agreement</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;"><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;">Performance Obligation</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: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;">Eluminex</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;">License 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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <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,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>
       </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="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="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;">Other revenue - patent transfer</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">500</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">&#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="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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;">Other revenue - contract manufacturing</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">966</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,761</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">&#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>
      </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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Roll-forward of Related Contract Liabilities</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 includes a roll-forward of the related deferred revenue that is considered as a contract liability (in thousands):</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:35.734%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1%;"></td>
          <td style="width:9.945%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.12%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.425%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.441%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.704%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.12%;"></td>
          <td style="width:1%;"></td>
          <td style="width:9.965%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.12%;"></td>
          <td style="width:1%;"></td>
          <td style="width:10.425%;"></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;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 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;">Balance at<br/>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>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Additions</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Recognized as Revenue</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Currency<br/>Translation<br/>and Other</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Balance at<br/>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: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;">Product revenue - AstraZeneca China <br/>&#160;&#160;&#160;performance obligation - deferred revenue</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">175,646</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">94,099</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">89,055</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">179,851</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [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_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Roll-forward of Related Contract Liabilities</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 includes a roll-forward of the above-mentioned deferred revenues that are considered as contract liabilities related to drug product (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:10pt;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.5%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.56%;"></td>
          <td style="width:1%;"></td>
          <td style="width:7.9399999999999995%;"></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;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 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;">Balance at<br/>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>
          <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Additions</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Recognized as Revenue</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Reclassified to Accrued Liability / Accounts Payable</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Balance at<br/>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:10pt;background-color:#cff0fc;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;min-width:fit-content;">Drug product revenue - deferred revenue:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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 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>
         <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;">Astellas Europe Agreement</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>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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="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;">17,674</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">2,306</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,746</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">16,925</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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: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="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_JP', window );">Japan [Member]</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_fgen_ContractWithCustomerMilestoneMethodTableTextBlock', window );">Summary of License Revenue and Development Revenue Recognized under Agreement</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amounts recognized as license revenue and development revenue under the Astellas Japan Agreement were as follows 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 (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: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:100.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:24.725%;"></td>
          <td style="width:1.98%;"></td>
          <td style="width:22.404%;"></td>
          <td style="width:1.98%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.983%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.98%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.983%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.98%;"></td>
          <td style="width:1%;"></td>
          <td style="width:12.983%;"></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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">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;">Agreement</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;"><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;">Performance Obligation</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: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;">Astellas Japan Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Development 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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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_DisaggregationOfRevenueTableTextBlock', window );">Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations along with Associated Deferred Revenue and Product Revenue Net</a></td>
<td class="text"><p style="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:10pt;font-family:Times New Roman;min-width:fit-content;">The transaction price related to consideration received through </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 accounts receivable has been allocated to each of the following performance obligations under the Astellas Japan Agreement, along with any associated deferred revenue as follows (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: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:64.48%;"></td>
          <td style="width:2.72%;"></td>
          <td style="width:1%;"></td>
          <td style="width:30.799999999999997%;"></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;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;">Astellas Japan Agreement</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;">Total Consideration<br/>&#160;Through <br/>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: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;">License</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;">100,347</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Development 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;">17,092</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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 license and development 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">117,439</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_srt_StatementGeographicalAxis=srt_EuropeMember', window );">Europe [Member]</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_fgen_ContractWithCustomerMilestoneMethodTableTextBlock', window );">Summary of License Revenue and Development Revenue Recognized under Agreement</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amounts recognized as license revenue and development revenue under the Astellas Europe Agreement were as follows 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 (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: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:100.0%;border-collapse:separate;margin-right:auto;">
         <tr style="visibility:collapse;">
          <td style="width:23.405%;"></td>
          <td style="width:1.78%;"></td>
          <td style="width:20.264%;"></td>
          <td style="width:1.78%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.403%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.78%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.403%;"></td>
          <td style="width:1%;"></td>
          <td style="width:1.78%;"></td>
          <td style="width:1%;"></td>
          <td style="width:14.403%;"></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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">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;">Agreement</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;"><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;">Performance Obligation</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: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;">Astellas Europe Agreement</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;">License 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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,590</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">108,434</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="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="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;">Development 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="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,452</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,624</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,679</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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_DisaggregationOfRevenueTableTextBlock', window );">Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations along with Associated Deferred Revenue and Product Revenue Net</a></td>
<td class="text"><p style="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:10pt;font-family:Times New Roman;min-width:fit-content;">The transaction price related to consideration received through </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 accounts receivable has been allocated to each of the following performance obligations under the Astellas Europe Agreement, along with any associated deferred revenue as follows (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: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:64.48%;"></td>
          <td style="width:2.72%;"></td>
          <td style="width:1%;"></td>
          <td style="width:30.799999999999997%;"></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;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;">Astellas Europe Agreement</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;">Total Consideration<br/>&#160;Through <br/>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: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;">License</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">618,975</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Development 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;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">286,717</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 license and development 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
          <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">905,692</span></p></td>
          <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_srt_StatementGeographicalAxis=fgen_UnitedStatesRestOfWorldAndChinaMember', window );">U.S./RoW and China [Member]</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_fgen_ContractWithCustomerMilestoneMethodTableTextBlock', window );">Summary of License Revenue and Development Revenue Recognized under Agreement</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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amounts recognized as license revenue and development revenue under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement were as follows 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 (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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:30.386%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:20.344%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.342%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.342%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.342%;"></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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times 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;">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;">Agreement</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;"><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;">Performance Obligation</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: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;">AstraZeneca U.S./RoW Agreement and AstraZeneca China Agreement</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="color:#000000;white-space:pre-wrap;min-width:fit-content;">License 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:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</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;">2,649</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: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="color:#000000;min-width:fit-content;">$</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;">&#8212;</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: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="color:#000000;min-width:fit-content;">$</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;">&#8212;</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>
       </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="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="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;">Development revenue</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:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</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;">9,473</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">48,345</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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_DisaggregationOfRevenueTableTextBlock', window );">Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations along with Associated Deferred Revenue and Product Revenue Net</a></td>
<td class="text"><p style="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:10pt;font-family:Times New Roman;min-width:fit-content;">The transaction price related to consideration received through </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 accounts receivable has been allocated to each of the following performance obligations under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, along with any associated deferred revenue as follows (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: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:38.898%;"></td>
        <td style="width:1.111%;"></td>
        <td style="width:1%;"></td>
        <td style="width:16.093%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.111%;"></td>
        <td style="width:1%;"></td>
        <td style="width:16.093%;"></td>
        <td style="width:1%;"></td>
        <td style="width:3.334%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.36%;"></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;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;">AstraZeneca U.S./RoW Agreement and <br/>AstraZeneca China Agreement</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;">Cumulative Revenue <br/>Through <br/>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 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;">Deferred Revenue at<br/>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 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;">Total Consideration<br/>&#160;Through <br/>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: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;">License</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,493</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,493</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Co-development, information sharing &amp; <br/>&#160;&#160;committee 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">625,111</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">625,111</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">China performance obligation *</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">195,789</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">179,851</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">375,640</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 license and development 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,165,393</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">179,851</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,345,244</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:86.667%;text-align:left;"><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:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">*  China performance obligation revenue is recognized as product revenue, as described in details under </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Product Revenue, Net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> section below.</span></p><p id="highlight_result_11" 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;">**  Contract assets and liabilities related to rights and obligations in the same contract are recorded net on the consolidated balance sheets. As of December 31, 2023, deferred revenue included </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;">153.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;"> related to the AstraZeneca U.S./RoW and the AstraZeneca China Agreement, which represents the net 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;">179.9</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;"> of deferred revenue presented above and a </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;">26.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;"> unbilled milestone and co-development revenue under the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">AstraZeneca China Amendment</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_fgen_ContractWithCustomerMilestoneMethodTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contract with customer milestone method.</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;">fgen_ContractWithCustomerMilestoneMethodTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_ScheduleOfDrugProductRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 drug product revenue.</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;">fgen_ScheduleOfDrugProductRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_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_DeferredRevenueByArrangementDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet 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;">us-gaap_DeferredRevenueByArrangementDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_DrugProductRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_DrugProductRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_UnitedStatesRestOfWorldAndChinaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_UnitedStatesRestOfWorldAndChinaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>42
<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="idm140628939664336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Exclusive License and Option to Acquire Fortis Therapeutics (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_BusinessCombinationsAbstract', window );"><strong>Business Combinations [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_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Allocation of Purchase Consideration Based on Estimated Fair Values of Acquired Assets</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 allocation of purchase consideration based on estimated fair values of the acquired assets (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: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:74.905%;"></td>
        <td style="width:2.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.936%;"></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;min-width:fit-content;">&#160;</span></p></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;">Estimated Fair Value as of the Option Acquisition Date</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: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;">Purchase 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;">&#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="background-color:#ffffff;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="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>
       <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;">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;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-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;">
        <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;">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;">656</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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;">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>
       </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;">IPR&amp;D 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:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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;font-weight:bold;min-width:fit-content;">Total 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;">25,138</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;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>
       </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;">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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       <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 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;">2,671</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Accrued and other current 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;">703</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;font-weight:bold;min-width:fit-content;">Total 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;">3,374</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;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:#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="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>
       <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;">Redeemable non-controlling interests</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,480</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Nonredeemable non-controlling interests</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">520</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;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;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 #ffffff03;"><p style="font-size:10pt;margin-top:0;font-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:#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;font-weight:bold;min-width:fit-content;">Net identifiable assets, liabilities and non-controlling interests</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">236</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <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;font-weight:bold;min-width:fit-content;">Loss on asset acquisition</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">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>
       </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_BusinessCombinationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessCombinationsAbstract</td>
</tr>
<tr>
<td style="padding-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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<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="idm140629026624448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity Method Investment - Variable Interest Entity (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_fgen_AcquisitionAndVariableInterestEntityAbstract', window );"><strong>Acquisition And Variable Interest Entity [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_EquityMethodInvestmentsTextBlock', window );">Summary of Equity Method Investment</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 equity method investment in Falikang was as follows 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 (in thousands):</span></p><p style="font-size:10pt;margin-top:12pt;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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:10.864%;"></td>
        <td style="width:1.401%;"></td>
        <td style="width:1%;"></td>
        <td style="width:8.564%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.861%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.466000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.861%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.644%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.861%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.644%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.861%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.644%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.861%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.466000000000001%;"></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;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;">Entity</span></p></td>
        <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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;">Ownership Percentage</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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;">Balance at<br/>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>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Share of Net Income</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Dividend Received</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Currency<br/>Translation</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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">Balance at<br/>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: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;">Falikang</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">51.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: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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,061</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,638</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,255</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">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;">5,290</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_fgen_AcquisitionAndVariableInterestEntityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and variable interest entity 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;">fgen_AcquisitionAndVariableInterestEntityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_EquityMethodInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial 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 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-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_EquityMethodInvestmentsTextBlock</td>
</tr>
<tr>
<td style="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>44
<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="idm140629041229120">
<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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock', window );">Fair Values of Financial Assets Measured on Recurring Basis</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 values of the Company&#8217;s financial assets that are measured on a recurring basis are as follows (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:10pt;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:36.867%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></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;">Level 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;">Level 2</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;">Level 3</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;">Total</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;">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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,288</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,288</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">13,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">13,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>
       </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;">Commercial paper</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">88,289</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">88,289</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,797</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">47,791</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">9,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">9,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>
       </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</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,085</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">117,105</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,190</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;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>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <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;">Level 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;">Level 2</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;">Level 3</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;">Total</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;">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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,881</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,881</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">82,008</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">82,008</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Commercial paper</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">57,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;">&#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;">57,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>
       </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. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,972</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">111,345</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">11,468</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">11,468</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Asset-backed 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">2,474</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">2,474</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Foreign government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">4,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">4,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;">Convertible promissory note</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">&#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;">1,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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="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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,853</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,684</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,000</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">290,537</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_FairValueAssetsMeasuredOnRecurringBasisTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class 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://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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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_FairValueAssetsMeasuredOnRecurringBasisTextBlock</td>
</tr>
<tr>
<td style="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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<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="idm140628935189232">
<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock', window );">Schedule of Lease Assets and Related Lease Liabilities</a></td>
<td class="text"><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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s lease assets and related lease liabilities were as follows (in thousands):</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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:36.28%;"></td>
        <td style="width:34.36%;"></td>
        <td style="width:1.02%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.66%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.02%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.66%;"></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;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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: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;"><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;">Balance Sheet Line Item</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: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:10pt;background-color:#cff0fc;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;">Assets</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:#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;">Finance:</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="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;">Right-of-use assets cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,478</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,367</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Accumulated amortization</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,325</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">1,932</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">Finance lease right-of-use assets, net</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><span style="-sec-ix-hidden:F_b44be62d-5204-417d-8837-1e45bd5dd09f;"><span style="-sec-ix-hidden:F_73b7a46f-561b-4f66-8700-e955b456ad1f;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></span></span></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;">153</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">435</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">Operating:</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: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:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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;">Right-of-use assets cost</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,010</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101,990</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Accumulated amortization</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">34,917</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">22,097</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">Operating lease right-of-use assets, net</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;">Operating lease right-of-use assets</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;">68,093</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,893</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:25pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:25pt;text-indent:0;font-size:10pt;margin-top: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 lease assets</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: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;">68,246</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,328</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;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:#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="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="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:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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: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;">Liabilities</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;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;">Current:</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:#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;">Finance 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><span style="-sec-ix-hidden:F_79975e56-b464-43de-aee3-7997152e9a97;"><span style="-sec-ix-hidden:F_4843918f-50da-42e9-9edd-e9aec5e36569;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued and other current liabilities</span></span></span></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;">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="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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 lease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liabilities, 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;">10,292</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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-current:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       </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;">Finance lease 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><span style="-sec-ix-hidden:F_5a2a9269-135e-4529-b640-63b2d92ecbbc;"><span style="-sec-ix-hidden:F_6f1a9fbe-5bf0-4be8-adbe-2502374befd0;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term liabilities</span></span></span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">104</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">137</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Operating lease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liabilities, non-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;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">66,537</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,593</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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:pre-wrap;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;">80,758</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,058</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_LeaseCostTableTextBlock', window );">Components of Lease Expense</a></td>
<td class="text"><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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of lease expense were as follows (in thousands):</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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:25.965%;"></td>
        <td style="width:34.127%;"></td>
        <td style="width:1.6%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.862%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.36%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.862%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.36%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.862%;"></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;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;">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;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;">Statement of Operations Line Item</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: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:10pt;background-color:#cff0fc;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;min-width:fit-content;">Finance lease cost:</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>
        <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:#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 <br/>&#160;&#160;&#160;right-of-use assets</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;">Cost of goods sold; <br/>Research and development; <br/>Selling, general and administrative expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="color:#000000;min-width:fit-content;">$</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;">412</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="color:#000000;min-width:fit-content;">$</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;">587</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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="color:#000000;min-width:fit-content;">$</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;">4,639</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>
       </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;">Interest on lease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">628</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of goods sold; <br/>Research and development; <br/>Selling, general and administrative expenses</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;">17,006</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,125</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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;">Sublease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">Selling, general and administrative expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,024</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">3,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="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;">1,271</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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 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:pre-wrap;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;">14,395</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,339</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:top;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,718</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock', window );">Schedule of Supplemental Cash Flow Information Related to Leases</a></td>
<td class="text"><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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Supplemental cash flow information related to leases were as follows (in thousands):</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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:60.616%;"></td>
        <td style="width:1.461%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.748%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.341%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.748%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.341%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.748%;"></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;min-width:fit-content;">&#160;</span></p></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;">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;"><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:10pt;background-color:#cff0fc;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 paid for amounts included in the measurement of lease liabilities:</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>
        <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:#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;">Operating cash flows from 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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,497</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,022</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 cash flows from finance 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;">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">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>
       </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;">Financing cash flows from finance leases</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;">148</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">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: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;">5,489</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">Non-cash: Right-of-use assets obtained in exchange for new lease liabilities:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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;">Finance 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;">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: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;">261</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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="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;">1,278</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,704</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;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;">Non-cash: Increase (decrease) resulting from lease modification:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <tr style="height:10pt;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Finance 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;">&#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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,654</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">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;">&#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;">93,222</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Finance lease liabilities, 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,587</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Operating lease liabilities, 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">9,221</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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;">Finance lease liabilities, non-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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,009</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">Operating lease liabilities, non-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;">&#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: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;">&#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: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;">91,943</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock', window );">Schedule of Lease Term and Discount Rate</a></td>
<td class="text"><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;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Lease term and discount rate were as follows:</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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.52%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:19.42%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:19.42%;"></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;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 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;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:#cff0fc;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;min-width:fit-content;">Weighted-average remaining lease term (years):</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:#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;">Finance 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><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3.9</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.9</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:#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><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.8</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.8</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;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;min-width:fit-content;">Weighted-average discount rate:</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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;">Finance leases</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;">6.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="color:#000000;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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.20</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">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;">4.75</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">4.75</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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_fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock', window );">Schedule of Maturities of Finance and Operating Leases Liabilities</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Maturities of 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 (in thousands):</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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.52%;"></td>
        <td style="width:2.28%;"></td>
        <td style="width:1%;"></td>
        <td style="width:18.959999999999997%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.28%;"></td>
        <td style="width:1%;"></td>
        <td style="width:18.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:bottom;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;">Year Ending 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;">Finance Leases</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;">Operating Leases</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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,554</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,836</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,082</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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:#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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,401</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 future lease payments</span></p></td>
        <td style="white-space:pre-wrap;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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,349</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Less: Interest</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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:#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;">Present value of lease liabilities</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">144</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,614</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease assets and related lease 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;">fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease term and 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;">fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 maturities of finance and operating leases 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;">fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 supplemental cash flow information related to 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;">fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<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="idm140628932066528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Balance Sheet Components (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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [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_ScheduleOfCashAndCashEquivalentsTableTextBlock', window );">Schedule of Cash and Cash Equivalents</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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cash and cash equivalents consisted of the following (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:53.52%;"></td>
        <td style="width:2.28%;"></td>
        <td style="width:1%;"></td>
        <td style="width:18.959999999999997%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.28%;"></td>
        <td style="width:1%;"></td>
        <td style="width:18.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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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;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:#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</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">63,396</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">135,819</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Commercial paper</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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 funds</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;">12,288</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,881</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">U.S. government bonds</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;">1,988</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top: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: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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,688</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,700</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock', window );">Summary of Amortized Cost, Gross Unrealized Holding Gains or Losses, and Fair Value of Investments</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-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s investments consist primarily of available-for-sale debt investments. The amortized cost, gross unrealized holding gains or losses, and fair value of the Company&#8217;s investments by major investments type are summarized in the tables below (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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:36.867%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.222000000000001%;"></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;">Amortized 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 Unrealized<br/>Holding 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 Unrealized<br/>Holding 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:#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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,988</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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;">Commercial paper</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">52,273</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">52,273</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,783</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">45,803</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">9,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>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;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 investments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">121,874</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">6</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">121,898</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <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;">Amortized 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 Unrealized<br/>Holding 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 Unrealized<br/>Holding 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:#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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83,080</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,072</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">82,008</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Commercial paper</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;">&#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;">57,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>
       </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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">112,547</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,207</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">111,345</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,690</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">222</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">11,468</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Asset-backed securities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,484</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">(</span><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="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;">2,474</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Foreign government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,007</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">4,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:#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;">Convertible promissory note</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">&#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;">1,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="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: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 investments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">273,189</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,538</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">270,656</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock', window );">Summary of Available for Sale Securities in Unrealized Loss Position, Fair Value and Gross Unrealized Loss By Length of Time Security in Continual Unrealized Loss Position</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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, for all available for sale securities in an unrealized loss position, the fair value and gross unrealized loss by length of time the security has been in a continual unrealized loss position (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: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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:23.44%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.5%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.5%;"></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="22" style="vertical-align:bottom;border-bottom:0.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="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;">Less than 12 Months</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="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;">12 Months or More</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="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;">Total</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;">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>
        <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 Unrealized<br/>Holding 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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Unrealized<br/>Holding 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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Unrealized<br/>Holding 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>
       </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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,495</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">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>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,495</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">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: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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">4,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="white-space:pre-wrap;vertical-align: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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,987</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,987</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,971</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,495</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">5</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,466</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">6</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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>
       <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="22" style="vertical-align:bottom;border-bottom:0.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="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;">Less than 12 Months</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="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;">12 Months or More</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="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;">Total</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;">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>
        <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 Unrealized<br/>Holding 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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Unrealized<br/>Holding 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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Unrealized<br/>Holding 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>
       </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;">Corporate bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,738</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">147</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,270</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">925</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,008</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,072</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">U.S. government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,326</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,194</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,235</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,207</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Agency bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,468</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">222</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,468</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">222</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Asset-backed securities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,474</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,474</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Foreign government bonds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">&#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;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,980</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">27</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">4,980</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">27</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,538</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">170</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">159,627</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,368</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">191,165</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,538</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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: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_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventory</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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories consisted of the following (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:56.04%;"></td>
        <td style="width:2.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.82%;"></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;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 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;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:#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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,376</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,241</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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-progress</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,614</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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:#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 goods</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,575</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,192</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,565</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,436</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock', window );">Schedule of Prepaid Expenses and Other Current Assets</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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid expenses and other current assets consisted of the following (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.583%;"></td>
        <td style="width:2.081%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.127%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.081%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.127%;"></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;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 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;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:#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;">Contract assets</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,488</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 revenues from associated contracts</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,481</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">17,488</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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 contract assets</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
       </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;">Insurance proceeds receivable for litigation settlement</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,500</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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>
       <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 assets</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,644</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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:#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 current assets</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,711</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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: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="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,855</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,083</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property and Equipment</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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property and equipment consisted of the following (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:56.751%;"></td>
        <td style="width:2.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.503%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.503%;"></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: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: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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">102,109</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">102,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;">Laboratory equipment</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,175</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Machinery</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,642</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 equipment</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,490</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="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 and fixtures</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,184</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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;">Construction in progress</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>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">62</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">204</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 and equipment</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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">150,056</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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: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:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,930</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">128,682</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">Property and equipment, net</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>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,126</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,605</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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 );">Schedule of Accrued and Other Current Liabilities</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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued and other current liabilities consisted of the following (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: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:56.751%;"></td>
        <td style="width:2.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.503%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.503%;"></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;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 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;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:#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;">Preclinical and clinical trial accruals</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,780</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">API and bulk drug product price true-up</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,055</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Litigation settlement</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,500</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payroll and related accruals</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,267</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,562</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Accrued co-promotion expenses - current</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,309</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,677</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Roxadustat profit share to AstraZeneca</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,084</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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;">Property taxes and other taxes</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,691</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Professional services</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,103</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,480</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Current portion of liability related to sale of future revenues</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,654</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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 restructuring charge</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;">&#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="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,248</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 accrued and other current liabilities</span></p></td>
        <td style="white-space:pre-wrap;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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,891</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,773</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial 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/exampleRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479081/326-30-55-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-6<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock</td>
</tr>
<tr>
<td style="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_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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-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_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_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of available-for-sale securities from cost basis to 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;">us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfCashAndCashEquivalentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and cash equivalents.</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_ScheduleOfCashAndCashEquivalentsTableTextBlock</td>
</tr>
<tr>
<td style="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>47
<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="idm140628936977008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Senior Secured Term Loan Facilities (Table)<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_ScheduleOfDebtInstrumentsTextBlock', window );">Summary of Senior Secured Term Loan Facilities</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 senior secured term loan facilities 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 as follows (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: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:74.905%;"></td>
        <td style="width:2.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.936%;"></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;min-width:fit-content;">&#160;</span></p></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;">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: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;">Principal of senior secured term loan facilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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: Unamortized issuance costs and transaction 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;">3,066</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">Senior secured term loan facilities, ending balance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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: Current Portion classified to accrued and other current 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;">&#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: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;">Senior secured term loan facilities, non-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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,934</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="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_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_ScheduleOfDebtInstrumentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-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 entity, 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 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 2: 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 3: http://www.xbrl.org/2009/role/commonPracticeRef<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://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 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 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-1A<br><br>Reference 6: 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 7: 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 8: 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 9: 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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480848/942-470-50-3<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-8<br><br>Reference 11: 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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-6<br><br>Reference 12: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtInstrumentsTextBlock</td>
</tr>
<tr>
<td style="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>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="idm140628939831184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Liability Related to Sale of Future Revenues (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_fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract', window );"><strong>Liability Related to Sale of Future Royalties [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_fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock', window );">Schedule of Activity of Liability Related to Sale of Future Revenues</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 shows the activity of the liability related to sale of future revenues 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:</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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:74.905%;"></td>
        <td style="width:2.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.936%;"></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;min-width:fit-content;">&#160;</span></p></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;">Year Ended <br/>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: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;">Liability related to sale of future revenues - beginning balance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">49,333</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Interest expense recognized</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,734</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Liability related to sale of future revenues - ending balance</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,067</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: Current portion classified to accrued and other current 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;">5,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="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: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;">Liability related to sale of future revenues, non-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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">51,413</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="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_fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Liability related to sale of future royalties.</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;">fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 activity of liability related to sale of future revenues.</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;">fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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>49
<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="idm140628940065824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (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_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_RecordedUnconditionalPurchaseObligationsTextBlock', window );">Summary of Outstanding Non-cancelable Purchase Obligations</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-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 had the following outstanding non-cancelable purchase obligations (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="font-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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:47.26%;"></td>
        <td style="width:2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.58%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.58%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.58%;"></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;">Purchase Obligations <br/>Due In The Year Ending 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;">2024</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;">2025</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;">Total</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: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;">Manufacture and supply of pamrevlumab</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,995</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,827</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,822</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Manufacture and supply of roxadustat</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">573</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,719</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Other purchases and programs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,750</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">11,750</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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: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</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,318</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
      </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_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_RecordedUnconditionalPurchaseObligationsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unconditional purchase obligation recognized as 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 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-6<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 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481544/470-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_RecordedUnconditionalPurchaseObligationsTextBlock</td>
</tr>
<tr>
<td style="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>50
<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="idm140628928625936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity and Stock-based Compensation (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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [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_fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock', window );">Summary of Common Stock Reserved for Future Issuance</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Shares of Common Stock outstanding, shares of stock plans outstanding and shares reserved for future issuance related to stock options and RSU grants and the Company&#8217;s Employee Stock Purchase Plan (&#8220;ESPP&#8221;) purchases are as follows (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.007%;"></td>
        <td style="width:1.601%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.885%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.621%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.885%;"></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: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;">Common stock outstanding</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,770</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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:#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;">Stock options outstanding</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,104</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,088</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">RSUs outstanding</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,404</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,669</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Shares reserved for future stock options and RSUs grant</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,769</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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:#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;">Shares reserved for future ESPP offering</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,952</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,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:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top: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 shares of common stock reserved</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">130,999</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">123,820</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Summary of Stock Option Transactions</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock option transactions, including forfeited options granted under the 2014 Plan as well as prior plans, are summarized below:</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="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:44.009%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.062%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.38%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.502%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.062%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.38%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.602%;"></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 <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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 per <br/>Share</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 Contractual <br/>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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 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: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;">Outstanding 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,088</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.19</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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;">Granted</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,738</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.27</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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>
        <td style="white-space:pre-wrap;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 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: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;">Exercised</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">122</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.42</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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>
        <td style="white-space:pre-wrap;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 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: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;">Forfeited</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,725</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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: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 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: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 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: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;">Expired</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,875</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.38</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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>
        <td style="white-space:pre-wrap;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 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: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;">Outstanding 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="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;">11,104</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.21</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.26</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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Vested and expected to vest, 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.21</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.11</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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Exercisable 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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,688</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.66</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.04</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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
      </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_fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock', window );">Summary of RSU,PRSU and TSR Awards</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 activities of RSUs, PRSUs and TSR awards:</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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:58.928%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.017%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.26%;"></td>
        <td style="width:1%;"></td>
        <td style="width:19.796000000000003%;"></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 <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>
        <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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 Fair Value at Grant</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;">Unvested at December 31, 2022</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,669</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.80</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Granted</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,612</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.61</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Vested</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,002</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">14.70</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Forfeited</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,875</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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>
       </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: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="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">4,404</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="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_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Schedule of Recorded Stock-Based Compensation Expense</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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock-based compensation expense was recorded directly to research and development and selling, general and administrative expense 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 (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: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:43.78%;"></td>
        <td style="width:1.84%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.9%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.84%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.9%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.84%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.9%;"></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;">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;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,462</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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: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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,547</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Selling, general and administrative</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,305</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,740</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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,614</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,767</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,601</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">71,161</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock', window );">Schedule of Assumptions used to Estimate Fair Value of Stock Options Granted and Employee Stock Purchase Plans</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 assumptions used to estimate the fair value of stock options granted and ESPPs using the Black-Scholes option valuation model were 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: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:41.248%;"></td>
        <td style="width:1.74%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.923%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.32%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.923%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.32%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.923%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.601%;"></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;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="12" 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;">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;"><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>
       </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;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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;"><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;">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 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>
        <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>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;">Stock Options</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Expected term (in years)</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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;">6.1</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.7</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.7</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;"><p style="font-size:10pt;margin-top:0;font-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:#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;">Expected volatility</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">92.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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">66.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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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>
       </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;">Risk-free interest rate</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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;"><p style="font-size:10pt;margin-top: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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Expected dividend yield</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
       </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;">Weighted average estimated fair value</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.67</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.88</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.21</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-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="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: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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;">ESPPs</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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 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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       </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;min-width:fit-content;">Expected term (in years)</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 colspan="2" style="vertical-align: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;">0.5</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.0</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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 colspan="2" style="vertical-align: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;">0.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;">2.0</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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 colspan="2" style="vertical-align: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;">0.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;">2.0</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;"><p style="font-size:10pt;margin-top:0;font-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:#cff0fc;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;min-width:fit-content;">Expected volatility</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.7</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">271.2</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.5</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">97.6</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.1</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">104.4</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="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: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;">Risk-free interest rate</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.2</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.2</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.1</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.5</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="color:#000000;white-space:pre-wrap;min-width:fit-content;">%</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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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="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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Expected dividend yield</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
       </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;">Weighted average estimated fair value</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock', window );">Schedule of Assumptions used to Estimate Fair Value of TSR Awards</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 assumptions used to estimate the fair value of the TSR awards using the Monte Carlo valuation model were 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: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:44.96%;"></td>
        <td style="width:1.9%;"></td>
        <td style="width:1%;"></td>
        <td style="width:21.34%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.62%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:21.34%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.84%;"></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;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="7" 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;">Year 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;"><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>
       </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 style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-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>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;">TSR awards</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Expected term (in years)</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.9</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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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.9</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;"><p style="font-size:10pt;margin-top:0;font-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:#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;">Expected volatility</span></p></td>
        <td style="white-space:pre-wrap;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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">69.0</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">73.3</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top: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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align: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>
       </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;">Risk-free interest rate</span></p></td>
        <td style="white-space:pre-wrap;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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;">1.8</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#160;- </span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4.2</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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;"><p style="font-size:10pt;margin-top: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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Expected dividend yield</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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>
       </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;">Weighted average estimated fair value</span></p></td>
        <td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.90</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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: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="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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;"><p style="font-size:10pt;margin-top:0;font-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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 share based payment award stock options and employee stock purchase plan valuation assumptions.</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;">fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 share based payments award total shareholders return.</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;">fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 shareBased compensation restricted stock units perfomance based restricted stock and total shareholders return award activity.</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;">fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 shares of common stock reserved for future issuance.</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;">fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<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="idm140628935035008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Loss Per Share (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_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [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_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock', window );">Schedule of Weighted Impacts of Outstanding Anti-dilutive Securities Excluded from Calculation of Diluted Net Loss Per Share</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Diluted weighted average shares excluded the following potential common shares related to stock options, RSUs, PRSUs, TSR awards and shares to be purchased under the 2014 Employee Stock Purchase Plan (&#8220;ESPP&#8221;) for the periods presented as they were anti-dilutive (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: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:49.17%;"></td>
        <td style="width:1.2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.743%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.743%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.743%;"></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;">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;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top: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 stock options</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">10,596</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">9,520</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">8,461</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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">RSUs, PRSUs and TSR awards</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">3,793</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">2,137</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">1,538</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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">ESPP</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">594</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">305</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;">417</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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;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="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;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;">14,983</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;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 style="border-top:0.5pt solid #000000;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="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;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;">11,962</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;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: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="border-top:0.5pt solid #000000;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="min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;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;">10,416</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;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>
       </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_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_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="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>52
<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="idm140628926721072">
<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_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [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_fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock', window );">Schedule of Components of Loss Before Income Taxes</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-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of loss before income taxes are as follows (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: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.543%;"></td>
        <td style="width:1.261%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.864999999999998%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.261%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.864999999999998%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.261%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.944999999999999%;"></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;">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;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top: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;">328,475</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">307,056</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">268,499</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">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;">41,608</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,187</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,184</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">Loss before provision for 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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">286,867</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">294,869</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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: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:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">290,683</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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="re">
<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 );">Schedule of Components of Provision For Income Taxes</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 provision for income taxes consists of the following (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: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.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;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;">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;">Current:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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 colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-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;">&#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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">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;">&#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;">&#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: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;">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;">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">358</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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:bottom;"><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 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">358</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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: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;">Deferred:</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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 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>
       <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;">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">&#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;">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;">&#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;">&#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: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;">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;">&#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;">&#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;">&#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:#ffffff;word-break:break-word;">
        <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"><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 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;">&#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;">&#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;">&#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;">Total provision for 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;">3</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">358</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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;">347</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Reconciliation Between Statutory Federal Income Tax Rate and Effective Tax Rate</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 the reconciliation between the statutory federal income tax rate and the Company&#8217;s effective tax rate:</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.852%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.362%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.362%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.422%;"></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;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;">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 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;">
        <td style="white-space:pre-wrap;vertical-align: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;">Tax at statutory federal rate</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">&#160;%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">&#160;%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;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;">State tax</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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="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="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="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: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;">Stock-based compensation expense</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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="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;">Net operating losses not benefitted</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">16.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">16.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="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;">Foreign net operating losses not benefitted</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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;">&#160;%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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;">&#160;%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.6</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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: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;">Deduction limitation on executive compensation</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">0.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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">0.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">0.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="white-space:pre-wrap;vertical-align: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;">Global intangible low-taxed income</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">4.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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.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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">0.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>
       </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;">Other</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">0.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">0.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">0.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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;">&#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="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="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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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="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;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.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="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 );">Schedule of Significant Components of Deferred Tax Assets</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 components of the Company&#8217;s deferred tax assets are as follows (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: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:80.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: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;">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;"><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;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 #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;">Federal and state 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="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">175,257</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">166,708</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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;">123,156</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">106,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>
       </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;">Foreign 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;">48,396</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">49,990</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Capitalized research and development expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;">45,125</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Stock-based 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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,155</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,616</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Lease obligations</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,189</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,442</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Reserves and accruals</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,475</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,929</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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;">24,792</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,624</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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;">63,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,159</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">698</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,277</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Subtotal</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">548,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">492,001</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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;">534,967</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">477,969</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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;">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;">13,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,032</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;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>
       </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;">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;">10,511</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom: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;">13,101</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">Non-deductible accrued expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,483</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">931</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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;">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:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,994</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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;">14,032</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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:15pt;white-space:pre-wrap;vertical-align:bottom;"><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 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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>
       </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_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Schedule of Reconciliation of the Beginning and Ending Amounts of Unrecognized Income Tax Benefits</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 the beginning and ending amounts of unrecognized income tax benefits during the three 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 is as follows (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: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:80.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;">
        <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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Federal</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;">and State</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: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;">Balance as of December 31, 2020</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">48,574</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Decrease due to prior positions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">245</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-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;">Increase due to current year position</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,415</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 exchange rate differential</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">927</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,671</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Increase due to prior positions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,954</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Increase due to current year position</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,074</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 exchange rate differential</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">908</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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;">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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,791</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">Decrease due to prior positions</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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;">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>
       </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;">Increase due to current year position</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,805</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 exchange rate differential</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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;">477</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.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: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;">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;">80,965</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss before income tax domestic and foreign.</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;">fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_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_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 change in 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/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482663/740-10-55-217<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 15A<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_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="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>53
<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="idm140628935295840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Geographic Information (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_SegmentReportingAbstract', window );"><strong>Segment Reporting [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_RevenueFromExternalCustomersByGeographicAreasTableTextBlock', window );">Schedule of Revenue by Geographic Area</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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Geographic revenues, which are based on the region that revenue is generated, are as follows (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: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:45.7%;"></td>
        <td style="width:1.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.32%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.32%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.32%;"></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;min-width:fit-content;">&#160;</span></p></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;">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;"><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: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;">China</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">84,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: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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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:#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;">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;">9,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="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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: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:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
       </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;">Japan</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,867</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,764</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-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,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>
       </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;">United States</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <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>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,121</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">147,752</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">140,734</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;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:left;"><p style="font-size:10pt;margin-top:0;font-family:Times 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-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">235,309</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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="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_LongLivedAssetsByGeographicAreasTableTextBlock', window );">Schedule of Long Lived Assets by Geographic Area</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-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property and equipment, net by geographic location are as follows (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.78%;"></td>
        <td style="width:1.9%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.200000000000003%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.9%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.22%;"></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;min-width:fit-content;">&#160;</span></p></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;"><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>
       </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;">United States</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,785</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,094</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">China</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,341</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,511</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,126</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,605</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock', window );">Summary of Finance and Operating Lease Right of Use Assets by Geographical Location</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom: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 lease right-of-use assets and operating lease right-of-use assets, net by geographic location are as follows (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: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:80.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.792%;"></td>
        <td style="width:2.08%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.023%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.08%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.023%;"></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;min-width:fit-content;">&#160;</span></p></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;"><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>
       </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;">United States</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">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:#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;">China</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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>
       </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 finance 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">435</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;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;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-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>
       <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;">United States</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top: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,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>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">76,273</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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;">China</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,154</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,620</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><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 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;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,093</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top: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,893</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-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_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock', window );">Schedule of Customer Concentration by Collaboration Partners and Distribution Entity</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-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s revenues to date have been generated from the following collaboration partners and distribution entity that individually accounted for 10% or more of the Company&#8217;s total revenue or accounts receivable:</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:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:25.93%;"></td>
        <td style="width:1.1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.795%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.795%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.795%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.795%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.795%;"></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:middle;"><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:middle;"><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:middle;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;">Percentage of Revenue</span></p></td>
        <td style="vertical-align:middle;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;"><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:middle;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;">Percentage of Accounts Receivable</span></p></td>
        <td style="vertical-align:middle;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:middle;"><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:middle;"><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;">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:middle;"><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:middle;"><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:middle;"><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>
        <td style="vertical-align:middle;"><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:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Falikang &#8212; Related party</span></p></td>
        <td style="white-space:pre-wrap;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="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;">60</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">51</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">15</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">42</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">65</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="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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Astellas &#8212; Related party</span></p></td>
        <td style="white-space:pre-wrap;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="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;">17</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">31</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">57</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">7</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">9</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="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:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">AstraZeneca</span></p></td>
        <td style="white-space:pre-wrap;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="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;">8</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">9</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">20</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">33</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="color:#000000;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;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="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;">16</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="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_fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Finance and Operating Lease Right of Use Assets by Geographical Location.</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;">fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_LongLivedAssetsByGeographicAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds 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> -Section 50<br> -Paragraph 41<br> -Subparagraph b<br> -SubTopic 10<br> -Topic 280<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_LongLivedAssetsByGeographicAreasTableTextBlock</td>
</tr>
<tr>
<td style="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_RevenueFromExternalCustomersByGeographicAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.</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 41<br> -Subparagraph a<br> -SubTopic 10<br> -Topic 280<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_RevenueFromExternalCustomersByGeographicAreasTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 extent of the entity's reliance on its major customers, if revenues from transactions with a single external customer amount to 10 percent or more of entity revenues, including the disclosure of that fact, the total amount of revenues from each such customer, and the identity of the reportable segment or segments reporting the revenues. The entity need not disclose the identity of a major customer or the amount of revenues that each segment reports from that customer. For these purposes, a group of companies known to the entity to be under common control is considered a single customer, and the federal government, a state government, a local government such as a county or municipality, or a foreign government is each considered a single customer.</p></div>
<a href="javascript:void(0);" onclick="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_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-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>54
<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="idm140628933737968">
<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>
</tr>
<tr>
<th class="th">
<div>Jun. 16, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>Segment</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of operating segment | 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>
</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_fgen_HighlyLiquidInvestmentMaturityPeriod', window );">Highly liquid investment maturity period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">three months or less<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_fgen_RestrictedTimeDepositsNoncurrent', window );">Restricted time deposits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,700,000<span></span>
</td>
<td class="nump">$ 2,100,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_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 113,688,000<span></span>
</td>
<td class="nump">155,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_ShortTermInvestmentsMaximumMaturityPeriod', window );">Short term investments maturity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">12 months<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_fgen_LongTermInvestmentsMinimumMaturityPeriod', window );">Long term Investments Maturity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">12 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf', window );">Impairment of long-lived assets</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsFinitelived', window );">Impairment of inatangible assets finite lived</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms', window );">Description of payment term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">The period between the transfer of control of the promised goods and when the Company receives payment is based on 60-day payment terms.<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_fgen_DescriptionOfSalesReturn', window );">Description of sales return</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">distributors can request to return product to the Company only due to quality issues or for product purchased within one year prior to the product&#8217;s expiration date.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 deficit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1,841,920,000)<span></span>
</td>
<td class="num">(1,557,688,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_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (6,875,000)<span></span>
</td>
<td class="num">(5,720,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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_ProfitSharePercent', window );">Profit share percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TypeOfArrangementAxis=fgen_HiFiBiOAgreementMember', window );">HiFiBiO Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_InitialUpfrontPayment', window );">Initial upfront payment</a></td>
<td class="nump">$ 25,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable', window );">Maximum R&amp;D and regulatory milestone payments receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 175,000,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_fgen_MaximumSalesMilestonesReceivable', window );">Maximum sales milestones receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 170,000,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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PercentageOfTieredRoyaltiesReceivable', window );">Percentage of tiered royalties receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_TypeOfArrangementAxis=fgen_HiFiBiOAgreementMember', window );">HiFiBiO Agreement [Member] | IPR&amp;D Asset [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_InitialUpfrontPayment', window );">Initial 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">60,000,000.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_TypeOfArrangementAxis=fgen_HiFiBiOAgreementMember', window );">HiFiBiO Agreement [Member] | 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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_InitialUpfrontPayment', window );">Initial 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">$ 35,000,000.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_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | Computer Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Property and equipment estimated useful life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 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_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | Laboratory Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 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_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | Machinery [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Property and equipment estimated useful life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 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_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | Furniture and Fixtures [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 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_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member] | Computer Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Property and equipment estimated useful life</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>
</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] | Laboratory Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful life</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>
</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] | Machinery [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Property and equipment estimated useful life</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>
</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] | Furniture and Fixtures [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful life</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>
</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_GeographicDistributionAxis=us-gaap_GeographicDistributionForeignMember', window );">Foreign subsidiaries [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<td class="nump">$ 32,200,000<span></span>
</td>
<td class="nump">$ 92,500,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_ConcentrationRiskByBenchmarkAxis=fgen_AccountsReceivableFromDistributorsMember', window );">Accounts Receivable from Distributors [Member] | Credit Concentration Risk [Member] | Roxadustat [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17.00%<span></span>
</td>
<td class="nump">10.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_fgen_AccountingPolicyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accounting policy.</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;">fgen_AccountingPolicyLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_DescriptionOfSalesReturn">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sales return.</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;">fgen_DescriptionOfSalesReturn</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_HighlyLiquidInvestmentMaturityPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Highly liquid investment maturity 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;">fgen_HighlyLiquidInvestmentMaturityPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_InitialUpfrontPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Upfront 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;">fgen_InitialUpfrontPayment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_LongTermInvestmentsMinimumMaturityPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investments minimum maturity 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;">fgen_LongTermInvestmentsMinimumMaturityPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum Research and Development and Regulatory Milestone Payments Receivable</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;">fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_MaximumSalesMilestonesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum sales milestones receivable.</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;">fgen_MaximumSalesMilestonesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_PercentageOfTieredRoyaltiesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tiered royalties receivable.</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;">fgen_PercentageOfTieredRoyaltiesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_ProfitSharePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Profit share 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;">fgen_ProfitSharePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_RestrictedTimeDepositsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Restricted time deposits 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;">fgen_RestrictedTimeDepositsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ShortTermInvestmentsMaximumMaturityPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investments maximum maturity 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;">fgen_ShortTermInvestmentsMaximumMaturityPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_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_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_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_ImpairmentOfIntangibleAssetsFinitelived">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 a finite-lived intangible asset to fair 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 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 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-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_ImpairmentOfIntangibleAssetsFinitelived</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ImpairmentOfLongLivedAssetsToBeDisposedOf">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 write-downs for impairments recognized during the period for long-lived assets held for abandonment, exchange or sale.</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> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482130/360-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_ImpairmentOfLongLivedAssetsToBeDisposedOf</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_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_RevenuePerformanceObligationDescriptionOfPaymentTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 payment terms in contract with customer. Includes, but is not limited to, timing of payment, existence of financing component, variability of consideration and constraint on variable consideration.</p></div>
<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 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-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_RevenuePerformanceObligationDescriptionOfPaymentTerms</td>
</tr>
<tr>
<td style="padding-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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_HiFiBiOAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_HiFiBiOAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_InProcessResearchAndDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InProcessResearchAndDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FinancialInstrumentAxis=us-gaap_AccruedLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=us-gaap_AccruedLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=us-gaap_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComputerEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_LaboratoryEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_LaboratoryEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_GeographicDistributionAxis=us-gaap_GeographicDistributionForeignMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GeographicDistributionAxis=us-gaap_GeographicDistributionForeignMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_AccountsReceivableFromDistributorsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_AccountsReceivableFromDistributorsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_CreditConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CreditConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_RoxadustatDrugProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_RoxadustatDrugProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628928563152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Schedule of Significant Balance of Accounts Receivable (Detail) - Accounts Receivable [Member] - Credit Concentration Risk [Member]<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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Falikang - Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [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_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">42.00%<span></span>
</td>
<td class="nump">65.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=us-gaap_AccountsReceivableMember', window );">AstraZeneca Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccountingPolicyLineItems', window );"><strong>Accounting Policy [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_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">33.00%<span></span>
</td>
<td class="nump">16.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_AccountingPolicyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accounting policy.</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;">fgen_AccountingPolicyLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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=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_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CreditConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CreditConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_FalikangCollaborationAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_FalikangCollaborationAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628925655504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Astellas Agreements - Additional Information (Detail) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="4">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1">35 Months Ended</th>
<th class="th" colspan="1">45 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2006</div></th>
<th class="th"><div>Jun. 30, 2005</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2021</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>Feb. 28, 2009</div></th>
<th class="th"><div>Feb. 28, 2009</div></th>
<th class="th"><div>Mar. 21, 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total 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="nump">$ 147,752,000<span></span>
</td>
<td class="nump">$ 140,734,000<span></span>
</td>
<td class="nump">$ 235,309,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_Supplies', window );">Unbilled contract 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">$ 17,488,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,481,000<span></span>
</td>
<td class="nump">17,488,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_ContractWithCustomerLiabilityCurrent', window );">Deferred 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">12,739,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,740,000<span></span>
</td>
<td class="nump">12,739,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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total 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="nump">18,753,000<span></span>
</td>
<td class="nump">$ 11,086,000<span></span>
</td>
<td class="nump">$ 962,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_StatementGeographicalAxis=country_JP', window );">Japan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling', window );">Transaction price, variable consideration from estimated future co-development billing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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="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_StatementGeographicalAxis=country_JP', window );">Japan [Member] | Drug Product Revenue, Net [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 14,400,000<span></span>
</td>
<td class="nump">$ 8,400,000<span></span>
</td>
<td class="nump">$ 9,800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StatementGeographicalAxis=srt_EuropeMember', 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling', window );">Transaction price, variable consideration from estimated future co-development billing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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="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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Astellas Agreement [Member] | Japan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments', window );">Upfront, non-contingent and time-based payments received</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 40,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PotentialMilestones', window );">Potential milestone payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 132,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_fgen_CommercialSalesMilestone', window );">Commercial sales milestone</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_fgen_AdditionalConsiderationBasedOnNetSales', window );">Additional consideration based on net sales description</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">the low 20% range of the list price<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue', window );">Aggregate considerations received excluding drug 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 105,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized', window );">Changes in revenue from changes to estimated variable 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">$ 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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Astellas Agreement [Member] | Japan [Member] | Clinical and Development Milestone [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_fgen_PotentialMilestones', window );">Potential milestone payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Astellas Agreement [Member] | Japan [Member] | Regulatory Milestone [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_fgen_PotentialMilestones', window );">Potential milestone payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 95,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Astellas Agreement [Member] | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments', window );">Upfront, non-contingent and time-based payments received</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 320,000,000.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PotentialMilestones', window );">Potential milestone payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 120,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_fgen_AdditionalConsiderationBasedOnNetSales', window );">Additional consideration based on net sales description</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">low 20% range<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_fgen_TransactionPriceAllocatedToPerformanceObligations', window );">Transaction price and allocated to performance obligations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 120,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25,000,000<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_fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue', window );">Aggregate considerations received excluding drug 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 685,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_DevelopmentAndRegulatoryApprovalMilestones', window );">Development and regulatory approval milestones</a></td>
<td class="nump">$ 425,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_fgen_PercentageOfFundingForCosts', window );">Percentage of joint development costs committed to fund</a></td>
<td class="nump">50.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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized', window );">Changes in revenue from changes to estimated variable 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">$ 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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Astellas Agreement [Member] | Europe [Member] | Clinical and Development Milestone [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_fgen_PotentialMilestones', window );">Potential milestone payments</a></td>
<td class="nump">$ 90,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Astellas Agreement [Member] | Europe [Member] | Regulatory Milestone [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_fgen_PotentialMilestones', window );">Potential milestone payments</a></td>
<td class="nump">$ 335,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_fgen_AdditionalConsiderationBasedOnNetSales">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 additional consideration based on net sales of product as defined under a collaboration agreement.</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;">fgen_AdditionalConsiderationBasedOnNetSales</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 aggregate consideration receivable under collaborative arrangement excluding drug product revenue.</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;">fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_CommercialSalesMilestone">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of milestone payments related to commercial sales under the collaborative agreement.</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;">fgen_CommercialSalesMilestone</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_DevelopmentAndRegulatoryApprovalMilestones">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 potential amount of milestone payments related to development and regulatory approval under the collaborative agreement.</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;">fgen_DevelopmentAndRegulatoryApprovalMilestones</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_PercentageOfFundingForCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 percentage of costs that will be funded by the other party under a collaborative agreement for development 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;">fgen_PercentageOfFundingForCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_PotentialMilestones">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 total potential amount of milestone payments related to development, regulatory approval and commercial sales under the collaborative agreement.</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;">fgen_PotentialMilestones</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of fixed and determinable non-contingent upfront payments included under the collaborative agreement as arrangement 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;">fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_TransactionPriceAllocatedToPerformanceObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Transaction price allocated to performance obligations.</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;">fgen_TransactionPriceAllocatedToPerformanceObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Variable consideration payment received from estimated future co-development billing.</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;">fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 808<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/2147479402/808-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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue recognized arising from contract liability from change in timeframe for performance obligation to be satisfied.</p></div>
<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 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (e)<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_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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 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_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding 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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Supplies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid in advance for supplies 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)(7)<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 (g)<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_Supplies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_us-gaap_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_ClinicalDevelopmentMilestonesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_ClinicalDevelopmentMilestonesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_RegulatoryMilestonesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_RegulatoryMilestonesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628932576320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Accounting for the Astellas Agreements - Additional Information 2 (Detail) - Astellas Agreement [Member]<br></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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Minimum [Member] | Measurement Input Discount Rate [Member] | Discounted Cash Flow [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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_AlternativeInvestmentMeasurementInput', window );">Discount rate applied</a></td>
<td class="nump">17.5<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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Maximum [Member] | Measurement Input Discount Rate [Member] | Discounted Cash Flow [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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_AlternativeInvestmentMeasurementInput', window );">Discount rate applied</a></td>
<td class="nump">20.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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Japan [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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_fgen_ProceedsFromNonContingentUpfrontPayments', window );">Non-contingent upfront payments received</a></td>
<td class="nump">$ 40,100,000<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_fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone', window );">Variable consideration related to payments for milestones considered probable of being achieved</a></td>
<td class="nump">65,000,000.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_fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings', window );">Variable consideration related to co-development billings</a></td>
<td class="nump">12,300,000<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_fgen_ProvisionForCoDevelopmentServices', window );">Provision for co-development services</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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Europe [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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_fgen_ProceedsFromNonContingentUpfrontPayments', window );">Non-contingent upfront payments received</a></td>
<td class="nump">320,000,000.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_fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone', window );">Variable consideration related to payments for milestones considered probable of being achieved</a></td>
<td class="nump">365,000,000.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_fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings', window );">Variable consideration related to co-development billings</a></td>
<td class="nump">$ 220,700,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_ProceedsFromNonContingentUpfrontPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of non-contingent upfront payments included under the collaborative agreement as arrangement 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;">fgen_ProceedsFromNonContingentUpfrontPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ProvisionForCoDevelopmentServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 co-development services.</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;">fgen_ProvisionForCoDevelopmentServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Variable consideration payment received related to co-development billings.</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;">fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Variable consideration payment received upon achievement of milestone.</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;">fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AlternativeInvestmentMeasurementInput">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 input used to measure alternative investment.</p></div>
<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 (bbb)(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_AlternativeInvestmentMeasurementInput</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:decimalItemType</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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 808<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/2147479402/808-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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems</td>
</tr>
<tr>
<td style="padding-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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_MeasurementInputTypeAxis=us-gaap_MeasurementInputDiscountRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MeasurementInputDiscountRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=us-gaap_ValuationTechniqueDiscountedCashFlowMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_ValuationTechniqueDiscountedCashFlowMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementGeographicalAxis=country_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<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="idm140628927726800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - AstraZeneca Agreements - Additional Information 1 (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="4">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jul. 30, 2013</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. 31, 2015</div></th>
<th class="th"><div>Sep. 18, 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,740<span></span>
</td>
<td class="nump">$ 12,739<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue ($7,220 and $9,259 to related parties)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,740<span></span>
</td>
<td class="nump">12,739<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">147,752<span></span>
</td>
<td class="nump">140,734<span></span>
</td>
<td class="nump">$ 235,309<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=us-gaap_ProductMember', window );">Product Revenue, Net [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100,949<span></span>
</td>
<td class="nump">82,869<span></span>
</td>
<td class="nump">47,638<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,753<span></span>
</td>
<td class="nump">11,086<span></span>
</td>
<td class="nump">962<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_StatementGeographicalAxis=country_CN', window );">China [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Recognized as Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Recognized as Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">89,055<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member] | Selling, General and Administrative Expenses [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_CoPromotionExpenses', window );">Co-promotion expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,600<span></span>
</td>
<td class="nump">4,400<span></span>
</td>
<td class="nump">4,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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member] | U.S./RoW [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments', window );">Upfront, non-contingent, non-refundable and time-based payments</a></td>
<td class="nump">$ 374,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_fgen_PotentialMilestones', window );">Potential milestone payments</a></td>
<td class="nump">875,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_CommercialSalesMilestone', window );">Commercial sales milestone</a></td>
<td class="nump">325,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_fgen_SharedDevelopmentCosts', window );">Shared development 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">$ 233,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue', window );">Aggregate considerations received excluding drug product revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">439,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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member] | U.S./RoW [Member] | FibroGen, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_SharedDevelopmentCosts', window );">Shared development 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">$ 116,500<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member] | U.S./RoW [Member] | Clinical and Development Milestone [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PotentialMilestones', window );">Potential milestone payments</a></td>
<td class="nump">65,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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member] | U.S./RoW [Member] | Regulatory Milestone [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PotentialMilestones', window );">Potential milestone payments</a></td>
<td class="nump">325,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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member] | U.S./RoW [Member] | Deferred Approval Milestone [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PotentialMilestones', window );">Potential milestone payments</a></td>
<td class="nump">160,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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member] | China [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PotentialMilestones', window );">Potential milestone payments</a></td>
<td class="nump">348,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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_TransactionPriceAllocatedToPerformanceObligations', window );">Transaction price and allocated to performance obligations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,000<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_fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments', window );">Proceeds from upfront, non-contingent and non-refundable payments</a></td>
<td class="nump">28,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>
</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_fgen_CommercialSalesAndOtherEventsMilestone', window );">Commercial sales and other events milestone</a></td>
<td class="nump">187,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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_CollaborativeArrangementAggregateConsideration', window );">Aggregate considerations received</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">77,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_ContractWithCustomerLiabilityRevenueRecognized', window );">Recognized as Revenue</a></td>
<td class="text">&#160;<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member] | China [Member] | Accrued and Other Current Liabilities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,100<span></span>
</td>
<td class="nump">7,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue ($7,220 and $9,259 to related parties)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,100<span></span>
</td>
<td class="nump">7,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member] | China [Member] | Clinical and Development Milestone [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PotentialMilestones', window );">Potential milestone payments</a></td>
<td class="nump">15,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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member] | China [Member] | Regulatory Milestone [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PotentialMilestones', window );">Potential milestone payments</a></td>
<td class="nump">$ 146,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_TypeOfArrangementAxis=fgen_DirectSalesMember', window );">Direct Sales [Member] | Product Revenue, Net [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,894<span></span>
</td>
<td class="nump">$ 11,702<span></span>
</td>
<td class="nump">$ 12,070<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_fgen_CoPromotionExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Co-promotion expenses.</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;">fgen_CoPromotionExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_CollaborativeArrangementAggregateConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Collaborative arrangement aggregate 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;">fgen_CollaborativeArrangementAggregateConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 aggregate consideration receivable under collaborative arrangement excluding drug product revenue.</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;">fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_CommercialSalesAndOtherEventsMilestone">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commercial sales and other events milestone.</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;">fgen_CommercialSalesAndOtherEventsMilestone</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_CommercialSalesMilestone">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of milestone payments related to commercial sales under the collaborative agreement.</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;">fgen_CommercialSalesMilestone</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_PotentialMilestones">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 total potential amount of milestone payments related to development, regulatory approval and commercial sales under the collaborative agreement.</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;">fgen_PotentialMilestones</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 total amount of non-contingent, non-refundable, upfront payments included under the collaborative agreement as arrangement 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;">fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 total amount of non-contingent, non-refundable, upfront payments included under the collaborative agreement as arrangement 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;">fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_SharedDevelopmentCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 total amount of development costs that will be shared under collaborative agreement.</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;">fgen_SharedDevelopmentCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_TransactionPriceAllocatedToPerformanceObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Transaction price allocated to performance obligations.</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;">fgen_TransactionPriceAllocatedToPerformanceObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 808<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/2147479402/808-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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 is conditioned on something other than passage of time, 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 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<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 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<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 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_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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 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_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<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 8<br> -Subparagraph (b)<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_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding 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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_us-gaap_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=fgen_UnitedStatesAndRestOfWorldMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_UnitedStatesAndRestOfWorldMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=fgen_FibroGenIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=fgen_FibroGenIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_ClinicalDevelopmentMilestonesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_ClinicalDevelopmentMilestonesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_RegulatoryMilestonesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_RegulatoryMilestonesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_DeferredApprovalMilestoneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_DeferredApprovalMilestoneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=fgen_AccruedAndOtherCurrentLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BalanceSheetLocationAxis=fgen_AccruedAndOtherCurrentLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_DirectSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_DirectSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628935255840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Accounting for the AstraZeneca Agreements - Additional Information 3 (Detail) - AstraZeneca Agreements [Member]<br> $ in Millions</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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_fgen_RoyaltyRateOnNetRevenue', window );">Royalty rate against projected net revenues</a></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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">Measurement Input Discount Rate [Member] | Discounted Cash Flow [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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_AlternativeInvestmentMeasurementInput', window );">Discount rate applied</a></td>
<td class="nump">17.5<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">U.S./RoW and China [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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_fgen_ProceedsFromNonContingentUpfrontPayments', window );">Non-contingent upfront payments received</a></td>
<td class="nump">$ 402.2<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_fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone', window );">Variable consideration related to payments for milestones considered probable of being achieved</a></td>
<td class="nump">118.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_fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings', window );">Variable consideration related to co-development billings</a></td>
<td class="nump">614.6<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_fgen_VariableConsiderationRelatedToProfitShare', window );">Variable consideration related to profit share</a></td>
<td class="nump">$ 7.1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_ProceedsFromNonContingentUpfrontPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of non-contingent upfront payments included under the collaborative agreement as arrangement 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;">fgen_ProceedsFromNonContingentUpfrontPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_RoyaltyRateOnNetRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Implied royalty rate used to find the net present value of future cash flows.</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;">fgen_RoyaltyRateOnNetRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Variable consideration payment received related to co-development billings.</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;">fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Variable consideration payment received upon achievement of milestone.</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;">fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_VariableConsiderationRelatedToProfitShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Variable consideration related to profit share.</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;">fgen_VariableConsiderationRelatedToProfitShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AlternativeInvestmentMeasurementInput">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 input used to measure alternative investment.</p></div>
<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 (bbb)(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_AlternativeInvestmentMeasurementInput</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:decimalItemType</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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 808<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/2147479402/808-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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems</td>
</tr>
<tr>
<td style="padding-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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_MeasurementInputDiscountRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MeasurementInputDiscountRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=us-gaap_ValuationTechniqueDiscountedCashFlowMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_ValuationTechniqueDiscountedCashFlowMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_UnitedStatesAndRestOfWorldAndChinaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_UnitedStatesAndRestOfWorldAndChinaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>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="idm140628932555296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Eluminex Agreement - Additional Information 2 (Detail)<br> $ in Thousands</strong></div></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>
</tr>
<tr>
<th class="th">
<div>Jul. 31, 2021 </div>
<div>USD ($) </div>
<div>PerformanceObligation</div>
</th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</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>Apr. 30, 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 147,752<span></span>
</td>
<td class="nump">$ 140,734<span></span>
</td>
<td class="nump">$ 235,309<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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_LicenseAgreementWithEluminexMember', window );">Eluminex [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments', window );">Aggregate consideration received for milestone and upfront payments</a></td>
<td class="nump">$ 8,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments', window );">Future manufacturing clinical regulatory and commercial milestone payments</a></td>
<td class="nump">64,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_fgen_CommercialMilestone', window );">Commercial milestone</a></td>
<td class="nump">$ 36,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_CollaborativeArrangementAdditionalUpfrontPayments', window );">Additional upfront payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_LicenseAgreementWithEluminexMember', window );">Eluminex [Member] | License Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments', window );">Aggregate consideration received for milestone and upfront payments</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="text">&#160;<span></span>
</td>
<td class="nump">$ 8,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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_LicenseAgreementWithEluminexMember', window );">Eluminex [Member] | Other Revenue - Contract Manufacturing [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments', window );">Aggregate consideration received for milestone and upfront payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_LicenseAgreementWithEluminexMember', window );">Eluminex [Member] | ASC 606 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement', window );">Number of identified performance obligation at inception of agreement | PerformanceObligation</a></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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_LicenseAgreementWithEluminexMember', window );">Eluminex [Member] | Cornea Products [Member] | ASC 606 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred', window );">Percentage of product manufacturing costs until manufacturing technology fully transferred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_LicenseAgreementWithEluminexMember', window );">Eluminex [Member] | biosynthetic Cornea [Member] | China [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_MilestonePayments', window );">Milestone Payments</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>
</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_fgen_ManufacturingRelatedMilestonePayments', window );">Manufacturing related milestone payments</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>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_CollaborativeArrangementAdditionalUpfrontPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Collaborative arrangement additional upfront 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;">fgen_CollaborativeArrangementAdditionalUpfrontPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Collaborative arrangement aggregate consideration for milestone and upfront 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;">fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_CommercialMilestone">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commercial milestone.</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;">fgen_CommercialMilestone</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Future manufacturing clinical regulatory and commercial milestone 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;">fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ManufacturingRelatedMilestonePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Manufacturing related milestone 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;">fgen_ManufacturingRelatedMilestonePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_MilestonePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Milestone 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;">fgen_MilestonePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 identified performance obligation at inception of agreement.</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;">fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 product manufacturing costs until manufacturing technology fully 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;">fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding 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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueRecognitionMultipleDeliverableArrangementsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenueRecognitionMultipleDeliverableArrangementsLineItems</td>
</tr>
<tr>
<td style="padding-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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_LicenseAgreementWithEluminexMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_LicenseAgreementWithEluminexMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_LicenseRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_LicenseRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_DevelopmentAndOtherRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_DevelopmentAndOtherRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AccountingStandardsUpdate201409Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountingStandardsUpdate201409Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_CorneaProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_CorneaProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_BiosyntheticCorneaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_BiosyntheticCorneaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628925967616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Summary of License Revenue and Development Revenue Recognized under Agreement (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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 147,752<span></span>
</td>
<td class="nump">$ 140,734<span></span>
</td>
<td class="nump">$ 235,309<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_LicenseMember', window );">License Revenue [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">9,649<span></span>
</td>
<td class="nump">22,590<span></span>
</td>
<td class="nump">116,434<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=fgen_DevelopmentAndOtherRevenueMember', window );">Development Revenue [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">18,401<span></span>
</td>
<td class="nump">24,189<span></span>
</td>
<td class="nump">70,275<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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Astellas Agreement [Member] | License Revenue [Member] | 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">22,590<span></span>
</td>
<td class="nump">108,434<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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Astellas Agreement [Member] | Development Revenue [Member] | Japan [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">210<span></span>
</td>
<td class="nump">284<span></span>
</td>
<td class="nump">248<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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Astellas Agreement [Member] | Development Revenue [Member] | 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">6,452<span></span>
</td>
<td class="nump">9,624<span></span>
</td>
<td class="nump">21,679<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member] | License Revenue [Member] | U.S./RoW and China [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">2,649<span></span>
</td>
<td class="nump">0<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member] | Development Revenue [Member] | U.S./RoW and China [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 9,473<span></span>
</td>
<td class="nump">$ 12,519<span></span>
</td>
<td class="nump">$ 48,345<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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding 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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueRecognitionMultipleDeliverableArrangementsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenueRecognitionMultipleDeliverableArrangementsLineItems</td>
</tr>
<tr>
<td style="padding-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_ProductOrServiceAxis=us-gaap_LicenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LicenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_DevelopmentAndOtherRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_DevelopmentAndOtherRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=country_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_UnitedStatesRestOfWorldAndChinaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_UnitedStatesRestOfWorldAndChinaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628935175472">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations along with Associated Deferred Revenue (Detail) - Astellas Agreement [Member]<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Japan [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [Line Items]</strong></a></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_fgen_CashConsiderationReceivedUnderCollaborationAgreement', window );">Total Consideration</a></td>
<td class="nump">$ 117,439<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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Japan [Member] | License Revenue [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [Line Items]</strong></a></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_fgen_CashConsiderationReceivedUnderCollaborationAgreement', window );">Total Consideration</a></td>
<td class="nump">100,347<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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Japan [Member] | Development Revenue [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [Line Items]</strong></a></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_fgen_CashConsiderationReceivedUnderCollaborationAgreement', window );">Total Consideration</a></td>
<td class="nump">17,092<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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Europe [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [Line Items]</strong></a></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_fgen_CashConsiderationReceivedUnderCollaborationAgreement', window );">Total Consideration</a></td>
<td class="nump">905,692<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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Europe [Member] | License Revenue [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [Line Items]</strong></a></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_fgen_CashConsiderationReceivedUnderCollaborationAgreement', window );">Total Consideration</a></td>
<td class="nump">618,975<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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember', window );">Europe [Member] | Development Revenue [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [Line Items]</strong></a></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_fgen_CashConsiderationReceivedUnderCollaborationAgreement', window );">Total Consideration</a></td>
<td class="nump">$ 286,717<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_CashConsiderationReceivedUnderCollaborationAgreement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash consideration received under a collaboration agreement that has been allocated to the different significant units of accounting and includes the portion that has been deferred for revenue recognition.</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;">fgen_CashConsiderationReceivedUnderCollaborationAgreement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueRecognitionMultipleDeliverableArrangementsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenueRecognitionMultipleDeliverableArrangementsLineItems</td>
</tr>
<tr>
<td style="padding-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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LicenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LicenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_DevelopmentAndOtherRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_DevelopmentAndOtherRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<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="idm140628934227296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Summary of Revenue Recognized Under the Collaboration Agreements - Additional Information 4 (Detail)<br></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="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_JP', window );">Japan [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling', window );">Transaction price, variable consideration from estimated future co-development billing</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_srt_StatementGeographicalAxis=country_JP', window );">Japan [Member] | Astellas Agreement [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized', window );">Changes in revenue from changes to estimated variable consideration</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_srt_StatementGeographicalAxis=srt_EuropeMember', window );">Europe [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling', window );">Transaction price, variable consideration from estimated future co-development billing</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_srt_StatementGeographicalAxis=srt_EuropeMember', window );">Europe [Member] | Astellas Agreement [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized', window );">Changes in revenue from changes to estimated variable consideration</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_srt_StatementGeographicalAxis=fgen_UnitedStatesRestOfWorldAndChinaMember', window );">U.S./RoW and China [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized', window );">Changes in revenue from changes to estimated variable consideration</a></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_fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling', window );">Transaction price, variable consideration from estimated future co-development billing</a></td>
<td class="nump">$ 2,300,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Variable consideration payment received from estimated future co-development billing.</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;">fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue recognized arising from contract liability from change in timeframe for performance obligation to be satisfied.</p></div>
<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 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (e)<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_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueRecognitionMultipleDeliverableArrangementsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenueRecognitionMultipleDeliverableArrangementsLineItems</td>
</tr>
<tr>
<td style="padding-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=country_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_UnitedStatesRestOfWorldAndChinaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_UnitedStatesRestOfWorldAndChinaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628926185488">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations Deferred Revenue (Detail) - AstraZeneca Agreements [Member] - 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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_ContractWithCustomerLiability', window );">Deferred Revenue</a></td>
<td class="nump">$ 179,851<span></span>
</td>
<td class="nump">$ 175,646<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">U.S./RoW and China [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized', window );">Cumulative Revenue</a></td>
<td class="nump">1,165,393<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Deferred Revenue</a></td>
<td class="nump">179,851<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_fgen_CashConsiderationReceivedUnderCollaborationAgreement', window );">Total Consideration</a></td>
<td class="nump">1,345,244<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">U.S./RoW and China [Member] | License Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized', window );">Cumulative Revenue</a></td>
<td class="nump">344,493<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Deferred Revenue</a></td>
<td class="nump">0<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_fgen_CashConsiderationReceivedUnderCollaborationAgreement', window );">Total Consideration</a></td>
<td class="nump">344,493<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">U.S./RoW and China [Member] | Co-development, information sharing &amp; committee services [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized', window );">Cumulative Revenue</a></td>
<td class="nump">625,111<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Deferred Revenue</a></td>
<td class="nump">0<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_fgen_CashConsiderationReceivedUnderCollaborationAgreement', window );">Total Consideration</a></td>
<td class="nump">625,111<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">U.S./RoW and China [Member] | China performance obligation [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized', window );">Cumulative Revenue</a></td>
<td class="nump">195,789<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Deferred Revenue</a></td>
<td class="nump">179,851<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_fgen_CashConsiderationReceivedUnderCollaborationAgreement', window );">Total Consideration</a></td>
<td class="nump">$ 375,640<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_fgen_CashConsiderationReceivedUnderCollaborationAgreement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash consideration received under a collaboration agreement that has been allocated to the different significant units of accounting and includes the portion that has been deferred for revenue recognition.</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;">fgen_CashConsiderationReceivedUnderCollaborationAgreement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of revenue recognized for license and development services under the collaboration agreement as of a given 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;">fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_RevenueRecognitionMultipleDeliverableArrangementsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenueRecognitionMultipleDeliverableArrangementsLineItems</td>
</tr>
<tr>
<td style="padding-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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_UnitedStatesRestOfWorldAndChinaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_UnitedStatesRestOfWorldAndChinaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LicenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LicenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_ChinaPerformanceObligationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_ChinaPerformanceObligationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628934915760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations Deferred Revenue (Parenthetical) (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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, net of current</a></td>
<td class="nump">$ 157,555<span></span>
</td>
<td class="nump">$ 185,722<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_fgen_SuppliesNet', window );">Net unbilled milestone and co-development revenue</a></td>
<td class="nump">0<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_ContractWithCustomerLiability', window );">Deferred Revenue</a></td>
<td class="nump">179,851<span></span>
</td>
<td class="nump">175,646<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_fgen_SuppliesNet', window );">Net unbilled milestone and co-development revenue</a></td>
<td class="nump">22,500<span></span>
</td>
<td class="nump">$ 17,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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member] | U.S./RoW [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, net of current</a></td>
<td class="nump">153,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Deferred Revenue</a></td>
<td class="nump">179,900<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_fgen_SuppliesNet', window );">Net unbilled milestone and co-development revenue</a></td>
<td class="nump">$ 26,500<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_fgen_SuppliesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Supplies, 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;">fgen_SuppliesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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 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_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueRecognitionMultipleDeliverableArrangementsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenueRecognitionMultipleDeliverableArrangementsLineItems</td>
</tr>
<tr>
<td style="padding-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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_UnitedStatesAndRestOfWorldMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_UnitedStatesAndRestOfWorldMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628935219376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Summary of Amounts Recognized as Revenue (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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 147,752<span></span>
</td>
<td class="nump">$ 140,734<span></span>
</td>
<td class="nump">$ 235,309<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_LicenseMember', window );">License Revenue [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">9,649<span></span>
</td>
<td class="nump">22,590<span></span>
</td>
<td class="nump">116,434<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_LicenseMember', window );">License Revenue [Member] | Eluminex [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">7,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">8,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_ProductOrServiceAxis=fgen_OtherRevenuePatentTransferMember', window );">Other Revenue - Patent Transfer [Member] | Eluminex [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">500<span></span>
</td>
<td class="nump">0<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_srt_ProductOrServiceAxis=fgen_DevelopmentAndOtherRevenueMember', window );">Other Revenue - Contract Manufacturing [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">18,401<span></span>
</td>
<td class="nump">24,189<span></span>
</td>
<td class="nump">70,275<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=fgen_DevelopmentAndOtherRevenueMember', window );">Other Revenue - Contract Manufacturing [Member] | Eluminex [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_RevenueRecognitionMultipleDeliverableArrangementsLineItems', window );"><strong>Revenue Recognition Multiple Deliverable Arrangements [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 966<span></span>
</td>
<td class="nump">$ 1,761<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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding 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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueRecognitionMultipleDeliverableArrangementsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenueRecognitionMultipleDeliverableArrangementsLineItems</td>
</tr>
<tr>
<td style="padding-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_ProductOrServiceAxis=us-gaap_LicenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LicenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_LicenseAgreementWithEluminexMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_LicenseAgreementWithEluminexMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_OtherRevenuePatentTransferMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_OtherRevenuePatentTransferMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_DevelopmentAndOtherRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_DevelopmentAndOtherRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628926986704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Summary of Product Revenue, Net (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_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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 147,752<span></span>
</td>
<td class="nump">$ 140,734<span></span>
</td>
<td class="nump">$ 235,309<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, Net [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">100,949<span></span>
</td>
<td class="nump">82,869<span></span>
</td>
<td class="nump">47,638<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, Net [Member] | Direct Sales [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax', window );">Gross revenue</a></td>
<td class="nump">13,190<span></span>
</td>
<td class="nump">12,366<span></span>
</td>
<td class="nump">13,727<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">11,894<span></span>
</td>
<td class="nump">11,702<span></span>
</td>
<td class="nump">12,070<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, Net [Member] | Direct Sales [Member] | Discounts and Rebates [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="num">(1,298)<span></span>
</td>
<td class="num">(665)<span></span>
</td>
<td class="num">(1,740)<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, Net [Member] | Direct Sales [Member] | Sales Returns [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">2<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="nump">83<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, Net [Member] | Sales To Falikang [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">89,055<span></span>
</td>
<td class="nump">71,167<span></span>
</td>
<td class="nump">35,568<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_fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax', window );">Gross transaction price</a></td>
<td class="nump">154,817<span></span>
</td>
<td class="nump">112,544<span></span>
</td>
<td class="nump">97,531<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, Net [Member] | Sales To Falikang [Member] | Profit Share [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="num">(66,254)<span></span>
</td>
<td class="num">(43,716)<span></span>
</td>
<td class="num">(34,759)<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, Net [Member] | Sales To Falikang [Member] | Net Transfer Price [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">88,563<span></span>
</td>
<td class="nump">68,828<span></span>
</td>
<td class="nump">62,772<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, Net [Member] | Sales To Falikang [Member] | Decrease (Increase) in Deferred Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 492<span></span>
</td>
<td class="nump">$ 2,339<span></span>
</td>
<td class="num">$ (27,204)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 gross from contract with customer excluding assessed 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;">fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 gross transfer price from contract with customer excluding assessed 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;">fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding 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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_us-gaap_TypeOfArrangementAxis=fgen_DirectSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_DirectSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=fgen_DiscountsAndRebatesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=fgen_DiscountsAndRebatesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=us-gaap_SalesReturnsAndAllowancesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=us-gaap_SalesReturnsAndAllowancesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_SalesToFalikangMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_SalesToFalikangMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=fgen_ProfitShareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=fgen_ProfitShareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=fgen_NetTransferPriceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=fgen_NetTransferPriceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=fgen_IncreaseDecreaseInDeferredRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=fgen_IncreaseDecreaseInDeferredRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628925986640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Product Revenue, Net - Additional Information 1 (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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 147,752<span></span>
</td>
<td class="nump">$ 140,734<span></span>
</td>
<td class="nump">$ 235,309<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, Net [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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">100,949<span></span>
</td>
<td class="nump">82,869<span></span>
</td>
<td class="nump">$ 47,638<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, Net [Member] | Beijing Falikang Pharmaceutical Co Ltd</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_ContractWithCustomerLiabilityAbstract', window );"><strong>Contract with Customer, Liability [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_AllowanceForDoubtfulAccountsReceivable', window );">Reductions to gross accounts receivable</a></td>
<td class="nump">3,000<span></span>
</td>
<td class="nump">500<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_StatementGeographicalAxis=country_CN', window );">China [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_ContractWithCustomerLiabilityAbstract', window );"><strong>Contract with Customer, Liability [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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Recognized as Revenue</a></td>
<td class="nump">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_srt_StatementGeographicalAxis=country_CN', window );">China [Member] | Product Revenue, Net [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_ContractWithCustomerLiabilityAbstract', window );"><strong>Contract with Customer, Liability [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration', window );">Contract with customer liability increase decrease in revenue due to changes to estimated variable consideration</a></td>
<td class="nump">2,900<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [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_ContractWithCustomerLiabilityAbstract', window );"><strong>Contract with Customer, Liability [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="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 );">Deferred Revenue</a></td>
<td class="nump">179,851<span></span>
</td>
<td class="nump">175,646<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Recognized as Revenue</a></td>
<td class="nump">89,055<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member] | China [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_ContractWithCustomerLiabilityAbstract', window );"><strong>Contract with Customer, Liability [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="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 );">Deferred Revenue</a></td>
<td class="nump">32,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_ContractWithCustomerLiabilityRevenueRecognized', window );">Recognized as Revenue</a></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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=fgen_DeferredForFutureRecognitionMember', window );">Constrained for Future Recognition [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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,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_fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contract with customer liability increase decrease in revenue due to changes to estimated variable 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;">fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 808<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/2147479402/808-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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ContractWithCustomerLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<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 8<br> -Subparagraph (b)<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_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding 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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis=fgen_BeijingFalikangPharmaceuticalCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityMethodInvestmentNonconsolidatedInvesteeAxis=fgen_BeijingFalikangPharmaceuticalCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=fgen_DeferredForFutureRecognitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=fgen_DeferredForFutureRecognitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>69
<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="idm140628935165136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Roll-forward of Related Contract Liabilities (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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [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_fgen_ContractWithCustomerLiabilityLineItems', window );"><strong>Contract with Customer Liability [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_ContractWithCustomerLiability', window );">Balance at December 31, 2022</a></td>
<td class="num">$ (175,646)<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_fgen_ContractWithCustomerLiabilityAdditions', window );">Additions</a></td>
<td class="num">(94,099)<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_fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther', window );">Currency Translation and Other</a></td>
<td class="nump">839<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Recognized as Revenue</a></td>
<td class="nump">89,055<span></span>
</td>
</tr>
<tr class="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 );">Balance at December 31, 2023</a></td>
<td class="num">(179,851)<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=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member] | Astellas Agreement [Member] | Europe [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_fgen_ContractWithCustomerLiabilityLineItems', window );"><strong>Contract with Customer Liability [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_ContractWithCustomerLiability', window );">Balance at December 31, 2022</a></td>
<td class="num">(40,303)<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_fgen_ContractWithCustomerLiabilityAdditions', window );">Additions</a></td>
<td class="num">(17,674)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Recognized as Revenue</a></td>
<td class="nump">2,306<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_fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability', window );">Reclassified to accrued liability / accounts payable</a></td>
<td class="nump">38,746<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Balance at December 31, 2023</a></td>
<td class="num">$ (16,925)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_ContractWithCustomerLiabilityAdditions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contract with customer liability additions.</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;">fgen_ContractWithCustomerLiabilityAdditions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contract with customer, liability, increase (decrease) from current translation 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;">fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ContractWithCustomerLiabilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contract with customer liability.</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;">fgen_ContractWithCustomerLiabilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contract with customer liability reclassified to accrued liability.</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;">fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<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 8<br> -Subparagraph (b)<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_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_DrugProductRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_DrugProductRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_AstellasAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstellasAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<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="idm140628925992144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Drug Product Revenue - Summary of Drug Product Revenue (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Mar. 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>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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></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">$ 147,752<span></span>
</td>
<td class="nump">$ 140,734<span></span>
</td>
<td class="nump">$ 235,309<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></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">18,753<span></span>
</td>
<td class="nump">11,086<span></span>
</td>
<td class="nump">962<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member] | Japan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></td>
<td class="nump">$ 14,400<span></span>
</td>
<td class="nump">$ 8,400<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>
</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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member] | Astellas Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></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">18,800<span></span>
</td>
<td class="nump">11,100<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member] | Astellas Agreement [Member] | Japan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></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">15,656<span></span>
</td>
<td class="nump">9,480<span></span>
</td>
<td class="nump">2,056<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member] | Astellas Agreement [Member] | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></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,097<span></span>
</td>
<td class="nump">1,606<span></span>
</td>
<td class="nump">1,130<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member] | AstraZeneca Agreements [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></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="nump">$ 0<span></span>
</td>
<td class="num">$ (2,224)<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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 808<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/2147479402/808-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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems</td>
</tr>
<tr>
<td style="padding-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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding 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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_AstellasAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstellasAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_us-gaap_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<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="idm140628932095584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Drug Product Revenue - Additional Information (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="6">3 Months Ended</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>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Mar. 31, 2021</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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 147,752<span></span>
</td>
<td class="nump">$ 140,734<span></span>
</td>
<td class="nump">$ 235,309<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred Revenue</a></td>
<td class="nump">$ 12,740<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,739<span></span>
</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,740<span></span>
</td>
<td class="nump">12,739<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Supplies', window );">Prepaid Supplies</a></td>
<td class="nump">26,481<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,488<span></span>
</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">26,481<span></span>
</td>
<td class="nump">17,488<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 long-term liabilities</a></td>
<td class="nump">2,858<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,440<span></span>
</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,858<span></span>
</td>
<td class="nump">6,440<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">Astra Zeneca Agreements [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_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_ContractWithCustomerLiabilityRevenueRecognized', window );">Royalty revenue recognized as drug 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">89,055<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [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_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">18,753<span></span>
</td>
<td class="nump">11,086<span></span>
</td>
<td class="nump">962<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member] | API Shipment [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_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member] | Astellas Agreement [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_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">18,800<span></span>
</td>
<td class="nump">11,100<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member] | Japan [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_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 14,400<span></span>
</td>
<td class="nump">8,400<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>
</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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member] | Japan [Member] | API Shipment [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_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,700<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member] | Japan [Member] | Astellas Agreement [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_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">15,656<span></span>
</td>
<td class="nump">9,480<span></span>
</td>
<td class="nump">2,056<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent', window );">Accrued liabilities</a></td>
<td class="nump">1,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,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="nump">1,200<span></span>
</td>
<td class="nump">6,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 long-term liabilities</a></td>
<td class="nump">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="nump">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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member] | Europe [Member] | Astellas Agreement [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_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,097<span></span>
</td>
<td class="nump">1,606<span></span>
</td>
<td class="nump">1,130<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member] | Europe [Member] | Astellas Europe Agreement [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_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_ManufacturingCosts', window );">Burdened manufacturing costs</a></td>
<td class="nump">800<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="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>
</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_ValuationAllowancesAndReservesTypeAxis=fgen_BulkDrugProductMember', window );">Bulk Drug Product [Member] | Astellas Europe Agreement [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_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_ContractWithCustomerLiabilityCurrent', window );">Deferred Revenue</a></td>
<td class="nump">17,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="nump">17,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,300<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=fgen_BulkDrugProductMember', window );">Bulk Drug Product [Member] | Astra Zeneca Agreements [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_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">11,200<span></span>
</td>
<td class="nump">11,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_AccruedLiabilitiesCurrentAndNoncurrent', 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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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>
</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_ValuationAllowancesAndReservesTypeAxis=fgen_BulkDrugProductMember', window );">Bulk Drug Product [Member] | Europe [Member] | Astellas Europe Agreement [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_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">38,700<span></span>
</td>
<td class="nump">57,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23,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="nump">23,200<span></span>
</td>
<td class="nump">11,800<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Supplies', window );">Prepaid Supplies</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 49,800<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BilledContractReceivables', window );">Billed Contracts Receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 49,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="nump">49,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_AccruedLiabilitiesCurrentAndNoncurrent', window );">Accrued liabilities</a></td>
<td class="nump">$ 38,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="nump">38,600<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_ValuationAllowancesAndReservesTypeAxis=fgen_BulkDrugProductMember', window );">Bulk Drug Product [Member] | Europe [Member] | Astellas Europe Agreement [Member] | Royalty Revenue [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_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [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_ContractWithCustomerLiabilityRevenueRecognized', window );">Royalty revenue recognized as drug 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>
<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,300<span></span>
</td>
<td class="nump">$ 600<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_AccruedLiabilitiesCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</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 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<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_AccruedLiabilitiesCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_BilledContractReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amounts due for billed services rendered or to be rendered, actions taken or to be taken, or a promise to refrain from taking certain actions in accordance with the terms of a legally binding agreement between the Company and, at a minimum, one other party. An example would be amounts billed to customers under contracts or programs but not paid 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 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482312/912-310-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_BilledContractReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 808<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/2147479402/808-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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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 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_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<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 8<br> -Subparagraph (b)<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_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ManufacturingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in the production of goods for sale.</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.2(a))<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_ManufacturingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding 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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Supplies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid in advance for supplies 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)(7)<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 (g)<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_Supplies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TransactionTypeAxis=fgen_APIShipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TransactionTypeAxis=fgen_APIShipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_AstellasAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstellasAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_us-gaap_TypeOfArrangementAxis=fgen_AstellasEuropeAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstellasEuropeAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=fgen_BulkDrugProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=fgen_BulkDrugProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>72
<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="idm140628941245920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Collaboration Agreements, License Agreement and Revenues - Additional Information (Detail) - USD ($)<br> $ in Thousands</strong></div></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>Jun. 30, 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 147,752<span></span>
</td>
<td class="nump">$ 140,734<span></span>
</td>
<td class="nump">$ 235,309<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Supplies', window );">Unbilled contract asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,481<span></span>
</td>
<td class="nump">17,488<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18,753<span></span>
</td>
<td class="nump">$ 11,086<span></span>
</td>
<td class="nump">962<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue, Net [Member] | API Shipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Drug product revenue recognized</a></td>
<td class="nump">$ 1,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,100<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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 808<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/2147479402/808-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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems</td>
</tr>
<tr>
<td style="padding-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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding 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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Supplies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid in advance for supplies 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)(7)<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 (g)<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_Supplies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TransactionTypeAxis=fgen_APIShipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TransactionTypeAxis=fgen_APIShipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>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="idm140628932720224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Exclusive License and Option to Acquire Fortis Therapeutics - Additional Information (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>May 05, 2023</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_srt_OwnershipAxis=fgen_ThirdPartyShareholdersMember', window );">Third Party Shareholders [Member] | Nonredeemable NCI [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership Percentage</a></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_srt_OwnershipAxis=fgen_OtherInvestorsMember', window );">Other Investors [Member] | Nonredeemable NCI [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership Percentage</a></td>
<td class="nump">98.00%<span></span>
</td>
<td class="nump">98.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_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember', window );">Series A Preferred Shares [Member] | Nonredeemable NCI [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership Percentage</a></td>
<td class="nump">2.00%<span></span>
</td>
<td class="nump">2.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_BusinessAcquisitionAxis=fgen_FortisTherapeuticsMember', window );">Fortis Therapeutics [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase consideration</a></td>
<td class="nump">$ 0<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_fgen_PaymentToOptionsExercised', window );">Payment to options exercised</a></td>
<td class="nump">80,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_PaymentForContingentConsiderationLiabilityInvestingActivities', window );">Contingent payment associated with business acquisition</a></td>
<td class="nump">200,000<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_fgen_ProductDevelopmentCosts', window );">Product development obligations</a></td>
<td class="nump">$ 5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets', window );">Fair value of the acquired IPR&amp;D assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24,400<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=fgen_FortisTherapeuticsMember', window );">Fortis Therapeutics [Member] | Discounted Cash Flow [Member] | Measurement Input Discount Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AlternativeInvestmentMeasurementInput', window );">Discount rate applied</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16.5<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the acquired in process research and development 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;">fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_PaymentToOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payment to options exercised</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;">fgen_PaymentToOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ProductDevelopmentCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Product Development 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;">fgen_ProductDevelopmentCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AlternativeInvestmentMeasurementInput">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 input used to measure alternative investment.</p></div>
<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 (bbb)(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_AlternativeInvestmentMeasurementInput</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:decimalItemType</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_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_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<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 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-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_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="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_PaymentForContingentConsiderationLiabilityInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, made soon after acquisition date of business combination, to settle contingent consideration 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 45<br> -Paragraph 13<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 230<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_PaymentForContingentConsiderationLiabilityInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OwnershipAxis=fgen_ThirdPartyShareholdersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_ThirdPartyShareholdersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=us-gaap_OtherInvesteesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=us-gaap_OtherInvesteesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_OtherInvestorsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_OtherInvestorsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_FortisTherapeuticsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_FortisTherapeuticsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=us-gaap_ValuationTechniqueDiscountedCashFlowMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_ValuationTechniqueDiscountedCashFlowMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_MeasurementInputDiscountRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MeasurementInputDiscountRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628933604208">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Exclusive License and Option to Acquire Fortis Therapeutics - Schedule of Allocation of Purchase Consideration Based on Estimated Fair Values of Acquired Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>May 05, 2023</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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract', window );"><strong>Liabilities</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_NonredeemableNoncontrollingInterest', window );">Nonredeemable non-controlling interests</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,487<span></span>
</td>
<td class="nump">$ 19,967<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=fgen_FortisTherapeuticsMember', window );">Fortis Therapeutics [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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase consideration</a></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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract', window );"><strong>Assets</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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</a></td>
<td class="nump">656<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">82<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_fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment', window );">IPR&amp;D assets</a></td>
<td class="nump">24,400<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets', window );">Total assets</a></td>
<td class="nump">25,138<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract', window );"><strong>Liabilities</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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">2,671<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_fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities', window );">Accrued and other current liabilities</a></td>
<td class="nump">703<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities', window );">Total liabilities</a></td>
<td class="nump">3,374<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_fgen_RedeemableNonControllingInterests', window );">Redeemable non-controlling interests</a></td>
<td class="nump">21,480<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonredeemableNoncontrollingInterest', window );">Nonredeemable non-controlling interests</a></td>
<td class="nump">520<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet', window );">Net identifiable assets, liabilities and non-controlling interests</a></td>
<td class="num">(236)<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_fgen_LossOnAssetAcquisition', window );">Loss on asset acquisition</a></td>
<td class="num">$ (236)<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_fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 business combination, accrued and other current 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;">fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in-process research and development.</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;">fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_LossOnAssetAcquisition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Loss on asset 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;">fgen_LossOnAssetAcquisition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_RedeemableNonControllingInterests">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Redeemable non-controlling interests.</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;">fgen_RedeemableNonControllingInterests</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract</td>
</tr>
<tr>
<td style="padding-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_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_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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 as of the acquisition date for the identifiable assets acquired 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 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NonredeemableNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent entity which is not redeemable by the parent 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_NonredeemableNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_BusinessAcquisitionAxis=fgen_FortisTherapeuticsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_FortisTherapeuticsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>75
<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="idm140628935295840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity method investment - Variable Interest Entity - Additional Information (Detail) - Beijing Falikang Pharmaceutical Co Ltd<br> $ in Millions</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_fgen_AcquisitionAndVariableInterestEntityLineItems', window );"><strong>Acquisition And Variable Interest Entity [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_InvestmentIncomeDividend', window );">Dividend received</a></td>
<td class="nump">$ 2.3<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=fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember', window );">Beijing Kangda Yongfu Pharmaceutical Co., LTD [Member] | FibroGen Beijing [Member] | AstraZenecaAB [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_fgen_AcquisitionAndVariableInterestEntityLineItems', window );"><strong>Acquisition And Variable Interest Entity [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_BusinessAcquisitionPercentageOfVotingInterestsAcquired', window );">Percentage of outstanding shares acquired</a></td>
<td class="nump">51.10%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_AcquisitionAndVariableInterestEntityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and variable interest entity 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;">fgen_AcquisitionAndVariableInterestEntityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_InvestmentIncomeDividend">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.7(a))<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_InvestmentIncomeDividend</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquityMethodInvestmentNonconsolidatedInvesteeAxis=fgen_BeijingFalikangPharmaceuticalCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityMethodInvestmentNonconsolidatedInvesteeAxis=fgen_BeijingFalikangPharmaceuticalCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=fgen_FibroGenBeijingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_FibroGenBeijingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_AstraZenecaABMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_AstraZenecaABMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>76
<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="idm140628926166944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity method investment - Variable Interest Entity - Summary of Equity Method Investment (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_fgen_AcquisitionAndVariableInterestEntityLineItems', window );"><strong>Acquisition And Variable Interest Entity [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_EquityMethodInvestments', window );">Beginning balance</a></td>
<td class="nump">$ 5,061<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Share of Net Income</a></td>
<td class="nump">2,638<span></span>
</td>
<td class="nump">$ 1,573<span></span>
</td>
<td class="nump">$ 1,007<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Ending balance</a></td>
<td class="nump">$ 5,290<span></span>
</td>
<td class="nump">5,061<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=fgen_BeijingFalikangPharmaceuticalCoLtdMember', window );">Beijing Falikang Pharmaceutical Co. Ltd [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_fgen_AcquisitionAndVariableInterestEntityLineItems', window );"><strong>Acquisition And Variable Interest Entity [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_EquityMethodInvestmentOwnershipPercentage', window );">Ownership Percentage</a></td>
<td class="nump">51.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Beginning balance</a></td>
<td class="nump">$ 5,061<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Share of Net Income</a></td>
<td class="nump">2,638<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeDividend', window );">Dividend Received</a></td>
<td class="num">(2,255)<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_fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation', window );">Currency Translation</a></td>
<td class="num">(154)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Ending balance</a></td>
<td class="nump">$ 5,290<span></span>
</td>
<td class="nump">$ 5,061<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_fgen_AcquisitionAndVariableInterestEntityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and variable interest entity 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;">fgen_AcquisitionAndVariableInterestEntityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 method investment increase (decrease) from currency translation.</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;">fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<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 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-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_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="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_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses 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 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 2: 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 (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: 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(10))<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 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-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_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) for proportionate share of equity method investee's income (loss).</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 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-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 (g)<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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<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(13)(f))<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_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InvestmentIncomeDividend">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.7(a))<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_InvestmentIncomeDividend</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=fgen_BeijingFalikangPharmaceuticalCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=fgen_BeijingFalikangPharmaceuticalCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>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="idm140628932194896">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements - Fair Values of Financial Assets Measured on 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">$ 121,898<span></span>
</td>
<td class="nump">$ 270,656<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_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">13,992<span></span>
</td>
<td class="nump">82,008<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_FinancialInstrumentAxis=us-gaap_CommercialPaperMember', window );">Commercial paper [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">52,273<span></span>
</td>
<td class="nump">57,381<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_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,474<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_FinancialInstrumentAxis=us-gaap_ForeignGovernmentDebtMember', window );">Foreign government bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,980<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_FinancialInstrumentAxis=fgen_ConvertiblePromissoryNoteMember', window );">Convertible promissory note [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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 );">Total fair value of financial assets</a></td>
<td class="nump">172,190<span></span>
</td>
<td class="nump">290,537<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Money market funds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_CashAndCashEquivalentsFairValueDisclosure', window );">Assets fair value disclosure</a></td>
<td class="nump">12,288<span></span>
</td>
<td class="nump">19,881<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Corporate bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">13,992<span></span>
</td>
<td class="nump">82,008<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Commercial paper [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">88,289<span></span>
</td>
<td class="nump">57,381<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | U.S. government bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">47,791<span></span>
</td>
<td class="nump">111,345<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Agency bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">9,830<span></span>
</td>
<td class="nump">11,468<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Asset-backed securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,474<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Foreign government bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,980<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Convertible promissory note [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 1 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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 );">Total fair value of financial assets</a></td>
<td class="nump">55,085<span></span>
</td>
<td class="nump">118,853<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 1 [Member] | Money market funds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_CashAndCashEquivalentsFairValueDisclosure', window );">Assets fair value disclosure</a></td>
<td class="nump">12,288<span></span>
</td>
<td class="nump">19,881<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 1 [Member] | Corporate bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">0<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 1 [Member] | Commercial paper [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">0<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 1 [Member] | U.S. government bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">42,797<span></span>
</td>
<td class="nump">98,972<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 1 [Member] | Agency bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">0<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 1 [Member] | Asset-backed securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 1 [Member] | Foreign government bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 1 [Member] | Convertible promissory note [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 2 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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 );">Total fair value of financial assets</a></td>
<td class="nump">117,105<span></span>
</td>
<td class="nump">170,684<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 2 [Member] | Money market funds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_CashAndCashEquivalentsFairValueDisclosure', window );">Assets fair value disclosure</a></td>
<td class="nump">0<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 2 [Member] | Corporate bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">13,992<span></span>
</td>
<td class="nump">82,008<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 2 [Member] | Commercial paper [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">88,289<span></span>
</td>
<td class="nump">57,381<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 2 [Member] | U.S. government bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">4,994<span></span>
</td>
<td class="nump">12,373<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 2 [Member] | Agency bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">9,830<span></span>
</td>
<td class="nump">11,468<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 2 [Member] | Asset-backed securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,474<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 2 [Member] | Foreign government bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,980<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 2 [Member] | Convertible promissory note [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 3 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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 );">Total fair value of financial assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 3 [Member] | Money market funds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_CashAndCashEquivalentsFairValueDisclosure', window );">Assets fair value disclosure</a></td>
<td class="nump">0<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 3 [Member] | Corporate bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">0<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 3 [Member] | Commercial paper [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">0<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 3 [Member] | U.S. government bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">0<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 3 [Member] | Agency bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="nump">$ 0<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 3 [Member] | Asset-backed securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 3 [Member] | Foreign government bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Level 3 [Member] | Convertible promissory note [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_AvailableForSaleSecuritiesDebtSecurities', window );">Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<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_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_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<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/2147481830/320-10-45-1<br><br>Reference 3: 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(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-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_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CashAndCashEquivalentsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</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_CashAndCashEquivalentsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FinancialInstrumentAxis=us-gaap_CommercialPaperMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=us-gaap_CommercialPaperMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FinancialInstrumentAxis=us-gaap_ForeignGovernmentDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=us-gaap_ForeignGovernmentDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FinancialInstrumentAxis=fgen_ConvertiblePromissoryNoteMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=fgen_ConvertiblePromissoryNoteMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FinancialInstrumentAxis=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_FinancialInstrumentAxis=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_FinancialInstrumentAxis=fgen_USGovernmentBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=fgen_USGovernmentBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FinancialInstrumentAxis=fgen_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=fgen_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>78
<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="idm140628935929728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements - Additional Information (Detail) - 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, 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_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_FairValueAssetsLevel1ToLevel2TransferAmount', window );">Transfers of assets from level 1 to 2</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 20,400,000<span></span>
</td>
<td class="nump">$ 10,500,000<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_fgen_FairValueAssetsLevel2ToLevel1TransferAmount', window );">Transfers of assets from level 2 to 1</a></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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3', window );">Transfers of assets into level 3</a></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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3', window );">Transfers of assets out of level 3</a></td>
<td class="nump">$ 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_fgen_FairValueAssetsLevel1ToLevel2TransferAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets level1 to level2 transfer 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;">fgen_FairValueAssetsLevel1ToLevel2TransferAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_FairValueAssetsLevel2ToLevel1TransferAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets level2 to level1 transfer 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;">fgen_FairValueAssetsLevel2ToLevel1TransferAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 transfer of financial instrument classified as an asset into level 3 of the fair value hierarchy.</p></div>
<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 (c)(3)<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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 transfers of financial instrument classified as an asset out of level 3 of the fair value hierarchy.</p></div>
<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 (c)(3)<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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>79
<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="idm140628926965056">
<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"></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>Jun. 01, 2021 </div>
<div>USD ($) </div>
<div>Option</div>
</th>
<th class="th">
<div>Mar. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee Lease Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Finance lease right-of-use assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 153<span></span>
</td>
<td class="nump">$ 435<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">Finance lease liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">144<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">68,093<span></span>
</td>
<td class="nump">79,893<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80,614<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Cash payment related to lease</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 14,463<span></span>
</td>
<td class="nump">15,497<span></span>
</td>
<td class="nump">$ 10,022<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee Lease Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lessee, operating lease, lease term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<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_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee Lease Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lessee, operating lease, lease term</a></td>
<td class="text">&#160;<span></span>
</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>
</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=fgen_OfficeSpacesMember', window );">Office Spaces</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee Lease Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_LesseeOperatingLeaseExpirationPeriod', window );">Lessee, operating lease, expiration period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2026<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office Equipment [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee Lease Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lessee, operating lease, lease term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office Equipment [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee Lease Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lessee, operating lease, lease term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201901Member', window );">ASC 842 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee Lease Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Finance lease right-of-use assets</a></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">0<span></span>
</td>
<td class="nump">24,654<span></span>
</td>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</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">$ 93,222<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=fgen_ShorensteinPropertiesLLCMember', window );">Shorenstein Properties LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee Lease Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeFinanceLeaseTermOfContract1', window );">Lessee, finance lease, initial lease term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">15 years<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_fgen_LesseeFinanceLeaseExpirationPeriod', window );">Lessee, finance lease, expiration period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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="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=fgen_ShorensteinPropertiesLLCMember', window );">Shorenstein Properties LLC [Member] | Lease Amendment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee Lease Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm', window );">Lessee, finance lease, option to extend the additional lease term</a></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>
</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_fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod', window );">Lessee, finance lease, additional lease expiration period</a></td>
<td class="text">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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate', window );">Percentage increases on each anniversary of rent commencement date 2023</a></td>
<td class="nump">2.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_LesseeFinanceLeaseExistenceOfOptionToExtend', window );">Lessee, finance lease, existence of option to extend</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeFinanceLeaseOptionToExtend', window );">Lessee, finance lease, option to extend</a></td>
<td class="text">Under the terms of the Lease Amendment, the Company has two optional rights to each extend the lease for an additional five 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>
</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_fgen_NumberOfOptionalRightsToExtendLease', window );">Optional rights to extend lease | Option</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>
</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_fgen_ScheduledRentCommencementYearOptionOne', window );">Rent increase commencement year first option</a></td>
<td class="text">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>
</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_fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo', window );">Percentage increases on each anniversary of rent commencement date 2028</a></td>
<td class="nump">3.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_fgen_ScheduledRentCommencementYearOptionTwo', window );">Rent increase commencement year second option</a></td>
<td class="text">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="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=fgen_ShorensteinPropertiesLLCMember', window );">Shorenstein Properties LLC [Member] | Lease Amendment [Member] | ASC 842 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee Lease Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Finance lease right-of-use assets</a></td>
<td class="nump">$ 24,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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">Finance lease liability</a></td>
<td class="nump">32,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_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">93,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_OperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="nump">$ 101,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=fgen_BeijingEconomicTechnologicalDevelopmentAreaMember', window );">Beijing Economic-Technological Development Area [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee Lease Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lessee, operating lease, lease term</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>
</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_fgen_LesseeOperatingLeaseExpirationPeriod', window );">Lessee, operating lease, expiration period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2026<span></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_fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, finance lease, additional lease expiration 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;">fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_LesseeFinanceLeaseExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, finance lease, expiration 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;">fgen_LesseeFinanceLeaseExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, finance lease, option to extend the additional lease term.</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;">fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_LesseeOperatingLeaseExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, operating lease, expiration 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;">fgen_LesseeOperatingLeaseExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_NumberOfOptionalRightsToExtendLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 optional rights to extend lease.</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;">fgen_NumberOfOptionalRightsToExtendLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 increases on anniversary of rent commencement date option two.</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;">fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 increases on each anniversary of rent commencement 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;">fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_ScheduledRentCommencementYearOptionOne">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Rent commencement year option one.</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;">fgen_ScheduledRentCommencementYearOptionOne</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_ScheduledRentCommencementYearOptionTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Scheduled rent commencement year option two.</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;">fgen_ScheduledRentCommencementYearOptionTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_us-gaap_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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><br>Reference 2: 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_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 right-of-use asset from finance 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_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LesseeFinanceLeaseExistenceOfOptionToExtend">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (true false) whether lessee has option to extend finance 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 3<br> -Subparagraph (a)(3)<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_LesseeFinanceLeaseExistenceOfOptionToExtend</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_LesseeFinanceLeaseOptionToExtend">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 terms and conditions of option to extend lessee's finance lease. Includes, but is not limited to, information about option recognized as part of right-of-use asset and 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> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<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_LesseeFinanceLeaseOptionToExtend</td>
</tr>
<tr>
<td style="padding-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_LesseeFinanceLeaseTermOfContract1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<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_LesseeFinanceLeaseTermOfContract1</td>
</tr>
<tr>
<td style="padding-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_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<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_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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 (a)(3)<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_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-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_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_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>
<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_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_PropertyPlantAndEquipmentByTypeAxis=fgen_OfficeSpacesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_OfficeSpacesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_OfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AccountingStandardsUpdate201901Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountingStandardsUpdate201901Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=fgen_ShorensteinPropertiesLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_ShorensteinPropertiesLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LeaseContractualTermAxis=fgen_LeaseAmendmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeaseContractualTermAxis=fgen_LeaseAmendmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=fgen_BeijingEconomicTechnologicalDevelopmentAreaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_BeijingEconomicTechnologicalDevelopmentAreaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628932893984">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Lease Assets and Related 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="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_fgen_FinanceLeaseRightOfUseAssetsCost', window );">Right-of-use assets cost</a></td>
<td class="nump">$ 2,478<span></span>
</td>
<td class="nump">$ 2,367<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_fgen_FinanceLeaseAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(2,325)<span></span>
</td>
<td class="num">(1,932)<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_FinanceLeaseRightOfUseAsset', window );">Finance lease right-of-use assets, net</a></td>
<td class="nump">$ 153<span></span>
</td>
<td class="nump">$ 435<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList', window );">Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="text">Other Assets, Noncurrent<span></span>
</td>
<td class="text">Other Assets, Noncurrent<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_fgen_OperatingLeaseRightOfUseAssetsCost', window );">Right-of-use assets cost</a></td>
<td class="nump">$ 103,010<span></span>
</td>
<td class="nump">$ 101,990<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_fgen_OperatingLeaseAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(34,917)<span></span>
</td>
<td class="num">(22,097)<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_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets, net</a></td>
<td class="nump">68,093<span></span>
</td>
<td class="nump">79,893<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_fgen_FinanceLeaseAndOperatingLeaseAssets', window );">Total lease assets</a></td>
<td class="nump">68,246<span></span>
</td>
<td class="nump">80,328<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Finance lease liabilities</a></td>
<td class="nump">$ 40<span></span>
</td>
<td class="nump">$ 36<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Finance Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="text">Liabilities, Current<span></span>
</td>
<td class="text">Liabilities, Current<span></span>
</td>
</tr>
<tr class="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 liabilities</a></td>
<td class="nump">$ 14,077<span></span>
</td>
<td class="nump">$ 10,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_FinanceLeaseLiabilityNoncurrent', window );">Finance lease liabilities</a></td>
<td class="nump">$ 104<span></span>
</td>
<td class="nump">$ 137<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList', window );">Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="text">Other Liabilities, Noncurrent<span></span>
</td>
<td class="text">Other Liabilities, Noncurrent<span></span>
</td>
</tr>
<tr class="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 liabilities</a></td>
<td class="nump">$ 66,537<span></span>
</td>
<td class="nump">$ 79,593<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_fgen_FinanceLeaseAndOperatingLeaseLiability', window );">Total lease liabilities</a></td>
<td class="nump">$ 80,758<span></span>
</td>
<td class="nump">$ 90,058<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_FinanceLeaseAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finance lease 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;">fgen_FinanceLeaseAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_FinanceLeaseAndOperatingLeaseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finance lease and operating lease 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;">fgen_FinanceLeaseAndOperatingLeaseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_FinanceLeaseAndOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finance lease and operating lease liability.</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;">fgen_FinanceLeaseAndOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_FinanceLeaseRightOfUseAssetsCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finance lease, right-of-use assets - 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;">fgen_FinanceLeaseRightOfUseAssetsCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_OperatingLeaseAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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;">fgen_OperatingLeaseAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_OperatingLeaseRightOfUseAssetsCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, right-of-use assets - 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;">fgen_OperatingLeaseRightOfUseAssetsCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 line item in statement of financial position that includes current finance 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> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-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_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="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_FinanceLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 line item in statement of financial position that includes noncurrent finance 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> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-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_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="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_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 right-of-use asset from finance 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_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 line item in statement of financial position that includes finance lease right-of-use 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 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-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_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="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_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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<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="idm140628928415728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Components of Lease 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_LeaseCostAbstract', window );"><strong>Finance lease cost:</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_FinanceLeaseRightOfUseAssetAmortization', window );">Amortization of right-of-use assets</a></td>
<td class="nump">$ 412<span></span>
</td>
<td class="nump">$ 587<span></span>
</td>
<td class="nump">$ 4,639<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseInterestExpense', window );">Interest on lease liabilities</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">628<span></span>
</td>
</tr>
<tr class="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">17,006<span></span>
</td>
<td class="nump">17,125<span></span>
</td>
<td class="nump">10,722<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubleaseIncome', window );">Sublease income</a></td>
<td class="num">(3,024)<span></span>
</td>
<td class="num">(3,373)<span></span>
</td>
<td class="num">(1,271)<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 );">Total lease cost</a></td>
<td class="nump">$ 14,395<span></span>
</td>
<td class="nump">$ 14,339<span></span>
</td>
<td class="nump">$ 14,718<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_FinanceLeaseInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest expense on finance 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 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: 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 (a)<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_FinanceLeaseInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseRightOfUseAssetAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 right-of-use asset from finance 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/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 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: 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 (a)<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_FinanceLeaseRightOfUseAssetAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LeaseCostAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeaseCostAbstract</td>
</tr>
<tr>
<td style="padding-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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubleaseIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sublease income excluding finance and operating lease 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 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 (e)<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_SubleaseIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>82
<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="idm140628935797696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Schedule of Supplemental Cash Flow Information Related to 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_fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract', window );"><strong>Cash paid for amounts included in the measurement of lease liabilities:</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 cash flows from operating leases</a></td>
<td class="nump">$ 14,463<span></span>
</td>
<td class="nump">$ 15,497<span></span>
</td>
<td class="nump">$ 10,022<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseInterestPaymentOnLiability', window );">Operating cash flows from finance leases</a></td>
<td class="nump">9<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">629<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_fgen_RepaymentsOfFinanceLeaseLiabilities', window );">Financing cash flows from finance leases</a></td>
<td class="nump">148<span></span>
</td>
<td class="nump">135<span></span>
</td>
<td class="nump">5,489<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract', window );"><strong>Non-cash: Right-of-use assets obtained in exchange for new lease liabilities:</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_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability', window );">Finance leases</a></td>
<td class="nump">131<span></span>
</td>
<td class="nump">261<span></span>
</td>
<td class="nump">450<span></span>
</td>
</tr>
<tr class="re">
<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 );">Operating leases</a></td>
<td class="nump">1,278<span></span>
</td>
<td class="nump">1,704<span></span>
</td>
<td class="nump">3,585<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract', window );"><strong>Non-cash: Increase (decrease) resulting from lease modification:</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_FinanceLeaseRightOfUseAsset', window );">Finance lease right-of-use assets</a></td>
<td class="num">(153)<span></span>
</td>
<td class="num">(435)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">68,093<span></span>
</td>
<td class="nump">79,893<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Finance lease liabilities, current</a></td>
<td class="num">(40)<span></span>
</td>
<td class="num">(36)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 liabilities, current</a></td>
<td class="nump">14,077<span></span>
</td>
<td class="nump">10,292<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrent', window );">Finance lease liabilities, non-current</a></td>
<td class="num">(104)<span></span>
</td>
<td class="num">(137)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 liabilities, non-current</a></td>
<td class="nump">66,537<span></span>
</td>
<td class="nump">79,593<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_AccountingStandardsUpdate201901Member', window );">ASC 842 [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_fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract', window );"><strong>Non-cash: Increase (decrease) resulting from lease modification:</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_FinanceLeaseRightOfUseAsset', window );">Finance lease right-of-use assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(24,654)<span></span>
</td>
</tr>
<tr class="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">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">93,222<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Finance lease liabilities, current</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(12,587)<span></span>
</td>
</tr>
<tr class="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 liabilities, current</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">9,221<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrent', window );">Finance lease liabilities, non-current</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(20,009)<span></span>
</td>
</tr>
<tr class="ro">
<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 liabilities, non-current</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 91,943<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid for amounts included in the measurement of lease 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;">fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Non cash increase decrease resulting from lease modification.</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;">fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Non cash right of use assets obtained in exchange for new lease 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;">fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_RepaymentsOfFinanceLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Repayments of finance lease 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;">fgen_RepaymentsOfFinanceLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseInterestPaymentOnLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest paid on finance 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> -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><br>Reference 2: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-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_FinanceLeaseInterestPaymentOnLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 right-of-use asset from finance 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_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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>
<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_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201901Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountingStandardsUpdate201901Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>83
<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="idm140628932494464">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Lease Term and Discount Rate (Detail)<br></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_fgen_WeightedAverageRemainingLeaseTermAbstract', window );"><strong>Weighted-average remaining lease term (years):</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_FinanceLeaseWeightedAverageRemainingLeaseTerm1', window );">Finance leases</a></td>
<td class="text">3 years 10 months 24 days<span></span>
</td>
<td class="text">4 years 10 months 24 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_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Operating leases</a></td>
<td class="text">4 years 9 months 18 days<span></span>
</td>
<td class="text">5 years 9 months 18 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_WeightedAverageDiscountRateAbstract', window );"><strong>Weighted-average discount rate:</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_FinanceLeaseWeightedAverageDiscountRatePercent', window );">Finance leases</a></td>
<td class="nump">6.17%<span></span>
</td>
<td class="nump">6.20%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Operating leases</a></td>
<td class="nump">4.75%<span></span>
</td>
<td class="nump">4.75%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_WeightedAverageDiscountRateAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">fgen_WeightedAverageDiscountRateAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_WeightedAverageRemainingLeaseTermAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</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;">fgen_WeightedAverageRemainingLeaseTermAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_FinanceLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="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_FinanceLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-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_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>84
<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="idm140628935085504">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Maturities of Lease Liabilities (Detail)<br> $ in Thousands</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_FinanceLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Finance Leases</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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 47<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="nump">39<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree', window );">2026</a></td>
<td class="nump">39<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour', window );">2027</a></td>
<td class="nump">37<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive', window );">2028</a></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_FinanceLeaseLiabilityPaymentsDue', window );">Total future lease payments</a></td>
<td class="nump">162<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount', window );">Less: Interest</a></td>
<td class="num">(18)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">Present value of lease liabilities</a></td>
<td class="nump">144<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Operating Leases</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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">17,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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="nump">18,836<span></span>
</td>
</tr>
<tr class="re">
<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="nump">18,082<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">18,476<span></span>
</td>
</tr>
<tr class="re">
<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="nump">17,401<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 lease payments</a></td>
<td class="nump">90,349<span></span>
</td>
</tr>
<tr class="re">
<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: Interest</a></td>
<td class="num">(9,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_OperatingLeaseLiability', window );">Present value of lease liabilities</a></td>
<td class="nump">$ 80,614<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_FinanceLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinanceLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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><br>Reference 2: 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_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for finance 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_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_OperatingLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OperatingLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<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="idm140628932915728">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Components - Schedule of Cash and Cash Equivalents (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_CashAndCashEquivalentsAbstract', window );"><strong>Cash and Cash Equivalents [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_Cash', window );">Cash</a></td>
<td class="nump">$ 63,396<span></span>
</td>
<td class="nump">$ 135,819<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommercialPaperAtCarryingValue', window );">Commercial paper</a></td>
<td class="nump">36,016<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_MoneyMarketFundsAtCarryingValue', window );">Money market funds</a></td>
<td class="nump">12,288<span></span>
</td>
<td class="nump">19,881<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_USGovernmentSecuritiesAtCarryingValue', window );">U.S. government bonds</a></td>
<td class="nump">1,988<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_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">$ 113,688<span></span>
</td>
<td class="nump">$ 155,700<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_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_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_CommercialPaperAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unsecured short-term debt instrument issued by corporations which are 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. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</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_CommercialPaperAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_MoneyMarketFundsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</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_MoneyMarketFundsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_USGovernmentSecuritiesAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (bills, notes or bonds) that are issued by the government of the United States which are 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. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</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_USGovernmentSecuritiesAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>86
<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="idm140628934939088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Balance Sheet Components - Additional Information (Detail) - USD ($)<br></strong></div></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>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jul. 14, 2023</div></th>
<th class="th"><div>Sep. 30, 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>Jul. 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_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale', window );">Other-than-temporary impairment loss</a></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>
</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_fgen_SuppliesNet', window );">Net unbilled co-development revenue</a></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">$ 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_LossContingencyReceivableCurrent', window );">Litigation settlement receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,518,000<span></span>
</td>
<td class="nump">10,017,000<span></span>
</td>
<td class="nump">$ 10,170,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent', window );">API and bulk drug product price true-up</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50,978,000<span></span>
</td>
<td class="nump">75,055,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_fgen_AccruedLitigationSettlement', window );">Accrued litigation settlement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent', window );">Restructuring plan, expected reduction to workforce, percentage</a></td>
<td class="nump">32.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringCharges', window );">Restructuring plan, non-recurring charges</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,600,000<span></span>
</td>
<td class="nump">12,606,000<span></span>
</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="ro">
<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 );">Cash payments for restructuring</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,900,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_fgen_AccruedRestructuringCharges', window );">Accrued restructuring charges</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,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>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">113,688,000<span></span>
</td>
<td class="nump">155,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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_LicenseAgreementWithEluminexMember', window );">Eluminex Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments', window );">Aggregate consideration received for milestone and upfront payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,000,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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember', window );">AstraZeneca Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_SuppliesNet', window );">Net unbilled co-development revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,500,000<span></span>
</td>
<td class="nump">17,500,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_GeographicDistributionAxis=us-gaap_GeographicDistributionForeignMember', window );">Foreign subsidiaries [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 32,200,000<span></span>
</td>
<td class="nump">$ 92,500,000<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_fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 API and bulk drug product price true-up 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;">fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_AccruedLitigationSettlement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 litigation settlement.</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;">fgen_AccruedLitigationSettlement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_AccruedRestructuringCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 restructuring charges.</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;">fgen_AccruedRestructuringCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Collaborative arrangement aggregate consideration for milestone and upfront 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;">fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_SuppliesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Supplies, 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;">fgen_SuppliesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingencyReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 receivable related to a loss contingency accrual that is expected to be collected within one year or the normal operating cycle, if longer. For example, an insurance recovery 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 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-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_LossContingencyReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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-than-temporary impairment (OTTI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), recognized in earnings and other comprehensive loss (OCI).</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/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 8A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-8A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 positions eliminated during the period as a percentage of total positions eliminated during the period in connection with the restructuring plan(s).</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_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent</td>
</tr>
<tr>
<td style="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_RestructuringCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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><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)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482047/420-10-45-3<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 1<br> -Subparagraph (SAB Topic 5.P.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-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_RestructuringCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<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/2147481800/320-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aaa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<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/2147481800/320-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<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/2147481800/320-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 8: 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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 9: 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 10: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 11: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 12: 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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-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_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_LicenseAgreementWithEluminexMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_LicenseAgreementWithEluminexMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_GeographicDistributionAxis=us-gaap_GeographicDistributionForeignMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GeographicDistributionAxis=us-gaap_GeographicDistributionForeignMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>87
<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="idm140628933482176">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Components - Summary of Amortized Cost, Gross Unrealized Holding Gains or Losses, and Fair Value of Available-for-Sale Investments (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_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">$ 121,874<span></span>
</td>
<td class="nump">$ 273,189<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Holding Gains</a></td>
<td class="nump">30<span></span>
</td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Holding Losses</a></td>
<td class="num">(6)<span></span>
</td>
<td class="num">(2,538)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="nump">121,898<span></span>
</td>
<td class="nump">270,656<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_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">13,988<span></span>
</td>
<td class="nump">83,080<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Holding Gains</a></td>
<td class="nump">9<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Holding Losses</a></td>
<td class="num">(5)<span></span>
</td>
<td class="num">(1,072)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="nump">13,992<span></span>
</td>
<td class="nump">82,008<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_FinancialInstrumentAxis=us-gaap_CommercialPaperMember', window );">Commercial paper [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">52,273<span></span>
</td>
<td class="nump">57,381<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Holding Gains</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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Holding Losses</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_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="nump">52,273<span></span>
</td>
<td class="nump">57,381<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_FinancialInstrumentAxis=us-gaap_USTreasuryAndGovernmentMember', window );">U.S. government bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">45,783<span></span>
</td>
<td class="nump">112,547<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Holding Gains</a></td>
<td class="nump">20<span></span>
</td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Holding Losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,207)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="nump">45,803<span></span>
</td>
<td class="nump">111,345<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_FinancialInstrumentAxis=us-gaap_BondsMember', window );">Agency bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">9,830<span></span>
</td>
<td class="nump">11,690<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Holding Gains</a></td>
<td class="nump">1<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Holding Losses</a></td>
<td class="num">(1)<span></span>
</td>
<td class="num">(222)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="nump">$ 9,830<span></span>
</td>
<td class="nump">11,468<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_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,484<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Holding Gains</a></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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Holding Losses</a></td>
<td class="text">&#160;<span></span>
</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_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,474<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_FinancialInstrumentAxis=us-gaap_ForeignGovernmentDebtMember', window );">Foreign government bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,007<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Holding Gains</a></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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Holding Losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(27)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,980<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_FinancialInstrumentAxis=fgen_ConvertiblePromissoryNoteMember', window );">Convertible promissory note [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Holding Gains</a></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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Holding Losses</a></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_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax, of unrealized gain in accumulated other comprehensive income (AOCI) on 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/2003/role/disclosureRef<br> -Topic 320<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/2147481800/320-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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax, of unrealized loss in accumulated other comprehensive income (AOCI) on 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/2003/role/disclosureRef<br> -Topic 320<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/2147481800/320-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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AvailableForSaleDebtSecuritiesAmortizedCostBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortized cost 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/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)(1))<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 320<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/2147481800/320-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-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_AvailableForSaleDebtSecuritiesAmortizedCostBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<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/2147481830/320-10-45-1<br><br>Reference 3: 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(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-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_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<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/2147481800/320-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aaa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<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/2147481800/320-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<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/2147481800/320-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 8: 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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 9: 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 10: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 11: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 12: 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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-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_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-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_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FinancialInstrumentAxis=us-gaap_CommercialPaperMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=us-gaap_CommercialPaperMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FinancialInstrumentAxis=us-gaap_USTreasuryAndGovernmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=us-gaap_USTreasuryAndGovernmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FinancialInstrumentAxis=us-gaap_BondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=us-gaap_BondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FinancialInstrumentAxis=us-gaap_ForeignGovernmentDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=us-gaap_ForeignGovernmentDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FinancialInstrumentAxis=fgen_ConvertiblePromissoryNoteMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=fgen_ConvertiblePromissoryNoteMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>88
<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="idm140628932560784">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Components - Summary of Available for Sale Securities in Unrealized Loss Position, Fair Value and Gross Unrealized Loss By Length of Time Security in Continual Unrealized Loss Position (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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract', window );"><strong>Debt Securities, Available-for-Sale, Unrealized Loss Position [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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Available for sale securities in continual unrealized loss position, less than 12 months, estimated fair value</a></td>
<td class="nump">$ 9,971<span></span>
</td>
<td class="nump">$ 31,538<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, less than 12 months, gross unrealized holding losses</a></td>
<td class="num">(1)<span></span>
</td>
<td class="num">(170)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Available for sale securities in continual unrealized loss position, 12 months or more, estimated fair value</a></td>
<td class="nump">3,495<span></span>
</td>
<td class="nump">159,627<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, 12 months or more, gross unrealized holding losses</a></td>
<td class="num">(5)<span></span>
</td>
<td class="num">(2,368)<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_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Available for sale securities in continual unrealized loss position, estimated fair value</a></td>
<td class="nump">13,466<span></span>
</td>
<td class="nump">191,165<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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, gross unrealized holding losses</a></td>
<td class="num">(6)<span></span>
</td>
<td class="num">(2,538)<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_CorporateBondSecuritiesMember', window );">Corporate bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract', window );"><strong>Debt Securities, Available-for-Sale, Unrealized Loss Position [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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Available for sale securities in continual unrealized loss position, less than 12 months, estimated fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">6,738<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, less than 12 months, gross unrealized holding losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(147)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Available for sale securities in continual unrealized loss position, 12 months or more, estimated fair value</a></td>
<td class="nump">3,495<span></span>
</td>
<td class="nump">75,270<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, 12 months or more, gross unrealized holding losses</a></td>
<td class="num">(5)<span></span>
</td>
<td class="num">(925)<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_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Available for sale securities in continual unrealized loss position, estimated fair value</a></td>
<td class="nump">3,495<span></span>
</td>
<td class="nump">82,008<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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, gross unrealized holding losses</a></td>
<td class="num">(5)<span></span>
</td>
<td class="num">(1,072)<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_USTreasuryAndGovernmentMember', window );">U.S. government bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract', window );"><strong>Debt Securities, Available-for-Sale, Unrealized Loss Position [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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Available for sale securities in continual unrealized loss position, less than 12 months, estimated fair value</a></td>
<td class="nump">4,984<span></span>
</td>
<td class="nump">22,326<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, less than 12 months, gross unrealized holding losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(13)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Available for sale securities in continual unrealized loss position, 12 months or more, estimated fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">67,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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, 12 months or more, gross unrealized holding losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,194)<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_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Available for sale securities in continual unrealized loss position, estimated fair value</a></td>
<td class="nump">4,984<span></span>
</td>
<td class="nump">90,235<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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, gross unrealized holding losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,207)<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_BondsMember', window );">Agency bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract', window );"><strong>Debt Securities, Available-for-Sale, Unrealized Loss Position [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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Available for sale securities in continual unrealized loss position, less than 12 months, estimated fair value</a></td>
<td class="nump">4,987<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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, less than 12 months, gross unrealized holding losses</a></td>
<td class="num">(1)<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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Available for sale securities in continual unrealized loss position, 12 months or more, estimated fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">11,468<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, 12 months or more, gross unrealized holding losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(222)<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_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Available for sale securities in continual unrealized loss position, estimated fair value</a></td>
<td class="nump">4,987<span></span>
</td>
<td class="nump">11,468<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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, gross unrealized holding losses</a></td>
<td class="num">$ (1)<span></span>
</td>
<td class="num">(222)<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_AssetBackedSecuritiesMember', window );">Asset-backed securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract', window );"><strong>Debt Securities, Available-for-Sale, Unrealized Loss Position [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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Available for sale securities in continual unrealized loss position, less than 12 months, estimated fair value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,474<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, less than 12 months, gross unrealized holding losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Available for sale securities in continual unrealized loss position, 12 months or more, estimated fair value</a></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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, 12 months or more, gross unrealized holding losses</a></td>
<td class="text">&#160;<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_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Available for sale securities in continual unrealized loss position, estimated fair value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,474<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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, gross unrealized holding losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10)<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_ForeignGovernmentDebtMember', window );">Foreign government bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract', window );"><strong>Debt Securities, Available-for-Sale, Unrealized Loss Position [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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Available for sale securities in continual unrealized loss position, less than 12 months, estimated fair value</a></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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, less than 12 months, gross unrealized holding losses</a></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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Available for sale securities in continual unrealized loss position, 12 months or more, estimated fair value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, 12 months or more, gross unrealized holding losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(27)<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_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Available for sale securities in continual unrealized loss position, estimated fair value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,980<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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Available for sale securities in continual unrealized loss position, gross unrealized holding losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (27)<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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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/exampleRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479081/326-30-55-8<br><br>Reference 2: 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> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract</td>
</tr>
<tr>
<td style="padding-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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for more than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial 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/exampleRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479081/326-30-55-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-7<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for 12 months or longer, without allowance for credit loss. Includes beneficial interest in securitized financial asset.</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/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-7<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial 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/exampleRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479081/326-30-55-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-7<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.</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/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-7<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-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_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtSecuritiesAvailableForSaleUnrealizedLossPosition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position without allowance for credit 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/exampleRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479081/326-30-55-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-6<br><br>Reference 3: 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> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-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_DebtSecuritiesAvailableForSaleUnrealizedLossPosition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset.</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/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-6<br><br>Reference 2: 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> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-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_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InvestmentTypeAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_USTreasuryAndGovernmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_USTreasuryAndGovernmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_BondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ForeignGovernmentDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ForeignGovernmentDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>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="idm140628932225872">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Components - Schedule of Inventory (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_ScheduleOfInvestmentsAbstract', window );"><strong>Schedule of Investments [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_InventoryRawMaterials', window );">Raw materials</a></td>
<td class="nump">$ 1,376<span></span>
</td>
<td class="nump">$ 1,241<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcess', window );">Work-in-progress</a></td>
<td class="nump">34,614<span></span>
</td>
<td class="nump">36,003<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Finished goods</a></td>
<td class="nump">5,575<span></span>
</td>
<td class="nump">3,192<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</a></td>
<td class="nump">$ 41,565<span></span>
</td>
<td class="nump">$ 40,436<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_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and LIFO reserves of completed merchandise or goods expected to be sold 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/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(6)(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_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and LIFO reserves of raw materials 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/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(6)(a)(4))<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_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InventoryWorkInProcess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and LIFO reserves of merchandise or goods in the production process expected to be completed 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/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(6)(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_InventoryWorkInProcess</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ScheduleOfInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-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>90
<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="idm140628932227472">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Components - Schedule of 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_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract', window );"><strong>Prepaid Expense and Other Assets, Current [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_Supplies', window );">Contract assets</a></td>
<td class="nump">$ 26,481<span></span>
</td>
<td class="nump">$ 17,488<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_fgen_DeferredRevenuesFromAssociatedContracts', window );">Deferred revenues from associated contracts</a></td>
<td class="num">(26,481)<span></span>
</td>
<td class="num">(17,488)<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_fgen_SuppliesNet', window );">Net contract assets</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_LossContingencyReceivableCurrent', window );">Insurance proceeds receivable for litigation settlement</a></td>
<td class="nump">28,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseCurrent', window );">Prepaid assets</a></td>
<td class="nump">6,644<span></span>
</td>
<td class="nump">9,730<span></span>
</td>
</tr>
<tr class="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 current assets</a></td>
<td class="nump">6,711<span></span>
</td>
<td class="nump">4,353<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">$ 41,855<span></span>
</td>
<td class="nump">$ 14,083<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_DeferredRevenuesFromAssociatedContracts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenues from associated contracts.</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;">fgen_DeferredRevenuesFromAssociatedContracts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_SuppliesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Supplies, 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;">fgen_SuppliesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LossContingencyReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 receivable related to a loss contingency accrual that is expected to be collected within one year or the normal operating cycle, if longer. For example, an insurance recovery 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 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-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_LossContingencyReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PrepaidExpenseAndOtherAssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PrepaidExpenseAndOtherAssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-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_PrepaidExpenseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-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(7))<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 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482955/340-10-05-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Supplies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid in advance for supplies 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)(7)<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 (g)<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_Supplies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>91
<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="idm140628933297424">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Components - Schedule of Property 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_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 150,056<span></span>
</td>
<td class="nump">$ 149,287<span></span>
</td>
</tr>
<tr class="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">(136,930)<span></span>
</td>
<td class="num">(128,682)<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 );">Property and equipment, net</a></td>
<td class="nump">13,126<span></span>
</td>
<td class="nump">20,605<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Property and equipment, gross</a></td>
<td class="nump">102,109<span></span>
</td>
<td class="nump">102,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_PropertyPlantAndEquipmentByTypeAxis=fgen_LaboratoryEquipmentMember', window );">Laboratory Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">22,757<span></span>
</td>
<td class="nump">21,175<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_MachineryAndEquipmentMember', window );">Machinery [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="re">
<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 );">Property and equipment, gross</a></td>
<td class="nump">9,454<span></span>
</td>
<td class="nump">9,642<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_ComputerEquipmentMember', window );">Computer Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">9,490<span></span>
</td>
<td class="nump">9,486<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_FurnitureAndFixturesMember', window );">Furniture and Fixtures [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="re">
<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 );">Property and equipment, gross</a></td>
<td class="nump">6,184<span></span>
</td>
<td class="nump">6,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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember', window );">Construction in progress [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 62<span></span>
</td>
<td class="nump">$ 204<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_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_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=fgen_LaboratoryEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_LaboratoryEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComputerEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ConstructionInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConstructionInProgressMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>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="idm140628925853376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Components - Schedule of Accrued and Other Current 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_AccruedLiabilitiesCurrentAbstract', window );"><strong>Accrued Liabilities, Current [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_AccruedPreclinicalAndClinicalTrialCurrent', window );">Preclinical and clinical trial accruals</a></td>
<td class="nump">$ 27,663<span></span>
</td>
<td class="nump">$ 57,780<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_fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent', window );">API and bulk drug product price true-up</a></td>
<td class="nump">50,978<span></span>
</td>
<td class="nump">75,055<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_fgen_LitigationSettlementCurrent', window );">Litigation settlement</a></td>
<td class="nump">28,500<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_EmployeeRelatedLiabilitiesCurrent', window );">Payroll and related accruals</a></td>
<td class="nump">20,267<span></span>
</td>
<td class="nump">22,562<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_fgen_AccruedCoPromotionExpensesCurrent', window );">Accrued co-promotion expenses - current</a></td>
<td class="nump">10,309<span></span>
</td>
<td class="nump">36,677<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_fgen_AccruedProfitShareCurrent', window );">Roxadustat profit share to AstraZeneca</a></td>
<td class="nump">7,084<span></span>
</td>
<td class="nump">7,280<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_fgen_PropertyTaxesAndOtherCurrent', window );">Property taxes and other taxes</a></td>
<td class="nump">6,615<span></span>
</td>
<td class="nump">7,691<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedProfessionalFeesCurrent', window );">Professional services</a></td>
<td class="nump">7,103<span></span>
</td>
<td class="nump">5,480<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent', window );">Current portion of liability related to sale of future revenues</a></td>
<td class="nump">5,654<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_fgen_AccruedRestructuringChargeCurrent', window );">Accrued restructuring charge</a></td>
<td class="nump">3,697<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_OtherAccruedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">5,021<span></span>
</td>
<td class="nump">7,248<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_AccruedLiabilitiesCurrent', window );">Total accrued and other current liabilities</a></td>
<td class="nump">$ 172,891<span></span>
</td>
<td class="nump">$ 219,773<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 API and bulk drug product price true-up 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;">fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_AccruedCoPromotionExpensesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 co-promotion expenses - 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;">fgen_AccruedCoPromotionExpensesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_AccruedPreclinicalAndClinicalTrialCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 pre-clinical and clinical trial activities, including those performed by third parties. 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fgen_AccruedPreclinicalAndClinicalTrialCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_AccruedProfitShareCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 profit share 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;">fgen_AccruedProfitShareCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_AccruedRestructuringChargeCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 restructuring charge 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;">fgen_AccruedRestructuringChargeCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Liability related to sale of future revenues 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;">fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_LitigationSettlementCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Litigation settlement 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;">fgen_LitigationSettlementCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_PropertyTaxesAndOtherCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Property taxes and other 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;">fgen_PropertyTaxesAndOtherCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccruedLiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccruedLiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-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_AccruedProfessionalFeesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="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_AccruedProfessionalFeesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>93
<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="idm140628927342128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Liability Related to Sale of Future Revenues - Additional Information (Detail) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Nov. 17, 2022</div></th>
<th class="th"><div>Nov. 04, 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>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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues', window );">Transaction costs related to sale of future revenues</a></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,453,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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">147,752,000<span></span>
</td>
<td class="nump">140,734,000<span></span>
</td>
<td class="nump">235,309,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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember', window );">Drug Product Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18,753,000<span></span>
</td>
<td class="nump">$ 11,086,000<span></span>
</td>
<td class="nump">962,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_CounterpartyNameAxis=fgen_NovaquestCapitalManagementMember', window );">NovaQuest Capital Management [Member] | Revenue Interest Financing Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues', window );">Transaction costs related to sale of future revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,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>
</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_fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues', window );">Effective annual interest rate related to sale of future revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16.03%<span></span>
</td>
<td class="nump">19.67%<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_CounterpartyNameAxis=fgen_NovaquestCapitalManagementMember', window );">NovaQuest Capital Management [Member] | Payment Cap Date on or before December 31, 2028 [Member] | Revenue Interest Financing Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_MaximumPaymentCapAmount', window );">Maximum payment cap amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100,000,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_CounterpartyNameAxis=fgen_NovaquestCapitalManagementMember', window );">NovaQuest Capital Management [Member] | Payment Cap Date on or after January 1, 2029 [Member] | Revenue Interest Financing Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_MaximumPaymentCapAmount', window );">Maximum payment cap amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">112,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_CounterpartyNameAxis=fgen_NovaquestCapitalManagementMember', window );">NovaQuest Capital Management [Member] | Payment Cap Date after January 1, 2030 [Member] | Revenue Interest Financing Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_MaximumPaymentCapAmount', window );">Maximum payment cap amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">125,000,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_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | NovaQuest Capital Management [Member] | Revenue Interest Financing Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PrepaymentAmount', window );">Prepayment amount of 2024 to 2030</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80,000,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_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | NovaQuest Capital Management [Member] | Payment Period One [Member] | Revenue Interest Financing Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_RevenueInterestPayment', window );">Revenue interest payment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">62,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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] | NovaQuest Capital Management [Member] | Payment Period Two [Member] | Revenue Interest Financing Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_RevenueInterestPayment', window );">Revenue interest payment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">125,000,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_RangeAxis=srt_MaximumMember', window );">Maximum [Member] | NovaQuest Capital Management [Member] | Revenue Interest Financing Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PrepaymentAmount', window );">Prepayment amount of 2024 to 2030</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">125,000,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_ProductOrServiceAxis=us-gaap_ProductMember', window );">Product [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,949,000<span></span>
</td>
<td class="nump">$ 82,869,000<span></span>
</td>
<td class="nump">47,638,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_ProductOrServiceAxis=us-gaap_ProductMember', window );">Product [Member] | NovaQuest Capital Management [Member] | Revenue Interest Financing Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_RevenueInterestPayment', window );">Revenue interest payment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,000,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_ProductOrServiceAxis=us-gaap_LicenseMember', window );">License [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,649,000<span></span>
</td>
<td class="nump">22,590,000<span></span>
</td>
<td class="nump">116,434,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_ProductOrServiceAxis=fgen_DevelopmentAndOtherRevenueMember', window );">Other Revenue - Contract Manufacturing [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,401,000<span></span>
</td>
<td class="nump">24,189,000<span></span>
</td>
<td class="nump">$ 70,275,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_TypeOfArrangementAxis=fgen_AstellasAgreementMember', window );">Astellas Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_FutureRevenueGranted', window );">Future revenue granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 50,000,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_fgen_PercentageOfRevenueInterestOnGlobalNetSales', window );">Percentage of revenue interest on global net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_fgen_ReceivedFromSaleOfRevenue', window );">Received from sale of revenue</a></td>
<td class="nump">$ 49,800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_GrossProceedsReceivedFromSaleOfRevenue', window );">Gross proceeds received from sale of revenue</a></td>
<td class="nump">$ 50,000,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_TypeOfArrangementAxis=fgen_AstellasAgreementMember', window );">Astellas Agreement [Member] | Regulatory Milestone [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total 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">25,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TypeOfArrangementAxis=fgen_AstellasAgreementMember', window );">Astellas Agreement [Member] | Drug Product Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,800,000<span></span>
</td>
<td class="nump">11,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_NonCashInterestExpenseRelatedToDrugProductRevenue', window );">Non-cash interest expense related to drug product revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,700,000<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TypeOfArrangementAxis=fgen_AstellasAgreementMember', window );">Astellas Agreement [Member] | Development Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total 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">2,400,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_TypeOfArrangementAxis=fgen_AstellasAgreementMember', window );">Astellas Agreement [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_RevenuePaymentCapAmount', window );">Revenue payment cap 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="nump">125,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TypeOfArrangementAxis=fgen_AstellasAgreementMember', window );">Astellas Agreement [Member] | Product [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PercentageOfRevenueSold', window );">Percentage of revenue sold</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22.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>
</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_TypeOfArrangementAxis=fgen_AstellasAgreementMember', window );">Astellas Agreement [Member] | Milestone payments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PercentageOfRevenueSold', window );">Percentage of revenue sold</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_TypeOfArrangementAxis=fgen_AstellasAgreementMember', window );">Astellas Agreement [Member] | Milestone payments [Member] | Payment Period One [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PercentageOfRevenueSold', window );">Percentage of revenue sold</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_TypeOfArrangementAxis=fgen_AstellasAgreementMember', window );">Astellas Agreement [Member] | License [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total 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">$ 22,600,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_fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Annual Interest Rate Related To Sale Of Future Revenues</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;">fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_FutureRevenueGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Future revenue granted.</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;">fgen_FutureRevenueGranted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_GrossProceedsReceivedFromSaleOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 proceeds received from sale of revenue.</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;">fgen_GrossProceedsReceivedFromSaleOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_MaximumPaymentCapAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum payment cap 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;">fgen_MaximumPaymentCapAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_NonCashInterestExpenseRelatedToDrugProductRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Non-cash interest expense related to drug product revenue</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;">fgen_NonCashInterestExpenseRelatedToDrugProductRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payments for transaction costs related to sale of future revenues.</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;">fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_PercentageOfRevenueInterestOnGlobalNetSales">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue interest on global net sales.</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;">fgen_PercentageOfRevenueInterestOnGlobalNetSales</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_PercentageOfRevenueSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue sold.</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;">fgen_PercentageOfRevenueSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_PrepaymentAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Prepayment 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;">fgen_PrepaymentAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_ReceivedFromSaleOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Received from sale of revenue.</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;">fgen_ReceivedFromSaleOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_RevenueInterestPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest 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;">fgen_RevenueInterestPayment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_RevenuePaymentCapAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 payment cap 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;">fgen_RevenuePaymentCapAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 808<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/2147479402/808-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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems</td>
</tr>
<tr>
<td style="padding-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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding 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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=fgen_DrugProductRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_CounterpartyNameAxis=fgen_NovaquestCapitalManagementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CounterpartyNameAxis=fgen_NovaquestCapitalManagementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_RevenueInterestFinancingAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_RevenueInterestFinancingAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AwardDateAxis=fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AwardDateAxis=fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AwardDateAxis=fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=fgen_PaymentPeriodOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AwardDateAxis=fgen_PaymentPeriodOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=fgen_PaymentPeriodTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AwardDateAxis=fgen_PaymentPeriodTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_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_LicenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LicenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_DevelopmentAndOtherRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_DevelopmentAndOtherRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_AstellasAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstellasAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_RegulatoryMilestonesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis=fgen_RegulatoryMilestonesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=fgen_DevelopmentRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=fgen_DevelopmentRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_MilestonePaymentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_MilestonePaymentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>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="idm140628935249296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Liability Related to Sale of Future Revenues - Schedule of Activity of Liability Related to Sale of Future Revenues (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_fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract', window );"><strong>Liability Related to Sale of Future Royalties [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_LiabilityRelatedToSaleOfFutureRevenues', window );">Liability related to sale of future revenues - beginning balance</a></td>
<td class="nump">$ 49,333<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_fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues', window );">Interest expense recognized</a></td>
<td class="nump">7,734<span></span>
</td>
<td class="nump">$ 1,036<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_fgen_LiabilityRelatedToSaleOfFutureRevenues', window );">Liability related to sale of future revenues - ending balance</a></td>
<td class="nump">57,067<span></span>
</td>
<td class="nump">$ 49,333<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_fgen_LiabilityRelatedToSaleOfRevenueCurrent', window );">Less: Current portion classified to accrued and other current liabilities</a></td>
<td class="num">(5,654)<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_fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent', window );">Liability related to sale of future revenues, non-current</a></td>
<td class="nump">$ 51,413<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_fgen_LiabilityRelatedToSaleOfFutureRevenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Liability related to sale of future revenues.</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;">fgen_LiabilityRelatedToSaleOfFutureRevenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Liability related to sale of future royalties.</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;">fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_LiabilityRelatedToSaleOfRevenueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Liability related to sale of revenue 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;">fgen_LiabilityRelatedToSaleOfRevenueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Liability related to sale of revenues 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;">fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Non cash interest expense related to sale of future revenues.</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;">fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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="idm140628934940208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Senior Secured Term Loan Facilities - Additional Information (Detail) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 29, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>May 08, 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_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 );">Amount received</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 74.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_DeferredFinanceCostsNet', window );">Issuance cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.9<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_fgen_DebtInstrumentAccruedInterest', window );">Accrued interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebt', window );">Interest expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7.4<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=fgen_DebtFinancingAgreementMember', window );">Debt Financing Agreement [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_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_DebtInstrumentInterestRateDuringPeriod', window );">Interest rate per annum</a></td>
<td class="nump">14.00%<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_fgen_RepaymentDescription', window );">Repayment description</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">The Term Loans shall mature on May 8, 2026. The Term Loans will not be subject to amortization payments. The Company is permitted to prepay the Term Loans from time to time, in whole or in part, subject to payment of a make-whole amount equal to the unpaid principal amount of the portion of the Term Loans being repaid or prepaid, plus accrued and unpaid interest of the portion of the Term Loans being repaid or prepaid, plus an amount equal to the remaining scheduled interest payments due on such portion of the Term Loans being repaid or prepaid as if such Term Loans were to remain outstanding until the scheduled maturity date. <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Maturity date</a></td>
<td class="text">May  08,  2026<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=fgen_DebtFinancingAgreementMember', window );">Debt Financing Agreement [Member] | Minimum [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_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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts', window );">Unrestricted cash and cash equivalent balance required to maintain in accounts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 30.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_LongtermDebtTypeAxis=fgen_InitialTermLoanMember', window );">Initial Term Loan [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_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_LongTermDebt', window );">Term loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">75.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_DebtInstrumentInterestRateDuringPeriod', window );">Interest rate per annum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16.13%<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_fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts', window );">Issuance costs and related transaction costs, amortised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.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_LongtermDebtTypeAxis=fgen_InitialTermLoanMember', window );">Initial Term Loan [Member] | Debt Financing Agreement [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_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_LongTermDebt', window );">Term loan</a></td>
<td class="nump">$ 75.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_LongtermDebtTypeAxis=fgen_DelayedDrawTermLoanMember', window );">Delayed Draw Term Loan [Member] | Debt Financing Agreement [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_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_LongTermDebt', window );">Term loan</a></td>
<td class="nump">37.5<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_LongtermDebtTypeAxis=fgen_DelayedDrawTermLoanTwoMember', window );">Delayed Draw Term Loan 2 | Debt Financing Agreement [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_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_LongTermDebt', window );">Term loan</a></td>
<td class="nump">$ 37.5<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_fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs and related transaction 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;">fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_DebtInstrumentAccruedInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accrued interest.</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;">fgen_DebtInstrumentAccruedInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_RepaymentDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Repayment description.</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;">fgen_RepaymentDescription</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrestricted cash and cash equivalent balance maintain in accounts.</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;">fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_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_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_InterestExpenseDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for 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/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)<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 (SX 210.5-03.8)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: 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 (b)<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_InterestExpenseDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_DebtInstrumentAxis=fgen_DebtFinancingAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_DebtFinancingAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LongtermDebtTypeAxis=fgen_InitialTermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongtermDebtTypeAxis=fgen_InitialTermLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LongtermDebtTypeAxis=fgen_DelayedDrawTermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongtermDebtTypeAxis=fgen_DelayedDrawTermLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LongtermDebtTypeAxis=fgen_DelayedDrawTermLoanTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongtermDebtTypeAxis=fgen_DelayedDrawTermLoanTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628933530832">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Senior Secured Term Loan Facilities - Summary of Senior Secured Term Loan Facilities (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>May 08, 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_DebtInstrumentCarryingAmount', window );">Principal of senior secured term loan facilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 74,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_SecuredLongTermDebt', window );">Senior secured term loan facilities, non-current</a></td>
<td class="nump">$ 71,934<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_LongtermDebtTypeAxis=fgen_SeniorSecuredTermLoanFacilitiesMember', window );">Senior Secured Term Loan Facilities [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_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 of senior secured term loan facilities</a></td>
<td class="nump">75,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_fgen_UnamortizedIssuanceCostsAndTransactionCosts', window );">Less: Unamortized issuance costs and transaction costs</a></td>
<td class="num">(3,066)<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_LongTermDebt', window );">Senior secured term loan facilities, ending balance</a></td>
<td class="nump">71,934<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_fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities', window );">Less: Current Portion classified to accrued and other current liabilities</a></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_SecuredLongTermDebt', window );">Senior secured term loan facilities, non-current</a></td>
<td class="nump">$ 71,934<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_fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Current portion classified to accrued and other current 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;">fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_UnamortizedIssuanceCostsAndTransactionCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unamortized issuance costs and transaction 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;">fgen_UnamortizedIssuanceCostsAndTransactionCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_SecuredLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 collateralized debt obligations with maturities initially due after one year or beyond the operating cycle, if longer, excluding the current portion. Obligations include, but not limited to, mortgage loans, chattel loans, and other borrowings secured by 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 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_SecuredLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongtermDebtTypeAxis=fgen_SeniorSecuredTermLoanFacilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongtermDebtTypeAxis=fgen_SeniorSecuredTermLoanFacilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>97
<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="idm140628935381184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Product Development Obligations - Additional Information (Detail)<br> $ in Millions</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>DevelopmentObligation</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_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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_NumberOfProductDevelopmentObligations', window );">Number of product development obligations | DevelopmentObligation</a></td>
<td class="nump">11<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_fgen_AccruedProductDevelopmentCostsExcludingInterest', window );">Accrued product development costs excluding interest</a></td>
<td class="nump">$ 10.4<span></span>
</td>
<td class="nump">$ 10.1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPayableCurrentAndNoncurrent', window );">Accrued Interest</a></td>
<td class="nump">$ 7.3<span></span>
</td>
<td class="nump">$ 6.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_us-gaap_VariableRateAxis=fgen_BankOfFinlandInterestRateMember', window );">Bank of Finland Interest Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_LoansReceivableBasisSpreadOnVariableRate', window );">Percentage points deducted to reference rate to compute effective interest rate</a></td>
<td class="nump">1.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_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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 );">Interest rate on product development advances</a></td>
<td class="nump">3.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_fgen_AccruedProductDevelopmentCostsExcludingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Product Development Costs Excluding Interest.</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;">fgen_AccruedProductDevelopmentCostsExcludingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_NumberOfProductDevelopmentObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 product development obligations.</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;">fgen_NumberOfProductDevelopmentObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_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_InterestPayableCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest payable on debt, including, but not limited to, trade payables.</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)(15)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: 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.15(5))<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_InterestPayableCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LoansReceivableBasisSpreadOnVariableRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 added to reference rate used to compute variable rate on loan receivable.</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_LoansReceivableBasisSpreadOnVariableRate</td>
</tr>
<tr>
<td style="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_VariableRateAxis=fgen_BankOfFinlandInterestRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VariableRateAxis=fgen_BankOfFinlandInterestRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>98
<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="idm140628941113616">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Commitments and Contingencies - Summary of Outstanding Non-cancelable Purchase Obligations (Detail)<br> $ in Thousands</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_RecordedUnconditionalPurchaseObligationLineItems', window );"><strong>Recorded Unconditional Purchase Obligation [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_RecordedUnconditionalPurchaseObligationDueWithinOneYear', window );">Purchase obligations due 2024</a></td>
<td class="nump">$ 30,318<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear', window );">Purchase obligations due 2025</a></td>
<td class="nump">5,973<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_RecordedUnconditionalPurchaseObligation', window );">Total</a></td>
<td class="nump">36,291<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_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis=fgen_ManufactureAndSupplyOfPamrevlumabMember', window );">Manufacture and Supply of Pamrevlumab [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_RecordedUnconditionalPurchaseObligationLineItems', window );"><strong>Recorded Unconditional Purchase Obligation [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_RecordedUnconditionalPurchaseObligationDueWithinOneYear', window );">Purchase obligations due 2024</a></td>
<td class="nump">17,995<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear', window );">Purchase obligations due 2025</a></td>
<td class="nump">4,827<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_RecordedUnconditionalPurchaseObligation', window );">Total</a></td>
<td class="nump">22,822<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_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis=fgen_ManufactureAndSupplyOfRoxadustatMember', window );">Manufacture and Supply of Roxadustat [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_RecordedUnconditionalPurchaseObligationLineItems', window );"><strong>Recorded Unconditional Purchase Obligation [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_RecordedUnconditionalPurchaseObligationDueWithinOneYear', window );">Purchase obligations due 2024</a></td>
<td class="nump">573<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear', window );">Purchase obligations due 2025</a></td>
<td class="nump">1,146<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_RecordedUnconditionalPurchaseObligation', window );">Total</a></td>
<td class="nump">1,719<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_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis=fgen_OtherPurchasesAndProgramsMember', window );">Other Purchases and Programs [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_RecordedUnconditionalPurchaseObligationLineItems', window );"><strong>Recorded Unconditional Purchase Obligation [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_RecordedUnconditionalPurchaseObligationDueWithinOneYear', window );">Purchase obligations due 2024</a></td>
<td class="nump">11,750<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear', window );">Purchase obligations due 2025</a></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_RecordedUnconditionalPurchaseObligation', window );">Total</a></td>
<td class="nump">$ 11,750<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_RecordedUnconditionalPurchaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recorded obligation to transfer funds in the future for fixed or minimum amounts or quantities of goods or services at fixed or minimum prices (for example, as in take-or-pay contracts or throughput 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 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-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_RecordedUnconditionalPurchaseObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RecordedUnconditionalPurchaseObligationDueInSecondYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recorded unconditional purchase obligation 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 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-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_RecordedUnconditionalPurchaseObligationDueInSecondYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RecordedUnconditionalPurchaseObligationDueWithinOneYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recorded unconditional purchase 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>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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-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_RecordedUnconditionalPurchaseObligationDueWithinOneYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RecordedUnconditionalPurchaseObligationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-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_RecordedUnconditionalPurchaseObligationLineItems</td>
</tr>
<tr>
<td style="padding-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_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis=fgen_ManufactureAndSupplyOfPamrevlumabMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_ManufactureAndSupplyOfPamrevlumabMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_ManufactureAndSupplyOfRoxadustatMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_ManufactureAndSupplyOfRoxadustatMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_OtherPurchasesAndProgramsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_OtherPurchasesAndProgramsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628935054624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies - Additional Information (Detail)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">2 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1">28 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>May 31, 2021 </div>
<div>PutativeClassAction</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 05, 2023 </div>
<div>ShareholderDerivative</div>
</th>
<th class="th">
<div>Oct. 17, 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_fgen_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyNewClaimsFiledNumber', window );">Number of complaints filed</a></td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyAccrualAtCarryingValue', window );">Litigation settlement amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 28.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 28.5<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_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis=fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember', window );">Research and Preclinical Stage Development Programs [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_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>
<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_fgen_MaximumFutureMilestonePayments', window );">Maximum future milestone payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 697.9<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_fgen_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.</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;">fgen_CommitmentsAndContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_MaximumFutureMilestonePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum future milestone 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;">fgen_MaximumFutureMilestonePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LossContingencyAccrualAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 contingency 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 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-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_LossContingencyAccrualAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LossContingencyNewClaimsFiledNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 number of new claims filed pertaining to a loss contingency 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 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-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_LossContingencyNewClaimsFiledNumber</td>
</tr>
<tr>
<td style="padding-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_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis=fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>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="idm140628939906464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity and Stock-based Compensation - Common Stock - Additional information (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_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_CommonStockVotingRights', window );">Common stock voting rights</a></td>
<td class="text">one vote<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_CommonStockVotingRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 voting rights of common stock. Includes eligibility to vote and votes per share owned. Include also, if any, unusual voting rights.</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 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_CommonStockVotingRights</td>
</tr>
<tr>
<td style="padding-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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<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="idm140628933609136">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Equity and Stock-based Compensation - Summary of Common Stock Reserved for Future Issuance (Detail) - shares<br> shares 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_ClassOfStockLineItems', window );"><strong>Class Of Stock [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_CommonStockSharesOutstanding', window );">Common stock outstanding</a></td>
<td class="nump">98,770<span></span>
</td>
<td class="nump">94,166<span></span>
</td>
</tr>
<tr class="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">11,104<span></span>
</td>
<td class="nump">9,088<span></span>
</td>
</tr>
<tr class="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 );">RSUs outstanding</a></td>
<td class="nump">4,404<span></span>
</td>
<td class="nump">3,669<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares reserved for future stock options and RSUs grant</a></td>
<td class="nump">10,769<span></span>
</td>
<td class="nump">11,524<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_fgen_CommonStockSharesReserved', window );">Total shares of common stock reserved</a></td>
<td class="nump">130,999<span></span>
</td>
<td class="nump">123,820<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_SubsidiarySaleOfStockAxis=us-gaap_EmployeeStockMember', window );">ESPP [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [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_CommonStockCapitalSharesReservedForFutureIssuance', window );">Shares reserved for future ESPP offering</a></td>
<td class="nump">5,952<span></span>
</td>
<td class="nump">5,373<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_CommonStockSharesReserved">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Common stock shares reserved.</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;">fgen_CommonStockSharesReserved</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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/exampleRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<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/recommendedDisclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483014/272-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482987/272-10-50-1<br><br>Reference 4: 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(d))<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 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 6: 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 7: 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 (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 8: 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 9: 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 10: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<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(27)(b))<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 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 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 14: 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(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 15: 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 16: 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)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 17: 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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 18: 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)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-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_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-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_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_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_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_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_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_SubsidiarySaleOfStockAxis=us-gaap_EmployeeStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EmployeeStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628933530416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity and Stock-based Compensation -At-the-Market Program-Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 27, 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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common stock under ATM Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 48,407,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_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from sale of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,731,000<span></span>
</td>
<td class="nump">$ 4,184,000<span></span>
</td>
<td class="nump">$ 12,701,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_AwardTypeAxis=fgen_AtmProgramMember', window );">ATM Program [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common stock under ATM Program</a></td>
<td class="nump">$ 200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Issuance of common stock under ATM Program shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,472,090,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_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from sale of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 48,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_WeightedAverageOfferingPricesPerShare', window );">Weighted-average offering prices per share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 19.63<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_fgen_WeightedAverageOfferingPricesPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 offering prices per share</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;">fgen_WeightedAverageOfferingPricesPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_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_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_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 new stock issued 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://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 (a)<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)(1))<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_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="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 (a)<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_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=fgen_AtmProgramMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_AtmProgramMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628927393632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity and Stock-based Compensation - Stock Plans - Additional information (Detail) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="3">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Feb. 28, 2022</div></th>
<th class="th"><div>Sep. 30, 2014</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_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Total intrinsic value of options exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 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_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings', window );">RSUs released and issued net of shares withheld for taxes</a></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,648,201<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 fair value of awards granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11.61<span></span>
</td>
<td class="nump">$ 14.68<span></span>
</td>
<td class="nump">$ 30.19<span></span>
</td>
</tr>
<tr class="re">
<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 fair value of stock options granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7.27<span></span>
</td>
<td class="nump">14.72<span></span>
</td>
<td class="nump">$ 35.58<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=fgen_PerformanceBasedRestrictedStockAwardsMember', window );">PRSUs [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Granted, Shares</a></td>
<td class="nump">159,150<span></span>
</td>
<td class="nump">280,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares', window );">Shares vested</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">68,541<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=fgen_TotalShareholderReturnAwardsMember', window );">TSR [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 fair value of stock options granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 28.9<span></span>
</td>
<td class="nump">$ 24.01<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Granted, Shares</a></td>
<td class="nump">159,150<span></span>
</td>
<td class="nump">280,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares', window );">Shares vested</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">110,370<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=fgen_RsusPrsusAndTsrAwardsMember', window );">RSUs, PRSUs and TSR awards [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Percentage of vesting rights</a></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>
</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] | PRSUs [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Percentage of vesting rights</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200.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_RangeAxis=srt_MaximumMember', window );">Maximum [Member] | TSR [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Percentage of vesting rights</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200.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_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | PRSUs [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Percentage of vesting rights</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>
</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] | TSR [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Percentage of vesting rights</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>
</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=fgen_TwoThousandAndFiveStockPlanMember', window );">2005 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Vesting period of stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 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_PlanNameAxis=fgen_TwoThousandAndFiveStockPlanMember', window );">2005 Stock Plan | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Expiration period of stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 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_PlanNameAxis=fgen_TwoThousandAndFourteenEquityIncentivePlanMember', window );">2014 Equity Incentive Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Vesting period of stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Expiration period of stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate', window );">Termination date of equity incentive 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">Nov. 12,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights', window );">Option vesting 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="text">Option vesting schedules are determined by the Company at the time of issuance and generally have a four year vesting schedule (25% vesting on the first anniversary of the vesting base date and quarterly thereafter over the next 3 years).<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Number of common stock 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="nump">10,768,935<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription', window );">Common stock reserved for future issuance, Description</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Shares reserved for issuance increases on January 1 of each year commencing on January 1, 2016 and ending on January 1, 2024 by the lesser of (i) the amount equal to 4% of the number of shares issued and outstanding on December 31 immediately prior to the date of increase or (ii) such lower number of shares as may be determined by the board of directors. As of December 31, 2023, the Company has reserved 10,768,935 shares of its common stock that remains unissued for issuance under the 2014 Plan.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum', window );">Percentage of common stock reserved for future issuance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.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="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 );">Number of common stock repurchased</a></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="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Total intrinsic value of options exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 900<span></span>
</td>
<td class="nump">$ 800<span></span>
</td>
<td class="nump">$ 13,100<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=fgen_TwoThousandAndFourteenEquityIncentivePlanMember', window );">2014 Equity Incentive Plan | First Anniversary [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Percentage of vesting rights</a></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>
</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=fgen_TwoThousandAndFourteenEquityIncentivePlanMember', window );">2014 Equity Incentive Plan | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent', window );">Percentage of fair value exercise price grant 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="nump">100.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_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_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 shares used to satisfy grantee's tax withholding obligation for award under share-based payment arrangement, of restricted shares issued. Excludes cash used to satisfy grantee's tax withholding obligation.</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_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings</td>
</tr>
<tr>
<td style="padding-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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 service or performance condition required to be met for earning right to award under share-based payment arrangement. 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://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 (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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights</td>
</tr>
<tr>
<td style="padding-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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the equity-based award expires, 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/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate</td>
</tr>
<tr>
<td style="padding-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_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sets forth the nature of any other increase or decrease in the number of shares reserved for issuance 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://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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum number of shares that may be issued in accordance with the plan as a proportion of outstanding capital stock.</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum</td>
</tr>
<tr>
<td style="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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 vesting of 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 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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</p></div>
<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)(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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</p></div>
<a href="javascript:void(0);" onclick="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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 vested.</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares</td>
</tr>
<tr>
<td style="padding-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_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Purchase price of common stock expressed as a percentage of its 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;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent</td>
</tr>
<tr>
<td style="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_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_AwardTypeAxis=fgen_PerformanceBasedRestrictedStockAwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_PerformanceBasedRestrictedStockAwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_TotalShareholderReturnAwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_TotalShareholderReturnAwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_RsusPrsusAndTsrAwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_RsusPrsusAndTsrAwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_PlanNameAxis=fgen_TwoThousandAndFiveStockPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_TwoThousandAndFiveStockPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_TwoThousandAndFourteenEquityIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_TwoThousandAndFourteenEquityIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<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="idm140628932565904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity and Stock-based Compensation - Stock Plans - Summary of Stock Option Transactions (Detail)<br> $ / shares in Units, shares in Thousands, $ 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>
<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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, Beginning Balance, Shares | shares</a></td>
<td class="nump">9,088<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted, Shares | shares</a></td>
<td class="nump">5,738<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_fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear', window );">Exercised, Shares | shares</a></td>
<td class="num">(122)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Forfeited, Shares | shares</a></td>
<td class="num">(1,725)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod', window );">Expired, Shares | shares</a></td>
<td class="num">(1,875)<span></span>
</td>
</tr>
<tr class="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 );">Outstanding, Ending Balance, Shares | shares</a></td>
<td class="nump">11,104<span></span>
</td>
</tr>
<tr class="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, Shares | shares</a></td>
<td class="nump">10,224<span></span>
</td>
</tr>
<tr class="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 );">Exercisable, Shares | shares</a></td>
<td class="nump">4,688<span></span>
</td>
</tr>
<tr class="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 );">Outstanding, Beginning Balance, Weighted Average Exercise Price per Share | $ / shares</a></td>
<td class="nump">$ 29.19<span></span>
</td>
</tr>
<tr class="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, Weighted Average Exercise Price per Share | $ / shares</a></td>
<td class="nump">7.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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised, Weighted Average Exercise Price per Share | $ / shares</a></td>
<td class="nump">12.42<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Forfeited, Weighted Average Exercise Price per Share | $ / shares</a></td>
<td class="nump">22.49<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice', window );">Expired, Weighted Average Exercise Price per Share | $ / shares</a></td>
<td class="nump">34.38<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, Ending Balance, Weighted Average Exercise Price per Share | $ / shares</a></td>
<td class="nump">18.21<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Vested and expected to vest, Weighted Average Exercise per Share | $ / shares</a></td>
<td class="nump">19.21<span></span>
</td>
</tr>
<tr class="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 );">Exercisable, Weighted Average Exercise Price per Share | $ / shares</a></td>
<td class="nump">$ 30.66<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Outstanding, Weighted Average Remaining Contractual Life</a></td>
<td class="text">7 years 3 months 3 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested and expected to vest, Weighted Average Remaining Contractual Life</a></td>
<td class="text">7 years 1 month 9 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Exercisable, Weighted Average Remaining Contractual Life</a></td>
<td class="text">5 years 14 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Outstanding, Aggregate Intrinsic Value | $</a></td>
<td class="nump">$ 83<span></span>
</td>
</tr>
<tr class="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 expected to vest, Aggregate Intrinsic Value | $</a></td>
<td class="nump">68<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Exercisable, Aggregate Intrinsic Value | $</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_fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock options exercised full year.</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;">fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.</p></div>
<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)(04)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</p></div>
<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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the current fair value of the underlying stock exceeds the exercise price of options outstanding.</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 could have acquired the underlying shares with respect to stock options of the plan 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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 could have acquired the underlying shares with respect to stock options that were terminated.</p></div>
<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)(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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</p></div>
<a href="javascript:void(0);" onclick="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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="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 (e)(1)<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<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="idm140628928528432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity and Stock-based Compensation - Summary of RSU,PRSU and TSR Awards (Detail) - $ / shares<br> shares 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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested, Shares, Beginning Balance</a></td>
<td class="nump">3,669<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Unvested, Shares, Ending Balance</a></td>
<td class="nump">4,404<span></span>
</td>
<td class="nump">3,669<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Granted, Weighted Average Fair value at Grant</a></td>
<td class="nump">$ 11.61<span></span>
</td>
<td class="nump">$ 14.68<span></span>
</td>
<td class="nump">$ 30.19<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=fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember', window );">RSUs, PRSUs and TSR awards [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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested, Shares, Beginning Balance</a></td>
<td class="nump">3,669<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Granted, Shares</a></td>
<td class="nump">4,612<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Vested, Shares</a></td>
<td class="num">(2,002)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Forfeited, Shares</a></td>
<td class="num">(1,875)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Unvested, Shares, Ending Balance</a></td>
<td class="nump">4,404<span></span>
</td>
<td class="nump">3,669<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Unvested, Weighted Average Fair value at Grant, Beginning Balance</a></td>
<td class="nump">$ 18.80<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Granted, Weighted Average Fair value at Grant</a></td>
<td class="nump">11.61<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Vested, Weighted Average Fair value at Grant</a></td>
<td class="nump">14.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Forfeited, Weighted Average Fair value at Grant</a></td>
<td class="nump">20.58<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Unvested, Weighted Average Fair value at Grant, Ending Balance</a></td>
<td class="nump">$ 12.37<span></span>
</td>
<td class="nump">$ 18.80<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_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_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>
<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=fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>106
<FILENAME>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="idm140628933016336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity and Stock-based Compensation - Employee Stock Purchase Plan - Additional information (Detail) - 2014 ESPP [Member] - shares<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2014</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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate', window );">Purchase of common stock shares at discount</a></td>
<td class="nump">15.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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent', window );">Percentage of fair value exercise price grant date</a></td>
<td class="nump">85.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Number of common stock reserved for issuance</a></td>
<td class="nump">1,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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription', window );">Common stock reserved for future issuance, Description</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">The Company has reserved 1,600,000 shares of its common stock for issuance under the 2014 ESPP and shares reserved for issuance increases January 1 of each year, which commenced on January 1, 2016, by the lesser of (i) a number of shares equal to 1% of the total number of outstanding shares of common stock on December 31 immediately prior to the date of increase; (ii) 1,200,000 shares or (iii) such number of shares as may be determined by the board of directors.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum', window );">Percentage of common stock reserved for future issuance</a></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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease', window );">Increase in number of shares of common stock reserved for future issuance, shares</a></td>
<td class="nump">1,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Shares purchased by employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">361,911<span></span>
</td>
<td class="nump">327,298<span></span>
</td>
<td class="nump">213,505<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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from fair value on purchase date that participants pay for shares.</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sets forth the nature of any other increase or decrease in the number of shares reserved for issuance 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://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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 or decrease in number of shares reserved for issuance under stock option agreements awarded under the plan that validly exist and are outstanding, including 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/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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum number of shares that may be issued in accordance with the plan as a proportion of outstanding capital stock.</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum</td>
</tr>
<tr>
<td style="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_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Purchase price of common stock expressed as a percentage of its 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;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent</td>
</tr>
<tr>
<td style="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_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 during the period as a result of an employee stock purchase plan.</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_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628940988528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity and Stock-based Compensation - Schedule of Recorded 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>Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [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_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense</a></td>
<td class="nump">$ 50,767<span></span>
</td>
<td class="nump">$ 65,601<span></span>
</td>
<td class="nump">$ 71,161<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 [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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [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_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense</a></td>
<td class="nump">25,462<span></span>
</td>
<td class="nump">34,861<span></span>
</td>
<td class="nump">40,547<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 [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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [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_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense</a></td>
<td class="nump">$ 25,305<span></span>
</td>
<td class="nump">$ 30,740<span></span>
</td>
<td class="nump">$ 30,614<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_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<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 (h)(1)(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_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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>108
<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="idm140628933208720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity and Stock-based Compensation - Schedule of Assumptions used to Estimate Fair Value of Stock Options Granted and Employee Stock Purchase Plans (Detail) - $ / shares<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average estimated fair value</a></td>
<td class="nump">$ 7.27<span></span>
</td>
<td class="nump">$ 14.72<span></span>
</td>
<td class="nump">$ 35.58<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 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>
</tr>
<tr class="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">6 years 1 month 6 days<span></span>
</td>
<td class="text">5 years 8 months 12 days<span></span>
</td>
<td class="text">5 years 8 months 12 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="nump">92.80%<span></span>
</td>
<td class="nump">66.80%<span></span>
</td>
<td class="nump">61.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="nump">3.00%<span></span>
</td>
<td class="nump">2.20%<span></span>
</td>
<td class="nump">0.80%<span></span>
</td>
</tr>
<tr class="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="re">
<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 estimated fair value</a></td>
<td class="nump">$ 4.67<span></span>
</td>
<td class="nump">$ 7.88<span></span>
</td>
<td class="nump">$ 20.21<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_StockCompensationPlanMember', window );">Employee stock purchase plans [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_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, minimum</a></td>
<td class="nump">56.70%<span></span>
</td>
<td class="nump">58.50%<span></span>
</td>
<td class="nump">47.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum', window );">Expected volatility, maximum</a></td>
<td class="nump">271.20%<span></span>
</td>
<td class="nump">97.60%<span></span>
</td>
<td class="nump">104.40%<span></span>
</td>
</tr>
<tr class="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">0.20%<span></span>
</td>
<td class="nump">0.10%<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum', window );">Risk-free interest rate, maximum</a></td>
<td class="nump">5.20%<span></span>
</td>
<td class="nump">4.50%<span></span>
</td>
<td class="nump">2.20%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="re">
<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 estimated fair value</a></td>
<td class="nump">$ 5.64<span></span>
</td>
<td class="nump">$ 8.6<span></span>
</td>
<td class="nump">$ 12.4<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_StockCompensationPlanMember', window );">Employee stock purchase plans [Member] | Minimum [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_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 months<span></span>
</td>
<td class="text">6 months<span></span>
</td>
<td class="text">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_us-gaap_AwardTypeAxis=us-gaap_StockCompensationPlanMember', window );">Employee stock purchase plans [Member] | Maximum [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_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">2 years<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">2 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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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>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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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>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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="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_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_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_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_us-gaap_AwardTypeAxis=us-gaap_StockCompensationPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StockCompensationPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>109
<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="idm140628932191456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity and Stock-based Compensation - Stock-Based Compensation - Additional information (Detail)<br> $ in Millions</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="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=fgen_StockOptionAwardsMember', window );">Stock Option Awards [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_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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Unrecognized compensation costs</a></td>
<td class="nump">$ 25.6<span></span>
</td>
</tr>
<tr class="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 );">Non-vested stock option awards granted that will be recognized on a straight-line basis over the weighted-average period</a></td>
<td class="text">2 years 9 months 21 days<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=fgen_RsusPrsusAndTsrAwardsMember', window );">RSUs, PRSUs and TSR Awards [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_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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Non-vested stock option awards granted that will be recognized on a straight-line basis over the weighted-average period</a></td>
<td class="text">2 years 1 month 2 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Unrecognized compensation costs</a></td>
<td class="nump">$ 35.6<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to be recognized for 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/2009/role/commonPracticeRef<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to be recognized for 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://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 (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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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=fgen_StockOptionAwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_StockOptionAwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_RsusPrsusAndTsrAwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_RsusPrsusAndTsrAwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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="idm140628935202080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity and Stock based compensation - Schedule of Assumptions used to Estimate Fair Value of TSR Awards (Details) - $ / shares<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average estimated fair value</a></td>
<td class="nump">$ 7.27<span></span>
</td>
<td class="nump">$ 14.72<span></span>
</td>
<td class="nump">$ 35.58<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=fgen_TotalShareholderReturnAwardsMember', window );">TSR [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_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">3 years 10 months 24 days<span></span>
</td>
<td class="text">3 years 10 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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, minimum</a></td>
<td class="nump">69.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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, maximum</a></td>
<td class="nump">73.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">1.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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.20%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 estimated fair value</a></td>
<td class="nump">$ 28.9<span></span>
</td>
<td class="nump">$ 24.01<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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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>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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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>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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="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_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_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_us-gaap_AwardTypeAxis=fgen_TotalShareholderReturnAwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_TotalShareholderReturnAwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>111
<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="idm140628933698080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity and Stock-based Compensation - Subsidiary Stock and Non-Controlling Interests - Additional information (Detail) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="1">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>
</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>
<th class="th"><div>Nov. 19, 2014</div></th>
<th class="th"><div>Jan. 31, 2013</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_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<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_SubsidiarySaleOfStockAxis=us-gaap_IPOMember', window );">IPO [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion', window );">Conversion rights, shares issued upon conversion of each preferred share</a></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">958,996<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_dei_LegalEntityAxis=fgen_FibrogenEuropeOyMember', window );">FibroGen 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">42,619,022<span></span>
</td>
<td class="nump">42,619,022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockRedemptionTerms', window );">Preferred stock redemption percentage</a></td>
<td class="text">Redemption Right &#8212; If a Preferred Share can be redeemed by a majority shareholder owning more than ninety percent (90%) of the shares of FibroGen Europe in accordance with the provisions of the Finnish Limited Liability Companies Act, the minority holders of Preferred Shares have the right to request redemption of their shares.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares', window );">Minimum percentage of shareholder's approval to call for redemption of preferred shares</a></td>
<td class="nump">90.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_PreferredStockVotingRights', window );">Preferred stock, voting rights</a></td>
<td class="text">one vote<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion', window );">Conversion rights, shares issued upon conversion of each preferred share</a></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>
</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_dei_LegalEntityAxis=fgen_FibrogenEuropeOyMember', window );">FibroGen Europe [Member] | Series A [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">1,700,845<span></span>
</td>
<td class="nump">1,700,845<span></span>
</td>
<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_dei_LegalEntityAxis=fgen_FibrogenEuropeOyMember', window );">FibroGen Europe [Member] | Series B [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">1,875,000<span></span>
</td>
<td class="nump">1,875,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_dei_LegalEntityAxis=fgen_FibrogenEuropeOyMember', window );">FibroGen Europe [Member] | Series C [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">1,599,503<span></span>
</td>
<td class="nump">1,599,503<span></span>
</td>
<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_dei_LegalEntityAxis=fgen_FibrogenEuropeOyMember', window );">FibroGen Europe [Member] | Series D [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">1,520,141<span></span>
</td>
<td class="nump">1,520,141<span></span>
</td>
<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_dei_LegalEntityAxis=fgen_FibrogenEuropeOyMember', window );">FibroGen Europe [Member] | Series E [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">459,565<span></span>
</td>
<td class="nump">459,565<span></span>
</td>
<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_dei_LegalEntityAxis=fgen_FibrogenEuropeOyMember', window );">FibroGen Europe [Member] | Series F [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">5,714,332<span></span>
</td>
<td class="nump">5,714,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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=fgen_FibrogenEuropeOyMember', window );">FibroGen Europe [Member] | Series G [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">9,927,500<span></span>
</td>
<td class="nump">9,927,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=fgen_FibrogenEuropeOyMember', window );">FibroGen Europe [Member] | Series H [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">19,822,136<span></span>
</td>
<td class="nump">19,822,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>
</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_dei_LegalEntityAxis=fgen_FibroGenCaymanMember', window );">FibroGen Cayman [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion', window );">Conversion rights, shares issued upon conversion of each preferred share</a></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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleDebt', window );">Convertible promissory note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.6<span></span>
</td>
</tr>
<tr class="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 );">Convertible promissory note interest rate</a></td>
<td class="nump">2.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_LongTermDebtContingentPaymentOfPrincipalOrInterest', window );">Conditions of payment of interest, convertible promissory note</a></td>
<td class="text">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_dei_LegalEntityAxis=fgen_FibroGenCaymanMember', window );">FibroGen Cayman [Member] | Series A [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">6,758,000<span></span>
</td>
<td class="nump">6,758,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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_PreferredSharesIssuedPricePerShare', window );">Preferred shares issued, price per share</a></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_PreferredStockDividendRatePercentage', window );">Cash dividend percentage</a></td>
<td class="nump">6.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_fgen_PreferredSharesIssuedPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Preferred shares issued, price per share.</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;">fgen_PreferredSharesIssuedPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Required minimum shareholder percentage to call for redemption of preferred 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;">fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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/exampleRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<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/recommendedDisclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483014/272-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482987/272-10-50-1<br><br>Reference 4: 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(d))<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 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 6: 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 7: 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 (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 8: 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 9: 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 10: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<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(27)(b))<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 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 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 14: 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(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 15: 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 16: 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)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 17: 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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 18: 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)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-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_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-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_ConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Including the current and noncurrent portions, carrying amount of debt identified as being convertible into another form of financial instrument (typically the entity's common stock) as of the balance sheet date, which originally required full repayment more than twelve months after issuance or greater than the normal operating cycle of the 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> -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/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 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ConvertiblePreferredStockSharesIssuedUponConversion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for each share of convertible preferred stock that is converted.</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(27))<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 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> -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 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 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-6<br><br>Reference 5: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-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_ConvertiblePreferredStockSharesIssuedUponConversion</td>
</tr>
<tr>
<td style="padding-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_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_LongTermDebtContingentPaymentOfPrincipalOrInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 conditions, facts and circumstances that would trigger a payment of principal or interest which was not otherwise immediately due and payable.</p></div>
<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.22(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_LongTermDebtContingentPaymentOfPrincipalOrInterest</td>
</tr>
<tr>
<td style="padding-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_PreferredStockDividendRatePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 percentage rate used to calculate dividend payments on preferred 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 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 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.12-12A(Column A)(Footnote 3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column A)(Footnote 4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column A)(Footnote 3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column A)(Footnote 3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-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_PreferredStockDividendRatePercentage</td>
</tr>
<tr>
<td style="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_PreferredStockRedemptionTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 redemption terms of preferred stock of an entity that has priority over common stock in the distribution of dividends and in the event of liquidation of the entity. The redemption features of this capital stock are solely within the control of 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> -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 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 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockRedemptionTerms</td>
</tr>
<tr>
<td style="padding-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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockVotingRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 voting rights of nonredeemable preferred stock. Includes eligibility to vote and votes per share owned. Include also, if any, unusual voting rights.</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> -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_PreferredStockVotingRights</td>
</tr>
<tr>
<td style="padding-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_SubsidiarySaleOfStockAxis=us-gaap_IPOMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IPOMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=fgen_FibrogenEuropeOyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=fgen_FibrogenEuropeOyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementClassOfStockAxis=us-gaap_SeriesBPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_SeriesBPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementClassOfStockAxis=us-gaap_SeriesCPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_SeriesCPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementClassOfStockAxis=us-gaap_SeriesDPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_SeriesDPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementClassOfStockAxis=us-gaap_SeriesEPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_SeriesEPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementClassOfStockAxis=us-gaap_SeriesFPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_SeriesFPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementClassOfStockAxis=us-gaap_SeriesGPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_SeriesGPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementClassOfStockAxis=us-gaap_SeriesHPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_SeriesHPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=fgen_FibroGenCaymanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=fgen_FibroGenCaymanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R102.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="idm140628935740080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Loss Per Share - Schedule of Weighted Impacts of Outstanding Anti-dilutive Securities Excluded from Calculation of Diluted Net Loss Per Share (Detail) - shares<br> shares 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded From Computation Of Earnings Per Share [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive securities excluded from computation of net loss per share</a></td>
<td class="nump">14,983<span></span>
</td>
<td class="nump">11,962<span></span>
</td>
<td class="nump">10,416<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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember', window );">Employee stock 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded From Computation Of Earnings Per Share [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive securities excluded from computation of net loss per share</a></td>
<td class="nump">10,596<span></span>
</td>
<td class="nump">9,520<span></span>
</td>
<td class="nump">8,461<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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=fgen_RsusPrsusAndTsrAwardsMember', window );">RSUs, PRSUs and TSR awards [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded From Computation Of Earnings Per Share [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive securities excluded from computation of net loss per share</a></td>
<td class="nump">3,793<span></span>
</td>
<td class="nump">2,137<span></span>
</td>
<td class="nump">1,538<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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockMember', window );">ESPP [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded From Computation Of Earnings Per Share [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive securities excluded from computation of net loss per share</a></td>
<td class="nump">594<span></span>
</td>
<td class="nump">305<span></span>
</td>
<td class="nump">417<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_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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=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_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=fgen_RsusPrsusAndTsrAwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=fgen_RsusPrsusAndTsrAwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>113
<FILENAME>R103.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="idm140628935233392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Components of Loss 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_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Components of Income Tax Expense (Benefit), Continuing Operations [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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Domestic</a></td>
<td class="num">$ (328,475)<span></span>
</td>
<td class="num">$ (307,056)<span></span>
</td>
<td class="num">$ (268,499)<span></span>
</td>
</tr>
<tr class="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">41,608<span></span>
</td>
<td class="nump">12,187<span></span>
</td>
<td class="num">(22,184)<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 );">Loss before provision for income taxes</a></td>
<td class="num">$ (286,867)<span></span>
</td>
<td class="num">$ (294,869)<span></span>
</td>
<td class="num">$ (290,683)<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_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-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_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>114
<FILENAME>R104.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="idm140628932505328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Schedule of Components of Provision For 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_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract', window );"><strong>Current:</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_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">$ 0<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_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="nump">0<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_CurrentForeignTaxExpenseBenefit', window );">Foreign</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">358<span></span>
</td>
<td class="nump">347<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_CurrentIncomeTaxExpenseBenefit', window );">Total current</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">358<span></span>
</td>
<td class="nump">347<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract', window );"><strong>Deferred:</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_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">0<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_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="nump">0<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_DeferredForeignIncomeTaxExpenseBenefit', window );">Foreign</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_DeferredIncomeTaxExpenseBenefit', window );">Total deferred</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_IncomeTaxExpenseBenefit', window );">Total provision for income taxes</a></td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">$ 358<span></span>
</td>
<td class="nump">$ 347<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_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract</td>
</tr>
<tr>
<td style="padding-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_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current 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/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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<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_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CurrentForeignTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign 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://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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<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_CurrentForeignTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current 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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<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_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, 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/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 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<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_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredForeignIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign 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://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 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredForeignIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, 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 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<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_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>115
<FILENAME>R105.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="idm140628933728848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Schedule of Reconciliation Between Statutory Federal Income Tax Rate and Effective Tax Rate (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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract', window );"><strong>Effective Income Tax Rate Reconciliation, Percent [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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Tax at statutory federal 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="re">
<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 tax</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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost', window );">Stock-based compensation expense</a></td>
<td class="num">(1.10%)<span></span>
</td>
<td class="num">(2.50%)<span></span>
</td>
<td class="num">(1.80%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted', window );">Net operating losses not benefitted</a></td>
<td class="num">(17.90%)<span></span>
</td>
<td class="num">(16.30%)<span></span>
</td>
<td class="num">(16.80%)<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Foreign net operating losses not benefitted</a></td>
<td class="nump">3.00%<span></span>
</td>
<td class="nump">0.90%<span></span>
</td>
<td class="num">(1.60%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationDeductions', window );">Deduction limitation on executive compensation</a></td>
<td class="num">(0.50%)<span></span>
</td>
<td class="num">(0.20%)<span></span>
</td>
<td class="num">(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_EffectiveIncomeTaxRateReconciliationGiltiPercent', window );">Global intangible low-taxed income</a></td>
<td class="num">(4.30%)<span></span>
</td>
<td class="num">(2.80%)<span></span>
</td>
<td class="num">(0.40%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="num">(0.20%)<span></span>
</td>
<td class="num">(0.20%)<span></span>
</td>
<td class="num">(0.20%)<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 );">Total</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="num">(0.10%)<span></span>
</td>
<td class="num">(0.10%)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction expense share based compensation 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;">fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 net operating losses not benefitted.</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;">fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_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_EffectiveIncomeTaxRateReconciliationDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operations attributable to deduction. Includes, but is not limited to, dividend deduction, deduction for dividend paid to employee stock ownership plan (ESOP), Medicare prescription drug benefit subsidy deduction, and other deductions.</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_EffectiveIncomeTaxRateReconciliationDeductions</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationGiltiPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense 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 global intangible low-taxed income (GILTI).</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_EffectiveIncomeTaxRateReconciliationGiltiPercent</td>
</tr>
<tr>
<td style="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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>116
<FILENAME>R106.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="idm140628935241664">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes - Schedule of Significant Components of Deferred Tax 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_us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract', window );"><strong>Components of Deferred Tax Assets and Liabilities [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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Federal and state net operating loss carryforwards</a></td>
<td class="nump">$ 175,257<span></span>
</td>
<td class="nump">$ 166,708<span></span>
</td>
</tr>
<tr class="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 );">Tax credit carryforwards</a></td>
<td class="nump">123,156<span></span>
</td>
<td class="nump">106,131<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign', window );">Foreign net operating loss carryforwards</a></td>
<td class="nump">48,396<span></span>
</td>
<td class="nump">49,990<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_fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses', window );">Capitalized research and development expenses</a></td>
<td class="nump">81,697<span></span>
</td>
<td class="nump">45,125<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">9,155<span></span>
</td>
<td class="nump">8,616<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent', window );">Lease obligations</a></td>
<td class="nump">17,189<span></span>
</td>
<td class="nump">18,442<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals', window );">Reserves and accruals</a></td>
<td class="nump">5,475<span></span>
</td>
<td class="nump">4,929<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsDeferredIncome', window );">Deferred revenue</a></td>
<td class="nump">24,792<span></span>
</td>
<td class="nump">21,624<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_fgen_DeferredTaxAssetsIntangibleAssets', window );">Intangible assets</a></td>
<td class="nump">63,146<span></span>
</td>
<td class="nump">69,159<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOther', window );">Other</a></td>
<td class="nump">698<span></span>
</td>
<td class="nump">1,277<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_DeferredTaxAssetsGross', window );">Subtotal</a></td>
<td class="nump">548,961<span></span>
</td>
<td class="nump">492,001<span></span>
</td>
</tr>
<tr class="re">
<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">(534,967)<span></span>
</td>
<td class="num">(477,969)<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_DeferredTaxAssetsNet', window );">Net deferred tax assets</a></td>
<td class="nump">13,994<span></span>
</td>
<td class="nump">14,032<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_fgen_DeferredTaxLiabilitiesFixedAssets', window );">Fixed assets</a></td>
<td class="num">(10,511)<span></span>
</td>
<td class="num">(13,101)<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_fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses', window );">Non-deductible accrued expenses</a></td>
<td class="num">(3,483)<span></span>
</td>
<td class="num">(931)<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_DeferredTaxLiabilities', window );">Net deferred tax liabilities</a></td>
<td class="num">(13,994)<span></span>
</td>
<td class="num">(14,032)<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_DeferredTaxAssetsLiabilitiesNet', window );">Total net deferred tax assets</a></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_fgen_DeferredTaxAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 intangible 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;">fgen_DeferredTaxAssetsIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax capitalized research and development expenses.</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;">fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_DeferredTaxLiabilitiesFixedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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;">fgen_DeferredTaxLiabilitiesFixedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 non deductibale accrued expenses.</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;">fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsDeferredIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deferred 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 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_DeferredTaxAssetsDeferredIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_DeferredTaxAssetsOperatingLossCarryforwardsForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign 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_DeferredTaxAssetsOperatingLossCarryforwardsForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reserves and accruals.</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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deferred rent.</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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>117
<FILENAME>R107.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="idm140628926506672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - 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_fgen_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_ValuationAllowanceDeferredTaxAssetChangeInAmount', window );">Increase in valuation allowance</a></td>
<td class="nump">$ 57,000,000<span></span>
</td>
<td class="nump">$ 68,200,000<span></span>
</td>
<td class="nump">$ 72,000,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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Federal and state net operating loss carryforwards</a></td>
<td class="nump">175,257,000<span></span>
</td>
<td class="nump">166,708,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_DeferredTaxAssetsOperatingLossCarryforwardsForeign', window );">Foreign net operating loss carryforwards</a></td>
<td class="nump">48,396,000<span></span>
</td>
<td class="nump">49,990,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_UnrecognizedTaxBenefits', window );">Unrecognized tax benefits</a></td>
<td class="nump">81,000,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_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued', window );">Accrued interest, unrecognized tax benefits</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="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 );">Unrecognized tax benefits that would affect effective tax rate</a></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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible', window );">Unrecognized tax benefits description</a></td>
<td class="text">The Company does not anticipate a material change to its unrecognized tax benefits over the next twelve months that would affect the Company&#8217;s effective tax rate.<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_fgen_CorporateAlternativeMinimumTaxPercentage', window );">Corporate alternative minimum tax percentage</a></td>
<td class="nump">15.00%<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_fgen_PercentageOfExciseTaxOnStockBuyback', window );">Percentage of excise tax on stock buyback</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=us-gaap_EarliestTaxYearMember', window );">Earliest Tax Year [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_fgen_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_OpenTaxYear', window );">Foreign statute of limitation generally remains open in the year</a></td>
<td class="text">2014<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_TaxPeriodAxis=us-gaap_LatestTaxYearMember', window );">Latest Tax Year [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_fgen_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_OpenTaxYear', window );">Foreign statute of limitation generally remains open in the year</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="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_ForeignCountryMember', window );">Foreign net operating loss [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_fgen_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_DeferredTaxAssetsOperatingLossCarryforwardsForeign', window );">Foreign net operating loss carryforwards</a></td>
<td class="nump">$ 235,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_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign net operating loss [Member] | Minimum [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_fgen_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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_OperatingLossCarryforwardsExpirationYear', window );">Operating loss carryforwards expiration year</a></td>
<td class="text">2024<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_ForeignCountryMember', window );">Foreign net operating loss [Member] | Maximum [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_fgen_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_fgen_OperatingLossCarryforwardsExpirationYear', window );">Operating loss carryforwards expiration year</a></td>
<td class="text">2033<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_DomesticCountryMember', window );">Federal [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_fgen_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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Federal and state net operating loss carryforwards</a></td>
<td class="nump">$ 796,700,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_fgen_OperatingLossCarryforwardsExpirationYear', window );">Operating loss carryforwards expiration year</a></td>
<td class="text">2026 <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsOther', window );">Other tax credit carryforwards</a></td>
<td class="nump">$ 143,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_OtherTaxCreditCarryforwardsExpirationYear', window );">Other tax credit carryforwards expiration year</a></td>
<td class="text">2024<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_DomesticCountryMember', window );">Federal [Member] | Expiration Year 2026 [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_fgen_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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Federal and state net operating loss carryforwards</a></td>
<td class="nump">$ 292,400,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=us-gaap_StateAndLocalJurisdictionMember', window );">State [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_fgen_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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Federal and state net operating loss carryforwards</a></td>
<td class="nump">$ 147,200,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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_OperatingLossCarryforwardsExpirationYear', window );">Operating loss carryforwards expiration year</a></td>
<td class="text">2028 <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 [Member] | California [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_fgen_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_DeferredTaxAssetsTaxCreditCarryforwardsOther', window );">Other tax credit carryforwards</a></td>
<td class="nump">$ 50,800,000<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_fgen_CorporateAlternativeMinimumTaxPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Corporate alternative minimum tax 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;">fgen_CorporateAlternativeMinimumTaxPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_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;">fgen_IncomeTaxesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_OperatingLossCarryforwardsExpirationYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss carryforwards expiration year.</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;">fgen_OperatingLossCarryforwardsExpirationYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_OtherTaxCreditCarryforwardsExpirationYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Other tax credit carryforwards expiration year.</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;">fgen_OtherTaxCreditCarryforwardsExpirationYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_fgen_PercentageOfExciseTaxOnStockBuyback">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 excise tax on stock buyback.</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;">fgen_PercentageOfExciseTaxOnStockBuyback</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</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_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_DeferredTaxAssetsOperatingLossCarryforwardsForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign 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_DeferredTaxAssetsOperatingLossCarryforwardsForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsTaxCreditCarryforwardsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax credit carryforwards, 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><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_DeferredTaxAssetsTaxCreditCarryforwardsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 statement that a range of reasonably possible change cannot be made for a tax position taken for which it is reasonably possible that the total amount of unrecognized tax benefit will significantly increase or decrease within 12 months 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)(3)<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_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible</td>
</tr>
<tr>
<td style="padding-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_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest expense accrued for an underpayment of income taxes.</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 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_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ForeignCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=fgen_ExpirationYearTwoThousandTwentySixMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_ExpirationYearTwoThousandTwentySixMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_srt_StatementGeographicalAxis=stpr_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=stpr_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>118
<FILENAME>R108.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="idm140628927515824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Reconciliation of the Beginning and Ending Amounts of Unrecognized Income Tax Benefits (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_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [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_UnrecognizedTaxBenefits', window );">Ending Balance</a></td>
<td class="nump">$ 81,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=fgen_FederalAndStateMember', window );">Federal and State [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_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [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_UnrecognizedTaxBenefits', window );">Beginning balance</a></td>
<td class="nump">72,791<span></span>
</td>
<td class="nump">$ 57,671<span></span>
</td>
<td class="nump">$ 48,574<span></span>
</td>
</tr>
<tr class="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 );">Decrease due to prior positions</a></td>
<td class="num">(154)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(245)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions', window );">Increase due to prior positions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,954<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Increase due to current year position</a></td>
<td class="nump">8,805<span></span>
</td>
<td class="nump">9,074<span></span>
</td>
<td class="nump">8,415<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_fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation', window );">Foreign exchange rate differential</a></td>
<td class="num">(477)<span></span>
</td>
<td class="num">(908)<span></span>
</td>
<td class="nump">927<span></span>
</td>
</tr>
<tr class="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 );">Ending Balance</a></td>
<td class="nump">$ 80,965<span></span>
</td>
<td class="nump">$ 72,791<span></span>
</td>
<td class="nump">$ 57,671<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, increase (decrease) resulting from foreign currency translation.</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;">fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeTaxContingencyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_IncomeTaxContingencyLineItems</td>
</tr>
<tr>
<td style="padding-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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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=fgen_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=fgen_FederalAndStateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>119
<FILENAME>R109.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="idm140628926045024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions - 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_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_Revenues', window );">Revenues</a></td>
<td class="nump">$ 147,752<span></span>
</td>
<td class="nump">$ 140,734<span></span>
</td>
<td class="nump">$ 235,309<span></span>
</td>
</tr>
<tr class="re">
<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 from related parties</a></td>
<td class="nump">12,553<span></span>
</td>
<td class="nump">16,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Investment income (loss)</a></td>
<td class="nump">2,638<span></span>
</td>
<td class="nump">1,573<span></span>
</td>
<td class="nump">1,007<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Equity method investment in unconsolidated variable interest entity</a></td>
<td class="nump">5,290<span></span>
</td>
<td class="nump">5,061<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_RelatedPartyTransactionsByRelatedPartyAxis=fgen_AstellasMember', window );">Astellas [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_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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fgen_DrugProductRevenueFromRelatedParty', window );">Drug product revenue from a related party</a></td>
<td class="nump">18,800<span></span>
</td>
<td class="nump">11,100<span></span>
</td>
<td class="nump">3,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_OtherLiabilities', window );">Due to related parties</a></td>
<td class="nump">40,500<span></span>
</td>
<td class="nump">63,900<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_RelatedPartyTransactionsByRelatedPartyAxis=fgen_AstellasMember', window );">Astellas [Member] | Collaborative 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="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_AccountsReceivableNetCurrent', window );">Accounts receivable from related parties</a></td>
<td class="nump">800<span></span>
</td>
<td class="nump">1,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Deferred revenue</a></td>
<td class="nump">16,900<span></span>
</td>
<td class="nump">40,300<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_RelatedPartyTransactionsByRelatedPartyAxis=fgen_FalikangMember', window );">Falikang</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_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_AccountsReceivableNetCurrent', window );">Accounts receivable from related parties</a></td>
<td class="nump">$ 5,200<span></span>
</td>
<td class="nump">10,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_VariableInterestEntityOwnershipPercentage', window );">Percentage of outstanding shares owned</a></td>
<td class="nump">51.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Investment income (loss)</a></td>
<td class="nump">$ 2,600<span></span>
</td>
<td class="nump">1,600<span></span>
</td>
<td class="nump">1,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_InvestmentIncomeDividend', window );">Dividend received</a></td>
<td class="nump">2,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Equity method investment in unconsolidated variable interest entity</a></td>
<td class="nump">5,300<span></span>
</td>
<td class="nump">5,100<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_RelatedPartyTransactionsByRelatedPartyAxis=fgen_FalikangMember', window );">Falikang | Collaborative 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_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_Revenues', window );">Revenues</a></td>
<td class="nump">89,100<span></span>
</td>
<td class="nump">71,200<span></span>
</td>
<td class="nump">35,600<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=fgen_LicenseAndDevelopmentMember', window );">License and Development [Member] | Astellas [Member] | Collaborative 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="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_Revenues', window );">Revenues</a></td>
<td class="nump">$ 6,700<span></span>
</td>
<td class="nump">$ 32,500<span></span>
</td>
<td class="nump">$ 130,400<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fgen_DrugProductRevenueFromRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Drug product revenue from related party.</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;">fgen_DrugProductRevenueFromRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses 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 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 2: 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 (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: 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(10))<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 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-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_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) for proportionate share of equity method investee's income (loss).</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 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-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 (g)<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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<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(13)(f))<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_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InvestmentIncomeDividend">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.7(a))<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_InvestmentIncomeDividend</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</p></div>
<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 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<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(12)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<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(12)(b)(3))<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 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 6: 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.15)<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_OtherLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (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(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 S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: 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 6: 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 7: 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 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)(iv))<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)(5))<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 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 11: 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 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)(iii)(B))<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)(iv))<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)(5))<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 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 16: 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 17: 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 18: 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 19: 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 20: 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 21: 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 22: 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 23: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_VariableInterestEntityOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Variable Interest Entity's (VIE) voting interest owned by (or beneficial interest in) the reporting entity (directly or indirectly).</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 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-5A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableInterestEntityOwnershipPercentage</td>
</tr>
<tr>
<td style="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_RelatedPartyTransactionsByRelatedPartyAxis=fgen_AstellasMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_AstellasMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=us-gaap_CollaborativeArrangementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=us-gaap_CollaborativeArrangementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=fgen_FalikangMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_FalikangMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=fgen_LicenseAndDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fgen_LicenseAndDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>120
<FILENAME>R110.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="idm140629026316048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Geographic Information - Additional information (Detail)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>Segment</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_NumberOfOperatingSegments', window );">Number of operating segment</a></td>
<td class="nump">1<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_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></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>121
<FILENAME>R111.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="idm140628933530832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Geographic Information - Schedule of Revenue by Geographic Area (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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue recognized</a></td>
<td class="nump">$ 147,752<span></span>
</td>
<td class="nump">$ 140,734<span></span>
</td>
<td class="nump">$ 235,309<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_CN', window );">China [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue recognized</a></td>
<td class="nump">109,375<span></span>
</td>
<td class="nump">84,631<span></span>
</td>
<td class="nump">55,640<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 [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue recognized</a></td>
<td class="nump">9,549<span></span>
</td>
<td class="nump">33,820<span></span>
</td>
<td class="nump">131,243<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_JP', window );">Japan [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue recognized</a></td>
<td class="nump">15,867<span></span>
</td>
<td class="nump">9,764<span></span>
</td>
<td class="nump">2,305<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 [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue recognized</a></td>
<td class="nump">$ 12,961<span></span>
</td>
<td class="nump">$ 12,519<span></span>
</td>
<td class="nump">$ 46,121<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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (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(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 S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: 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 6: 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 7: 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 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)(iv))<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)(5))<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 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 11: 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 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)(iii)(B))<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)(iv))<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)(5))<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 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 16: 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 17: 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 18: 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 19: 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 20: 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 21: 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 22: 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 23: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-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=country_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=country_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>122
<FILENAME>R112.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="idm140628927677008">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Segment and Geographic Information - Schedule of 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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues From External Customers And Long Lived 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_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">$ 13,126<span></span>
</td>
<td class="nump">$ 20,605<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 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues From External Customers And Long Lived 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_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">4,785<span></span>
</td>
<td class="nump">10,094<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_CN', window );">China [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues From External Customers And Long Lived 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_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">$ 8,341<span></span>
</td>
<td class="nump">$ 10,511<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_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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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=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_srt_StatementGeographicalAxis=country_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>123
<FILENAME>R113.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="idm140628935794240">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Segment and Geographic Information - Summary of Finance and Operating Lease Right of Use Assets by Geographical Location (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_FinanceLeaseRightOfUseAsset', window );">Total finance lease right-of-use assets</a></td>
<td class="nump">$ 153<span></span>
</td>
<td class="nump">$ 435<span></span>
</td>
</tr>
<tr class="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 );">Total operating lease right-of-use assets</a></td>
<td class="nump">68,093<span></span>
</td>
<td class="nump">79,893<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 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Total finance lease right-of-use assets</a></td>
<td class="nump">132<span></span>
</td>
<td class="nump">424<span></span>
</td>
</tr>
<tr class="re">
<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 );">Total operating lease right-of-use assets</a></td>
<td class="nump">64,939<span></span>
</td>
<td class="nump">76,273<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_CN', window );">China [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Total finance lease right-of-use assets</a></td>
<td class="nump">21<span></span>
</td>
<td class="nump">11<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Total operating lease right-of-use assets</a></td>
<td class="nump">$ 3,154<span></span>
</td>
<td class="nump">$ 3,620<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_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 right-of-use asset from finance 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_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_srt_StatementGeographicalAxis=country_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>124
<FILENAME>R114.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="idm140628932215168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Geographic Information - Schedule of Customer Concentration by Collaboration Partners and Distribution Entity (Detail) - Customer 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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Percentage of Revenue [Member] | Falikang&#8212;Related party</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_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Entity Wide Revenue Major Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">60.00%<span></span>
</td>
<td class="nump">51.00%<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Percentage of Revenue [Member] | Astellas-Related party [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_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Entity Wide Revenue Major Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">17.00%<span></span>
</td>
<td class="nump">31.00%<span></span>
</td>
<td class="nump">57.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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Percentage of Revenue [Member] | AstraZeneca [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_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Entity Wide Revenue Major Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">8.00%<span></span>
</td>
<td class="nump">9.00%<span></span>
</td>
<td class="nump">20.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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Percentage of Accounts Receivable [Member] | Falikang&#8212;Related party</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_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Entity Wide Revenue Major Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">42.00%<span></span>
</td>
<td class="nump">65.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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Percentage of Accounts Receivable [Member] | Astellas-Related party [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_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Entity Wide Revenue Major Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">7.00%<span></span>
</td>
<td class="nump">9.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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Percentage of Accounts Receivable [Member] | AstraZeneca [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_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Entity Wide Revenue Major Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">33.00%<span></span>
</td>
<td class="nump">16.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_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_EntityWideRevenueMajorCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_EntityWideRevenueMajorCustomerLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_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_TypeOfArrangementAxis=fgen_FalikangCollaborationAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_FalikangCollaborationAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstellasCollaborationAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=fgen_AstraZenecaAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>125
<FILENAME>R115.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="idm140628937022368">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Subsequent Event - Additional Information (Detail)<br> $ in Millions</strong></div></th>
<th class="th">
<div>May 08, 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_SubsequentEventLineItems', window );"><strong>Subsequent Event [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_DebtInstrumentCarryingAmount', window );">Term loan amount</a></td>
<td class="nump">$ 74.1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent 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 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-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_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-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>126
<FILENAME>R116.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="idm140628941192416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule II - Valuation and Qualifying Accounts (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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember', window );">Valuation Allowances for Deferred Tax Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ValuationAndQualifyingAccountsDisclosureLineItems', window );"><strong>Valuation And Qualifying Accounts 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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at Beginning of Year</a></td>
<td class="nump">$ 477,969<span></span>
</td>
<td class="nump">$ 409,810<span></span>
</td>
<td class="nump">$ 337,824<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Charged (Credited) to Statement of Operation</a></td>
<td class="nump">56,998<span></span>
</td>
<td class="nump">68,159<span></span>
</td>
<td class="nump">71,986<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts', window );">Charged to Other Accounts - Liabilities and Equity</a></td>
<td class="nump">0<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_ValuationAllowancesAndReservesDeductions', window );">Deductions, Net</a></td>
<td class="nump">0<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_ValuationAllowancesAndReservesBalance', window );">Balance at End of Year</a></td>
<td class="nump">534,967<span></span>
</td>
<td class="nump">477,969<span></span>
</td>
<td class="nump">409,810<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember', window );">Valuation Allowances for Rebates, Discounts and Adjustments [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_srt_ValuationAndQualifyingAccountsDisclosureLineItems', window );"><strong>Valuation And Qualifying Accounts 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at Beginning of Year</a></td>
<td class="nump">1,349<span></span>
</td>
<td class="nump">14,443<span></span>
</td>
<td class="nump">548<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Charged (Credited) to Statement of Operation</a></td>
<td class="nump">63,475<span></span>
</td>
<td class="nump">39,082<span></span>
</td>
<td class="nump">44,258<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts', window );">Charged to Other Accounts - Liabilities and Equity</a></td>
<td class="num">(849)<span></span>
</td>
<td class="nump">1,050<span></span>
</td>
<td class="num">(734)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Deductions, Net</a></td>
<td class="num">(60,964)<span></span>
</td>
<td class="num">(53,226)<span></span>
</td>
<td class="num">(29,629)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at End of Year</a></td>
<td class="nump">$ 3,011<span></span>
</td>
<td class="nump">$ 1,349<span></span>
</td>
<td class="nump">$ 14,443<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ValuationAndQualifyingAccountsDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 12<br> -Subsection 09<br> -Publisher SEC<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 4<br> -Subparagraph (SX 210.12-09(Column B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<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 4<br> -Subparagraph (SX 210.12-09(Column E))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<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 4<br> -Subparagraph (SX 210.12-09(Column D))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<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 4<br> -Subparagraph (SX 210.12-09(Column C(1)))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C(2)))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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;">srt_ValuationAndQualifyingAccountsDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</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_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and qualifying accounts and reserves.</p></div>
<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 4<br> -Subparagraph (SX 210.12-09(Column B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<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 4<br> -Subparagraph (SX 210.12-09(Column E))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and qualifying accounts and reserves from charge to cost and 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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ValuationAllowancesAndReservesChargedToOtherAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and qualifying accounts and reserves from charge to accounts other than cost and 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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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_ValuationAllowancesAndReservesChargedToOtherAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ValuationAllowancesAndReservesDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and qualifying accounts and reserves.</p></div>
<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 4<br> -Subparagraph (SX 210.12-09(Column D))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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_ValuationAllowancesAndReservesDeductions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>128
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M#8(J&@1V+U^ 0\/7:(FS9[(SB.X1>NC-!KU_&WDYS02NU.J\JDP0')0)E%E
M#WDZ-X> /2*>YY^&%]V.9\3E- NX4JOCJK) <% 6&&<1XQ #]#.I$QT$H/."
M=6-@=L'K]EEL;G-[GAP,C0"=Q@)7:G6 52P(#HH%3_@5C6.X'= %C39/]BRM
MSR[9[9YZX7GW,N@:Z3G-":[4ZO2JG! <E!-Z<0SJXJ180%]A._28F=N<7;+C
M7:%Q FL9%="0.2&F6W3?KM(8XS%"0U"%AN"@T%!B[*M/T'V?V#HS(K3+S7"&
M1AQG$161,:O:ZQO#.T:("*H0$1P4(DIXY> WX>R%9I&Y$=HU^STC-J=IPI5:
M'5N5)H*#TD2);<*$Q GZ#UWMOEO8%:\Z_OFED9O3..%*K3X+H8H3H=W\Z[[9
MXP3OQ+1' "@9IQLX30^NU.J0JO00VCW_5Z8?XBU99G-Q=A'S05YU+T_]P/.0
MD:'3Y.!*K<ZP2@ZAW? 77_/6XM-LB6%?Z#&7T%LS]130"-9E(NAOU<ZUFIHG
M]W)[==GM^D$'#,Y+C=@QLD/X;H;00=EADL\3&J%1PK QW=M5&M-Q.T]HHW;Q
MCG5PX9^=EZ#K:*J<$.YQ\L7S]5Z6Y= U-P\-C'3L0I*;0[N]K#&&8X2"L H%
MH=W!5S.FP$4)JN. A=@_G!YDKVN,[!A)(*R20&BW[>/^:(IZ>4PE.*^>E 3&
M)\UMUYRJ/7H[VYE3W^]*K0ZM\OWAP5.$,F77H6-J]ZK7#3G7"9[S[13@/Q5*
M\[S'?_@PP5[7&.8Q<D!8Y8#0[MF+QC>B/$7C@9&372$(C?;57M68TC%L?UC9
M_M!NT@M*N[Z%W%,^X30B:VBB?,ER-9N<K0B'O/]U8B3GU/B[4JM/HJV,?\?N
MVPMRRMNJ_FBBMT="!?-?F2"0\'%"%XQG%)NXV64:SZT]1A;H5%F@8\\"Q2 G
MWGU+26(T5[.S%H23'0E]G^IC_]O]\.%IIN9E/4XGC]/>TW" [KZCZ7 TG X?
M^D,TAI%4(-\[0;X//P'\A'H>O]]13S8FF$LT'H_5LEQ24?=&2-V[& PE:OXS
M@FL%VQ#TIJ;V$#5!'PU(1%2R*:?8HX]JBY]_N@P"[TM-2Z_SOWQ"M"( R]5;
M! "#%S#0@K-4[RPF"YI1_<1JQ=GK&Q+ES:$X'EY.<%/[\+M?A)ZN7YS*/2%Z
M9@B<H0X02Y;$JK]*AN:P(YK >:RI7&JM[:,*"OE"O^Q0/+!0"80*_2++*N<B
M5[/I0&!*GO-D<_A^IX<R)E&B!@;0@F:.%VH1DAJ*\9O8?E1[ 7@;X&K_>KJ4
M9AJIZ?V;9O'_U\(X[\[>0!IW$J=AK_WNA1/UN%:_N"/@)/-,;MX]*=>6+P?U
M]"LQ[6KSS9M%]U@][14H(0LH]<ZZX//XYF6=S0?)5OKUE3F3DJ5Z<4DP7&:U
M ?Q]P9@L/J@=E*],W?X/4$L#!!0    ( &>!6E@_G6J9X0<  %PA   8
M>&PO=V]R:W-H965T<R]S:&5E=#(N>&ULK5IM<Z,X$OXK*M_4W6R5/=8+")A)
M7#63[-YMU=[NU&3W[C/!<DP-(*\0SN1^_;7  8R$XIW*EP3L5O-T2]W/(^&K
M1ZF^UGLA-/I6%E5]O=AK?7B_7M?97I1I_4X>1 7?[*0J4PVWZF%='Y1(M^V@
MLEA3C/FZ3/-JL;EJ/_NL-E>RT45>B<\*U4U9INKIDRCDX_6"+)X_^)(_[+7Y
M8+VY.J0/XD[H/PZ?%=RM>R_;O!15G<L**;&[7GPD[V\"; :T%O_)Q6,]ND8F
ME'LIOYJ;G[?7"VP0B4)DVKA(X=]1W(BB,)X QY\GIXO^F6;@^/K9^T]M\!#,
M?5J+&UG\-]_J_?4B7J"MV*5-H;_(QW^)4T"A\9?)HF[_HL>3+5Z@K*FU+$^#
M 4&95]W_]-LI$:,!))@90$\#Z*4#V&D :P/MD+5AW:8ZW5PI^8B4L09OYJ+-
M33L:HLDK,XUW6L&W.8S3FQM9U;+(MZD66_0I+=(J$^C.N*O1"OUQ=XO>OOD!
MO4%YA7[?RZ9.JVU]M=;P9#-^G9V>\JE["IUYRJW(WB%&EHABRAS#;RX?3L^'
MKR'>/FC:!TU;?VPNZ$8I46F4UC7$^=X53^<@<#LPM?6^/J29N%Y \=1"'<5B
M\_>_$8X_N*)[)6=GL;(^5N;SOKE)ZSV"64.9N1!_-ODQ+2!XYRQVKJ+6E6D
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
M +[?29"1IQOS@KW_0<7F_U!+ P04    " !G@5I8,-89RK@#  "6#0  &
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
M@>W")RQ07%/A04UXT!.3>);M]$4!.!,[EM=7-L19A+IT9.'"I)5'M/+>\Z)
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
MK4MH^,(+?&TISBOQ@:6\ O+7W5HJ@=_-W[;LU^QC.[O>3&[ECJ:P=)!8@CB
M$__X@S_Q?K)E[IIDR97(3K(Z;K,Z'F*//^%&6J*1;1FKD5.#U+OE(1X%LW$0
MHAD.W638XN;A)!J?QB76.,]X\V"1$+42HD%C?%8Y")*>.**H'?%62WMW:Q,7
M7=,.UR1+KD1VDLM)F\O)H!WPY,!S@>$^*P2P]!O![XG)DM8G4O8/;K]F-[1E
MM&:.NN4-IW[?+.=1TZCGD_,0/P@CNTFFK;#IH$GN#K0HZ;J$$78&(TE+[9$#
M-'*L#IE>TR'7)$NN1':2R%F;R-F@0YX8-E-E\1\>CEMLHII/C* ].OE\3QB8
M?5K19P*;#;8TM@S/S@H=1-&T9YCSH)$_Z>]!B25J-I_;/3-OI<X'I=HVEH[F
MKDBP?A%SRZO[4<_N*UO461J2\Z@PG-CU^=[W5L<;5'AZC%XZ!QJ2WD$0A;-^
MJ:R!\RCP_9X8.^-\TF&L%;F=/JX"L37]L,2:[)FJ&Z%VMNVY[TRGV9N_U[VX
MZ0^_T]2-_$<JM@63I(0-4GHW4\RQJ'OC>J#XSG2+:ZZP]S2W.?Z? *$#\/F&
M<_4RT NT_U#B_P%02P,$%     @ 9X%:6.(7*Q.@"   A3@  !@   !X;"]W
M;W)K<VAE971S+W-H965T-RYX;6S%6UUSVS86_2L8;:=-9N*( ,&OK.V91.)'
M9C:I)T[;A\X^T!)L<4,1*@G9<7_]@A0CF@ $T VZ^Q);UL&YT,$E<.\)=/Y
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
M-R3GI7D+X._?4LJ^O6B_E'7\YN'E?P%02P,$%     @ 9X%:6)1C<X60#
M<#T  !@   !X;"]W;W)K<VAE971S+W-H965T."YX;6RMFVMSV[@5AO\*Q\VT
M]HRU)FZ\I(EG''$SFYGNKB?9;3]T^@&F((M=BM22E!/OKR\ 4H(('$+25OD0
MZ_(2X@L<  \.P'=?Z^:W=B5$%WQ;EU7[_FK5=9NW=W=MOA)KWGY7;T0EOUG6
MS9IW\FWS?-=N&L$7^J)U>8?#,+I;\Z*ZNG^G/WML[M_5VZXL*O'8!.UVO>;-
MZP=1UE_?7Z&KW0>?B^=5ISZXNW^WX<_BB^A^W3PV\MW=OI1%L1956]15T(CE
M^ZL']#:+L+I *_Y9B*_MP>M 67FJZ]_4FT^+]U>ANB-1BKQ317#YYT7,15FJ
MDN1]_#X4>K7_377AX>M=Z1^U>6GFB;=B7I?_*A;=ZOU5<A4LQ))OR^YS_?4'
M,1ABJKR\+EO]?_!UT(970;YMNWH]7"SO8%U4_5_^;:B(@PM0-'$!'B[ ]@5T
MX@(R7$!.O8 .%U!=,[T570\9[_C]NZ;^&C1*+4M3+W1EZJNE_:)2[?ZE:^2W
MA;RNNY_755N7Q8)W8A%\Z>0?V:A=&]3+8,[;5?!1!D8;S()?OV3!]9N;X$U0
M5,$OJWK;\FK1OKOKY#VHDN[RX?<^]+^')WX/X>#'NNI6;?!]M1"+<0%W\N;W
M#O#.P0?L+3$3^7<!0;<!#C$!;FA^^N48N#P[_7+D<4/V[4%T>62BO)\WHN%=
M43WW/:+H"@'6<E\*A4M1@\7;=L-S\?Y*C@:M:%[$U?U?_X*B\.]0#5VRL.Q"
MA8UJC^YKC_I*O_])#I1EW8(UUE\9ZRO5:/AR/\,)Q40V^LMA94"ZE$2,CG49
MJ MU#+X %MC> O,&P,/BO[+7]YVPJ^70FM=57I0BJ 9OZE/U.E?=<]O*;BM[
M9 V$S5NH%M@EX^:2A647*FQ4Z=&^TB-OW&1"%IH77$U%4*WU5[.#MDX92JS
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
M8MG+ ?Q?.A=W"S'0O^9F_P)02P,$%     @ 9X%:6+T%K&(?*   :(8  !D
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
MGXPWF > ,*@N\4E@'-@,T!=@>_X!($+AVHZLT==/U,+=*\@2]O<_B]]3T"D
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
MA7C F(?L.(ZS60*)N\8$6LUZDNNL8(TLFL23\>@P"810OYC"B)0!B""1R^"
MG6"6.^$,@:)RKY[B2N-<\CXM^?))<KU@4D2"1RZS6"N.9PI#(N?VLX;1"@?N
M@#3<.6JX<V.58."RQ8>X5&(\>TFA1F,P*(Y#R&^2.-Z4;=<;SX6Q:R]ZIP./
M+DVH L.QVB?U2V'CJOP H(^U+Y=C9)'/[DL)) !?Z(!2-A&O>>T0GI/R BVI
M62&P"4&3!ET,2!.8K*05^?11#B/AN9'& CTD(C+S.IE=#IB-" =P"_Z$W8/8
MWM:X8&.7-&?NE6Z</ODM9\%$*QHB(!59T)J1%'B\\ 1I&=Y8?'">D_1HF*HG
MC.KLEG>9X@<45X(/$=,K#ZJ:6BUXO)1^^Z1\PP4[9GJ@; #(\9FD9.T5M%#6
MC#)>J!M%N04H /O6[T#YU;EH'R)(@1Z"L[K,IA+BO)PS-$AQ03A9O,]7.'<9
MV1 ,-.2DY!@R6EIQ"086Y,3GU*,-IM!*Z[2*BN)^X6#(N]U@H#-H3O'QV5KI
MT= )FL/CK9P2DM\\7W1@2X*4CDA VQ?84-]EN#VFO$.N4A^(6Q]U)4-M],T2
MFRVMFL/UICPFZ%.2P\G"/F\O@KD\0I[S!Z+LS9WV*G*2*%IV4W8222.MC#FS
MMJ.@2SHZ"+*EJ^2',!1#81B)\%\_FIZ@HN7;N-H,23"U5EXN2_+:-TA$"O J
MR$*?HQ48:M5U4-886*=* K4ZM"U?4^9M!EH=U+$88J@1'\'*[-^47.BUIH-
M=G,K$18"GBVEN%D-T\*(8U)$CAE;P?,2;"/_U0P]$?CEJY=_2Y5KWAD0N^0!
MZW)\X)^<%0;"'D #&@0XN.Z:]N!3I!08 DK0#!1=("0=JUN3(XQ?H A[=NN#
MW""96*L..SH'KJ$4$$ZR 33>[= %:# 7G]7UP*B$XB:4JT;;AQ[(@6.SZ*ZB
M\T3)HU!X:+=*CWXB\!<R/AP%QJ7]:KKY,!Z5;IJ12-]Y8M(ZK%#;:>(AR;/I
MI! GI$?8^,BGP-F-Y/>R>D CP+ES1",[EQ42%,'%4:2:\/G&P=3!DSB1L)A6
MA9:=#<0 "=><]!(@*^]YP,X%KH2^1CI;D44:7*&05O;K>#\45+L:&R>)ZL/K
M5)EQ7F4@O#M/OJ/0'1@!07D3I2CPV&\0)5^;-(\Z,W&<*95#\-XC".K@#QL&
MD<K?1)D5OK&9PO=P%AV87K+JZ6@5E?J>9'9D53H2PP-D&:T $G! ^E:(K+$1
M'_'BO8<'*)=>9QCF1*Y<::7*/+T"Q_F(_8*,TL=@>^@HL4@$NP(, R*PPG6&
M\2/F!&W54E,(;XW<-%'SLG')M"F3DX5%BQ>X7?G;%XVLEIT753]C#8 !"@X#
M -% K54@HVG2@0(^WX/)PH5J'EK0Y"T6J XU$I[+TK$HB@!+>#^\,GZ0N L>
MQ.Z'0B5&8G1UXT_+L091?](3,:6@O">I*54),9<Y?&*C27J@K$@QC+$4@OBL
M:JI@U^;7HR4YSLNQD:BX&(8K=8XJB:F/*T0>NC"V9@P+M\\DI*0? 3^4,J26
MNAF8W&'T2[(1^!;FR[@P-OK8^8_'$5\BH*3SX',N$-$ &> Y72W:3(?ADZI$
M,&(B4" LR/OGY/"HM43J#Q@>]S.GS.RL+LRG>\S5UNAJDF4<VKID62<[^0G_
M[B3X-5D@I@30-T1]P&$*0%J8D\$X+L))T$%N)GIJ]QV0J0\+<DD+VQ%.\31*
M#D^$#2;ZT;M"Z$<%-YA)P*+U[Z,&AQ!(2,Z3OVO=U"N%V-]S^\?/5+:$\YDF
MG+>"+#J@9A%">UKG?/WVN2]M_N;R08KE0:%YPSZ&7^NCZ11A-NM>(I'!S)F
M)GU.R\2.F,2Q7&@W!Z\_!@0;? [H@34$:Q_-S["-A-1ABH]T31JYS*9VB9VE
M24-)(K5#I&0D2A$B&D:^:0":S%OBV(J)Z,Y-?Z^\3[XXK8&0*^Z-U3;']\#Z
MB-='$3KD(S-ZQ6$A>=K3,RIDV^@":4?W2C.E*7*#>0F;KDT(@%QRLC0$ C#"
MZ!22='9@4\5Q:!#/<\7%.J[\$1<<7EBHB[.4 3,;GSUM(#CEGM9^0IL!62B1
MLX@$:S[FZCTZT/:.,S- BJSVP0EA/H5J[A.X0:I[2?4*K+!UE=O6B498N_[6
MB2B8D:CQ(<Q(:[[PT9=1I0(IFSC,Z.6@0RY'?RTT;2#W4GUR+1(GZB4C,^+8
M"R$.)B%EF+F%,ZX9E325GC'5.59'BK]055<,%YQ$#UB2D&<UC%V4ZEXC?P%J
M.QHU9^M#"8*;PN:HP0B]P9 YI9<[T8>X9*I9"[GQS&O4D"?UM16>;0F: Q5H
M-A%C"LI)+X[)Y#<'E9!0BS%#E!":P*F<8S21=4T-2OCH01GZ59_0*2!'G0E!
M%JW9G&,ADVK2-W_[V2M<6SY,;T1%Q''V)\J,3() QLG ),U^$'IB2%\0BD]7
MT>=$2Y+N$;VH.H1ZK)@K)9S9'P^"&REP(;40>\3KP&"8")WIU)/2"3YO+&%K
MVK:YI4(OJLNT6RIK;ADGKO%=67,K1$4P3D=-"**02+8_]KQ]O)6G7EQBA)@I
M VU<%.3]^DB912$6\2.2=V]LK>=IXUMW&A>E+?+74;2=S1XM1J(:%)YA1BA)
MXPF_@YT'JW9+F#F<+Y;4L"K#;*&V8$X7-];.$6'X<<W_ZPN^5:&+4IXQ!Q^U
M[Z).A@/#9<VI"K<0;"),'(\# B*"-W@\,UUWLAU*[O\-3Q%(>725JD)-8_CR
MZ"KT][* ^JELA<]Q+#E[RF=2?K8D@R2&7/M/N&UB6H,K6CG8"E)C\BD,ARTT
M0F$M(1CQ:=2_S E!Y$$'8#<9O>GK$;0B$@DR-X,D^#Z)4XNU;7./A4& ]_.A
M"N[(O'HI:]'S*I'A&*?J[3B?/ R:J=.N2CJ31KLX&DY*% 1B2/X5IPG3!WLW
MIZ%G4UJJM/EKGDKYPR8QE_8=A8M94"-?1G)44^U+]68:+E5EZQ#H^4;J;-*D
MELZ+RE(=A#D$=E#X&)ES9QN6& *93J5I7Y9O]Q5Q,/;^R0F-L-@']AE3FE:P
M<>O+$ZNI&DU8A,YX[9XQ":.QIN*:#C(\OZ%U;-J+\Y*: IP>ZK@@8V._-F>8
MCKXQA LY?U4<^N_/B5-$E6/8?>'KK1=6V,0/1&L<?_=/6^6KD,>!H_\!:]M^
MH+J5:^;X4>82EL3A[^!>J&>&?3S<ZAPWUE"36Y-+VQN'PR4G&)1%"%V$6D'C
MOY,@(%K"]56T/I%(U&"W!-NY'8AR/<0S,G(.7Q+,M"BN<_9];/L@,E"[>-Q?
M;5P$3>J8U%</X!/+P-$0<0^?&T6+8S=,4RD^_#V_J7NL3;9M,QSN!P"724ZT
M[-A( ,YYS[X#6&<Q^ZZPJ4HR+X-80CH@Z6/PR71?$#M+)R_/M"!. F*VWYUC
MKA\6*I"+J@=$G".\R3U25'AN?3B3?O0J=79^FO>^=" [60JJ '#/V=/!P)OT
M(\3C2,K3#C2B[ JO3-&U8I+ AQ'C,XS2>JFX000/9/!IT:AIVDPQOEHO%A).
M3U]*:I0A8\"#$F\Y$*MH)R/\IG(@,,=>5[\):ORM!/I?,M3WO<%V61%NHC"
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
M #,(2EPCWT8Z<^,Z0V5OAHE9[]9QI![II^ <W47ZB0!-5"'RCB;&;N(BE,X
MLKKA6^\6PMGV#H=@2];\&-XY4+M"TSUW98"I#%\O0)*+GJ6NL!SGJJ>):+JE
MMAS7W7%*R=NS41B"?L&@I-LF>K:J<L.!7-3"A^^#9>%WQ8Z3'QW$[Q=HQ$;9
M=R>@8J;Z#KE0-+[*(E!]:3150M'E3R8#I;?Q,5")X4DZ@T;21:F27BLO&J/"
MB(7ZE&NZ?F9>?V)Z]>E%_^SI1=G!?W+X7]O<PG^I%_A%UF?/GH*UW;KGE,DD
M]O_V[/+,? JS;[X]N[Y\?'UU=@%OAL>?/3V AODQ:[=X U7E-O#J@]777YYQ
M[:?^HV\..&2R;GKPE>E/O)[2M?@ ?+]IP+60?^ $>,TM+>_9_P%02P,$%
M  @ 9X%:6$M"C3JD'P   88  !D   !X;"]W;W)K<VAE971S+W-H965T,3(N
M>&UL[5U;<]O&DG[/KT#I)%M2%42)U-6.[2K?<I*3]8G+3HYKS]8^#($AB1@$
M$ P@FOGUVY>YXD)1MIR-*_L01R*!F9Z>OGS=T]-ZM"GK]VHE91-]6.>%>GRP
M:IKJX<F)2E9R+=2DK&0!WRS*>BT:^+5>GJBJEB*EE];YR>ST]/)D+;+BX,DC
M^NQU_>11V39Y5LC7=:3:]5K4VV<R+S>/#Z8'YH,WV7+5X <G3QY58BG?RN:7
MZG4-OYW84=)L+0N5E454R\7C@Z?3A\_.\7EZX%^9W"COYPA7,B_+]_C+#^GC
M@U,D2.8R:7 $ ?^[D<]EGN- 0,9O>LP#.R6^Z/]L1O^.U@YKF0LEGY?YNRQM
M5H\/K@^B5"Y$FS=ORLWW4J_G L=+RES1O]%&/WMZ$"6M:LJU?ADH6&<%_U]\
MT'S8YX69?F%&=/-$1.4+T8@GC^IR$]7X-(R&/]!2Z6T@+BMP4]XV-7R;P7O-
M$UA-+N9E+8A'3Y>UE,#R1L71?V8)\%ZZSR)1I-$;>2.+5JI')PW,CF.<)'JF
M9SS3;&2FZ2QZ51;-2D4OBU2FX0 G0+:E?69H?S;;.>(+F4RBLVD<S4YG9SO&
M.[.\.*/QSD;&^ZE>BB+[G5@11\_+0I5YEC)G<.VO:ZF #_Q!N8B^RPI1))G(
MH[?P(?,M^N^G<]74(&S_,\0B)N!\F !4P(>J$HE\?%#A7/6-/'CR'W^;7IY^
MNV-YYW9YY[M&O]>MWCW3V23ZV,FBIZH!%17*>\=]]@]1"6^TZ(<B^D=;2!"
MTXLX:E82YEW#(]L(OI6U3*.L:,I(1$E CK #;+)FY88'&T>#I$!,7E:6N*1<
MKV6-.ZVE(SJ<MTU4E VH8M$N8+?;6AZA3-3E!Y&"VHK&CM: L6QH+/A>%'*=
M"2!+K^7P/_YV/9N=?CNV1/IZ^NW1)/H%M 8'S)2C/W:T5R)+HUSS=B&!DTAY
M"0340#\847B;:6_*!A92+*.OH_/3R12L2I[3FE2;K"*Q+EOD^0;8%RW:/-^"
M[4TDF,XT@FE0[.6\;L& (]<?>(3)T7T*MP87D*LRDGFVS.8Y,*@T4T2+NER[
M801N%0RR!.TBYE45\#<#6RR!K*^CZ=EL<F'I!YY690/3H4;"AQ*,)\A&);9:
M\F ;JSI3L! 8ZS [BMH*Y_XZFG6&Z;\,CY(+664@&F8O5263;)'!> GP,TM@
M6N2Y+SUN))1O&&=?)O^CS9'!T\NC&$CU:'UP,3G])%J!G6TNFA(VL$M=3/3#
M=':^'L?WG!WW>YQ;5ITB)>!]-\HD^GF'&+'8 $$W(,Q:6S/2<CLY.FC8WB(J
M ,_PX# UO)*V21,=PIC@L<%:I4=(/5()J 3X_$U4BV))0D8?9JJ!MT";HJJ=
MPV\K&'6^I>^(*##.T2O8<S#U6WSI>RGR9@7&#8Q,6Q,;W\E\(6H)/$U_!8,
M R#!B:P;@$H@_,8>BD5#*FIYDHNV2%;,"B?^+#*&P$"CE1.>=B]=K,MVN8K
M?<KU'!XW+I0M@\)M/KWP#$,<R0])WJ9H,]*Z75I^UFRT840P=Z#6::8 LJB
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
MJK\<M):>*H_;N+=2WNU,</SNABOQ)>LQ="!I&:K&LNP:<DN0@S4QURH*#@I
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
MXT9O@U[GMS;S^\0$IRG>9-J8NPRTG17%S>\Q9\CR>:A9VF%A9\=[LU&="7[
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
MA$D$#]R4^#"<@/B4"V;DJ#SA4"H:&N$K$*@A(0D&*N3!Y"@GY)3G,O*^,6G
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
M/C*R00JVK<M\!!EL@.06JN]@Y10U79P_N(7/M>G89_;P@7%VUF>RB#43I]
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
M[!5DO\EO9<.QN))J)0K40,6^</T'67;U[M*CQ4:LTUR:3;-@QUKQM 5H$%A
M@3W@X[;O;M75T &481I3(:7?..VS!OQIUX;/?JX9GUK*\NK)I)*$K@#NM8>Q
MZO'YSN?[7AO_ZM$WBS;-3%<53[>#07;MH+X#ZFUT1I\B]I7O[T:@3\&80<^&
M4RLFC*7V5/F>1SJJ!< ,\:?)SD]:)4)<<NF$MJ''P%6BVM&V2TE]$%$;!&G'
M8UXQTTLI^9T8I 20'@)H]T(K3&JU&W<&$T7@$X-V=*FQQ;%WMNF\_3\Z^R_X
MNFT9W22S<KV$I/:#[8K7.$VZ*EL(\L&'S<2T/W]U\9$XDT)=V8^>7)-W'!\7
M#>=W)_R7\<UX&#&R9>WD.=4:'-D4$K5S>SMB=;[J&\G3(3#RH8_ (+I;,(]@
MZ\/QWA_^O3V;\CK<K%%6[!ZXY42I"J=UPUZZD@4$@LR<GH]P1A.K6V FSFFC
M*UXY?6[<RX./Z)KL@Q4K/^3A7SRZ=#)'[[WBYZ.?#M0[194:7)#.YNXWF<Y&
M0)9FU7@M$6-TBV^^S;^D#?&$G6(5!5D2L].._9/]"Q&HH>!GZL:=U&B2L#29
MC#YW'CRB7!0F01B%U,6"+ N/*9>D01;-G'9Q'(09EAL1SRKX_$8VG8-KPF99
M,,^2T<\.)[?B^X*VQ.D4BWD(5\U''S?Q'5U[;#K?\=DP!6"=;MQH@+;N7-8"
MVM:N%RP-"=VG>^8-=QUY%O1LHS0(9S-X-XBS>/1/5;_*G]?2!W/0EP?/HC!E
M43+[ZYK5&QW8=!I,DADY?++C\&UWP-FS"25P%@8A%E2(.(VL4=*U/T9X*B"J
MJ&F*>:;2?G/U[]ZML*VJNZ&^X= &/#]WYQ%SJ/[<E+/C1,KH\]'E,&W!YYKR
M'+]+I0I@HJJ*UQ3B*,;_R7Q&ZV":9*,/;K*AO?4!+_1/.R,CYD H?LVF2,1=
MG[OB.B0YF@5A.*6?"*6.Q)@!2VZ:6T^&<Q6&'G8C,%100UR*VG=8=Y3 \"[I
M?8\[X+1Z&*K,((Q35YA)D,R2%D#B680*'4:UA2,D99)-VD62^<4LFK.;9KVN
MG/]!XJ;5!>('I?S[4?^JLA];6ZC^R\'>">6UGXYE>_!PS<^T!TT_(;H#BS^8
M=3FR%Z?S021Z"TS;@78ZBC<\G2:TF 1I-G/C?$#H_C27G4Z5L1@)D+69^"<(
MHG2."IXP")QG'A) <,X.0;2ZM=P=V&"]>,AI9O)CR&;^W;+]_8ZH)&+Q-&+I
M)-Q-4.,2!)H$,R!*$DSFDX$N']H7%NQE(?SJE(;2IK)].]\_INY"VB&([TJF
M^T4K0?%-TC_72O;(LR2($:PGH70#Q/N"HSB@ZM\7_*?H,PC>A9\G<?: U<BR
M,'M.^)#'BYYZN,K0M=.D?4'BF@4AQ=9[B-T"W1ET-@/-K^XEORA><9H:EW0
MI@EUHYOC_](-;Z=[N9:,,Y:.L_T\2\=S-AG/]]EO:;G';SK&K/$]?N*0?7^(
MZVR"Q^W/)VYQ'G8X?0@4W/%AL84^OI'PYZ&+D(OD;A%WNK9OI3?:^1ODU)3Z
MB@.463"9I'1KP@"VT3R88[)P!PY_&<YCNIPQM&)<IC/W=-Y'&0S2,&J!?-'
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
MT-#_3>(;]SDK9<%1+BE[K<H$X8_$KPTT<$WWH&PMX0VYW7,S2)/"%2K62XU
M@C[IK,QJ)VJ4O:T4O9%%TYCP?T_NDR?CCG-#H4,":]MT93FEQ-:@#*H2<*2B
M*\>G8F_!LB8$L9\FBX%3_%7F)2BS"()>#\6B],\K>WU*+_?B_<=9V*EOBZ89
MQO[E%@..6R'59-A#88(+@S8D^R0Q-Q[=GF48H  T;O1VY*FXY.'D-RJ]4Z\R
M8HA5GW(3YL.N@:C@#;:7_<17J%3GOI=QTL2]WYU'H3H6JH)O)<DMLSP1>WJ?
MGU75$/C QI28BX9FUT83(E%KJ!YQV%W$#)4A_EJ'XFGC'XFK'>71!!4')"J\
MJIH?CT1VGS&ECUZ)42'NZH\23E,,[FDZ0?]1K]XHPCL:IXTAO4\T<,RJ%@YI
M>&Q,%2E'.<B-2#F2?HUA^H.TB%U5@)C3R^'3-8_<GHV'7^SS<RX_JOG_BL^S
M2=21MH%N%(F7S!C1$T0??!JH+&3IE*;X6A(=0K$J9DJB T)#0N90CH5!E1$&
M!6+&T/BD_HCBA(FT2@WF&+,*FE4\'1LF5=F%><1EW E*)'ZJIQ1FCG6].172
MU$RV5BW8JZ*6E_RJ)0Q5/S$' )4((WDGG?PS2@A29U8Y 4DP)$;L5S1S*[;3
M:*#>BJ5C,O*%RH8U;^V(W<;YMP[MB,X^4J @+0($ @ RHUV?="/ASBGZ"T$%
M[8D#M_ R[5G:-Z*;=R*E +>XI%IT=<2)5,DN-=A)QES-QO!X1U8KXIG\7M)"
MUA#(")F#N-)$K5@.ZBI'XZDD,(7@R*>006;.DVC>&4_N?\ .N_P)NG3&7 _M
MW89&YCF!3+_N";(*V'#/.Q"(R5$TGJ%+^8CT.CJ:5T<C4D]SB&  87J"_C/>
M49\VVLC^OQ-7+Q<I!38U&V"JV=1U B&D_$NLZ89K5[1.7OR=WO*MTHN;SY'^
MJE,%=<SHH#B<S68OKA_76@L[8CZ<SPX^5Y<*I\I:T>%\.#Z:O[A![Y^(-Z6U
M!/4%%3LU!-#9!89*A#6.;<DU6/$0$5?KZV 2\]X3A\.CPP.Q_UF&#3'#\E>U
M/)Q<)\.#R4R\;<G_IY6J> QK+4:'V;WU[F,K+ <<..X<UTD)<>5HTF)#OS.N
ML2A)M.=72=_X';9/O\CB5,=5-72,G4ZCHYZQ"=ZFIN#QW5\9'30+.\F1]*I[
M/K)J16A.]SC-4(K$!Z70Z\":V1!VP[:%J2Z,NB;>5":VMV5D4GVM%BZ<$B(C
MJ8O^@XD.EPF53UQ4TJV?0C:'8=ZB?)W<+D7KY_:J"_)UI=;([+Z*2OS)U1S/
M*?F1 L27DX$./;JH:V]$:+Z5CHQ%8NY4/U X*NA8%V%"FT#TD/<.R:N.IX^/
MRN!0S">WW0R/.K?].&"M^#<-&N>8LN'BOWG:_&QR&7XM:)>'WUQ 7H&%#B?S
M);:.H_GA0-CP.T;XXDW!OQTLC/<FXX]KA0%D:0'>+PTJL_I""IH?DR[^#5!+
M P04    " !G@5I875Y1G(4$  #Q"0  &0   'AL+W=O<FMS:&5E=',O<VAE
M970R,"YX;6R=5FUOVS80_BL'=2L:P)4M.4W3-#&0MW;%4"Q(F^W#L ^4=+:X
M4*)*4G'][_<<I;ANFZ; OL@D???</?=&'J^MN_4U<Z#/C6G]25*'T!U-I[ZL
MN5$^M1VW^&=I7:,"MFXU]9UC546EQDSSV>Q@VBC=)HOC>';E%L>V#T:W?.7(
M]TVCW.:,C5V?)%ER?W"M5W60@^GBN%,K_L#AIKMRV$VW*)5NN/7:MN1X>9*<
M9D=G^R(?!?[4O/8[:Q(FA;6WLGE7G20S<8@-ET$0%'[N^)R-$2"X\6G$3+8F
M17%W?8_^)G('ET)Y/K?F+UV%^B0Y3*CBI>I-N+;KWWCD\T+P2FM\_-)ZD)WG
M"96]#[89E>%!H]OA5WT>X["C<#C[@4(^*N31[\%0]/)"!;4X=G9-3J2!)HM(
M-6K#.=U*4CX$AW\U],+BRMFJ+P-=\!T2U"'<@?XHC%XI"9H_G@88$=%I.0*>
M#8#Y#P"SG-[;-M2>+MN*JZ\!IO!NZV)^[^)9_BCB!9<IS;,)Y;-\_@C>?$MY
M'O'F/\0KP%?[TEC?.Z:_3PL?',KCGX?8#EC[#V-)RQSY3I5\DJ G/+L[3A9/
MGV0'L]>/>+J_]73_,?3_DYS' ;,LI9^ TL>:Z2.7=6N-76V^$CO'AQW9)04(
M77/70Z^4_1O84FU%SYX^.<SSV>N/E[]??HCK[/4>=:/):@?+[I@L\=$^"%"6
MD>=..1685'6GVI(]/6-5UJ3;:%8&D4@J:JT(K1RS(.YA1I2,%J^HV,"APMFW
MW-)E[S#!J."P9FRS5Z\.2#S%U#JDI;,-15]3X>UW;"I4QLHI$*Y(IH>0^!>C
MY'FQ>3XN91QH3\'2L@?BG7+:]OY!MKR$V\$3Y-@%=0M/'G#2MF:3TJ60W08A
MDH25BEN+_E?B#R)Q>7,=:12LG,<!\L*(X#.((YQ-9\52M4>E,F5OHI;R,,#4
ML2OA$B8N=1:*9-B#1*V&\)ZI]G8WH]$)& 0#H:Q"E H8S/=U(!Y.J.@#5CM@
M\W1&OZ;T;A"2YE .Q&1(QW@->8K!I\HBXN(ZQ#!.Q1X0&'4!SJ!@-A+5I0ZJ
M,,AE[U'7L&/=%\U&;C"-$(?[VA5%E)ED"E7A)Z.M1FTF,:-=A^*-%3C4P3?9
MF$BEK:!)L?H&LJ@08U4+,-V6IJ]TN\+%4KH^9F5(PH180]0)BV5OC+B))?(9
M4CKU@H21QDT!D?NQ-I9DGM,DANL<*53MAFI5T4V*ZKRPQBA'_*G7=\K$!EK2
M+Y3-TGU<"\;$&PX8\2C;'D&H<W!5=Q*+/O@ (3@]D4AW0V0,XC&HODSGWX =
MI(>[6-LZ&SE_"[.NM:08,A3'83M6JU#ZV1"0625Y$5D9"-;H*M9MH8RT),5+
MSL=&W<9'#\E7M.J5-*MUWR5*B.P<Q,8>2JU3FZ&>ON_$O@W:H)R0 +0>9I/3
M*/ H+;7KTX>F^W3G&F[8K>)C0Z8;T(8;>7NZ?<^<#M?X%_'A,?1>H?0D*+R$
MZBQ]^2(A-SPPADVP7;S4"QOP1(C+&F\R=B* _Y<673ENQ,#VE;?X#U!+ P04
M    " !G@5I8Q6YR#?H.  !"*   &0   'AL+W=O<FMS:&5E=',O<VAE970R
M,2YX;6RE6EMSVS86?L^OP+B=;C+#RI9LQW&<9,9QZC:=I,G$Z>[#SCY )"2A
M(0D&("WKW_<[!R (RI*;=A\2\P(>G.MW+M"+M;%?W$JI5MQ59>U>'JS:MGE^
M>.CRE:JDFYA&U7BS,+:2+6[M\M U5LF"/ZK*P]G1T=/#2NKZX-4+?O;1OGIA
MNK;4M?IHA>NJ2MK-:U6:]<N#Z4'_X)->KEIZ</CJ12.7ZD:UOS<?+>X.(Y5"
M5ZIVVM3"JL7+@\OI\]<GM)X7_%NKM4NN!4DR-^8+W;PM7AX<$4.J5'E+%"3^
MW*HK599$"&Q\#30/XI;T87K=4[]FV2'+7#IU9<K_Z*)=O3QX=B *M9!=V7XR
MZU]4D.>4Z.6F=/R_6/NUI[,#D7>N-57X&!Q4NO9_Y5W00_+!LZ,]'\S"!S/F
MVV_$7+Z1K7SUPIJUL+0:U.B"1>6OP9RNR2@WK<5;C>_:5U>FJG0++;=.R+H0
M5Z9N=;U4=:Z5>W'88@M:>)@'<J\]N=D><M.9> \**R=^J@M5C D<@K?(X*QG
M\/7L08IO5#X1Q]-,S(YFQP_0.XX"'S.]XW\BL'BC75X:UUDE_GLY=ZV%U_QO
MEQK\)B>[-Z%(>NX:F:N7!P@5I^RM.GCUPW?3IT<7#XAP$D4X>8CZW[?9P^2F
MLXEX6"MT1YH0'^:E7DH*)R<NG3 + ?.H:JYL-%$FVI4B>HVL-V(E"[Y?F!+A
M#XH"P.!:;$'7M:E_S&6=JU+.2R6:SN8K1)@PR3:/=0T*IG/XQCUY_NACORCA
MY1$V/J'=3\5GT\KRT7M9=PLP3'8D<5S7-.6&^&UD9=5MV55R+KX7T[/L_/P4
M%R?9L]D9_LYFN)@]\+TU=[) 6,I6G)X=BVDV/7F*_\^FYX\^0% ;A?!Z;*Q9
M6EDY,<6:TR/QPW?/9M/91;A]Q-QBV^.C['CZ#!>GV3FHXL'3;'8^%9\35:J[
M!DCF1&O$HBL7NBR%QFV>6*Y#S%G2-]0CEU8I_Y@UJ*!MH%B)#SI+.EZ(>>?@
M"LYES*IT$#-?95@G2BWGNM0M&=")N5($P+FQ".F)N%%*_&9:)<XR\4ZQJ!D,
M; &&K=0ENT7B __"@T992?[$&RUT3387)7T+@VR(R]3FR1;G&:YK#>(W*H<U
M"O%9V4J\,[(6US(G'N&@F5\\/0)#D?-/\*H6'T!?-[)D@:\[MN@G=:OJ+EC(
M?PGG_6A-T<''W^!M:1IF*O7W'1(BM,DF2"M;[)M*;6F!#7]VX:#:'"EM9!\X
MR:TN%.\ 36E3Z%Q00FV5U]1"@5ES"]O2?GJA22RDQK":#.C$&IF-_@:%PFR;
M42AVC?%^(/.5AHQ>ZPO(%.7-(-&R@]J,W;!RR+F4S37<IM*E0C:"OTSVA3ZY
M@==P7#QP0\(1%$J$1P@-E0.*= [BB*>E2CD9 B>'1K4C0V++KB%SR@9O[S12
MLD)0?B^>GI]-SFG/DO(\>3N'50/+ L5PM9^K&#'?8J>U;E?B%WVM7^L/XC$)
M]+,L?SSW@'GUZ=F33+Q7A;3J+A-O:Z0M>F$(%:"SSQR5.U@ R"(Z2D@R1XC!
MJ$7G00<K&!9-7>ZW7JXL7+).=2?+3/2:W;;H(9C>8U3"&@J,5K16+Y?P+,0K
M(<(0HC9Q<T:&VK1B@\K1Y A.2^#P3BU!%[&4*T48[X/,0^-[V;;0A;BVIO+^
M"V/2WW'.T/@&>UK$,-[?2KAX!WLP8<FU'!Q^#KW"U([BAM6,M$+71.CWR<T$
M(6&U(Q$"^@&\@#O0PH!_!)\]!K)PQ.5:.S49 :_,<\MH49D.!LN8:U+67<O:
M6BD0!1[-"1"D,S6L!KAV+7MH0<+)=B3A7)5D0_(HQ"RB B4D\2G)[>=L=!0A
MG/ORLB,U9K0[94]69+LBS6;#:J?:MO0^<2O+3CWA,"G4U\['B"P*2T+2YCVV
M4V*W T9Z_39;AO/[,3-Y6A(  _Q3J$T**_&<-,J/8+_"EU&@O%XA=^B6'B;*
M:;!.$^.L&BE(498<D@FP5B!Z9ST(>=TF"L6FWT*7PX6-1KQ))I[Y+_L-,[^9
MNB.I Z;[/.=1F7J/L3<4NF"W7\E;Q?J,O+.?R-)#G7<<3@VIYV:\5=/R&MHN
M+R79Q;<HB1GI/SP"'W-JG#)R#Y_N:V=*7;#9YK+D_.#;-[FO(,.+U/L0 *67
M 1",5.,5!1=D]5(DY4/^(LSR8<MJW^'@_/6 M2A3N'Z>B->J75/E<-E871(K
M4S;G>[GA&R0+TD[3H9:B"T<)WKOE2"E@IBDI&5** XJC\H'H<HE'KA77>F[-
MS]B%/26 88AMQB3HDHL.%#]0BKK#+CYA+Q9 >*#18[10I<_BY<8C$26!V='%
M&[50=2&Q,S^87CSIP800AGH%("74=P5$&2SZF[$4-/7P'NQ<R5)C0:VE]Z92
MKEU'/ +XU3+XZ["?N-4F1"86WPR:^>D.Q24%VZ6G.ST_/J%$7\DOA'6]+\(\
M"WBBA\9*.Y1:7'!3W1J2&?*"M/RP5V%,?1^YOCX627H&"&%W>)WLRUKGJU&2
MFK5Q;4S![][8;BDN"_2J)+_/%9RQ@4P3\0'^T"U10%/-&_S .R?I<.3=/MOY
MXHL+U*8Q5!/A2BRM02U B /)A/</O5@XWN!#WAJ* %3W24M"&<5C'E(H$:F'
MW$YVA9<"VIJ2LY*/Q/L1"BNA27@V.>W+#0!AGG-N69+W[(W!-  98D011!S3
MXS3 ":=( +CWY!2[@RON!X0Q;G$]23%#6;.SO(R]+J?"TL6X37/"/?&#VW(%
MF* K0!@M2>DE S7.2?M+JX&!!ISG7,#?TT_!=L8%%=G&]XMXH?0M4V>#J48"
MC:DQJON&:ZPOL*[:;U85JGLT%Z@26-:80B([P_;8"YJ*Z9?JL  B9$''<R+P
MXK<EHK%E@!-#Y"#"MAIBS=U1W'G/YZ*3ON3E7$I>UD%*[)(%/,1>#*RG$?0#
M0-*G3E)9&=$E8[U8;LB<AN-)2V;6X#*DBK'/4^P5A:8;[A\KE"(_PA5\X1N1
MS:.+6%C9%3V]-0C>FA).@G*LI.SI $=!.3%,9AX*CH><\6N'Q3U">%CI%T<)
MG;Z#]6"(E2G)U? /UF%PWYDST-G*BIM0ER@C31K H%U)(Z:*-,?L6%<Q@ZZG
M-#< V%%K-B0K*IW)T\J4D\>CW!.%>1=R19^$@'%]:MZQBD()J);FRN#^;Q#8
M:_);C[64E5;D?I:RWMKL^.*A-)=FMTAY+$%X>*T*:G!29B\]K/<2^0$$=47D
M+]_,PE]DVA$WR>.]_ P*)C08DDH(E^#?;/! (GAY#'>7-/X<=#Z]<PY.<F^(
MLK^L>#PCB3,[I;X 6(<I0"$K=,X4T2U:O%IM7$!9GAED*20:UX8NCSCI(B)1
M&.WP(X*QX./40+@PPG//O4:?7HC/\)E 8W"MX%$IQ=BS1:3R%>'TA"-YYKG\
MM8/Y8[KDZIKG3B/0WNE?<<^K=.G 0!(W-8P_1Y&.Q7XKL)!47162%R>^ %-[
M9-NS3Q!T@MX?$GFM%]MOLV^-R1% 'O=Z29AE%5$5SVKB&7-Q,1@G);[#X_O"
MRBHJ#,@E-M2^?X 18'A_*Y!7.>^&61=PG/TS&/VO*G=O5^Z]61?WZ=ZG61F?
M>_\_$USPSJDJ'@[_$'</)JM?9<U^0_Y*CC.NKF)''ZN&F% ).E*#WX\TDHS2
M/#HOY!!HDMFGYI8F@ 6/?&_UTJ#F=<06^T":X*N)^,6LL;_-0HO?]E,:3=4/
MM._#N*M#^@HC7ZS]HRN6_71'UW]@!3-G2:"%P ME=[5;?8M;4/$X&D#X]C+I
M1'S]P.MPIZ$P('4Z>\G"",1G3C\K#H!!\T_-14?M"Y!LW']PL/D#!L3/2GR%
MC5I.V:/>(M:5J-^XKG3=O#&JEJA6:!9%3=9/5UCPM:.V%JY9F+SK&Z58#P_#
M_UC+-L90..?42Z'#<7E'U923"]5NN%\:^TFLE',S#,5CB0<>QLMS6:=].B_D
M(82BSB69_[5^UCONW8E>4G3?DFC!+?PLFZM=E0ZS:$Y2;Y)V/NDXMJ9BI3/W
M^%NI,)]2[-*H>N9^2,)S'4F#O3#M"AR.N:II.BEYKM//Q'$7!PT][O1#GGX
M-1H_47D\^&6O$(X^*-_/,GKO[4T[3+V"]W(SI$;.0TUA-Z>C*]9+3+S ,EGZ
M0PB>CWA4Y$H9M6GE :&2FS P2L9%@<40$*%9V.Z5_EF,H#U>PU5BF/11@S(V
M#D>XC <BF_S+4'=3/N:U][K6R-%K*FNYZM,(*%0=;@@LGN@DZ%,@NQ" <90U
MG6T,8V%2M6^?%E&]_*7/.3NV@AD&G_'%6"N_1 CO<>J!*GU4S1>1\)@-/\,+
MQ=O:FGI9&.)JU-@-%5[HU0+&]^DM3?YTB+BGW.MG0=O]^J:G%XXO@I;]3#YI
MR(*2)^*FE;ZIT\,,Q*-@5,>*V$6TN*3"\@5)!*&K%3Q*_-8[\5MD &YM.S_7
MA^L!;+;G.T'MC6S]2<E*@T=.@=3$VPWBIJ1S9S;"^!QU@J1"&XV+ 7_PD$RC
M&4W8U'QRT)<6?V^H^;=GF&]K:+=&K>W;<7$YG :-SF9K/M@ #AO!I]ODMWKK
M6VD9J$9GLCM.)8:(C]-_]D9U)]$'0 0J]>#!&5RD/Z7NCU9I"B'G)EJE9W8B
M/H)\)^FXPO0'Q D[6P<P/>,$:A2FCJ&L'(Z*B3#'HE6ZFC/G'LW[#XLX;B/6
M"9<5'2\O%EQ-<*GA3XSZ4\KM3S>I^)K;@#K,5]A3=>J63>^6NEZ0+D(A$IJS
M#6,]X-\&TIY".+QE1*%C=96O:E.:Y<;'(27'809^SY;)Z7IZA <V&L4\\9[L
MJ8LVS,'"\'FH=B.5<>C3R5I?>+%+/;"[5T;K$B3CGJ\'N9A^J+;!DNV<UI/>
M/$2D#^]T_!@)TSF;(BW[N JR:1O;3-M[+ ]>!L!-H'A\HM9071)RO)\B)E,S
MH*775B7O=-552=@.9ST!,>,9ZWVDX,,ZU@A7=A4!R^CG$Z-@]2>=<3X(/O:6
M_\E!E5A(J($/Y 9/VB9,.%K)<K+K=T&'R>^ZD+J6_.LU2MT0T__$*SZ-/Y"[
M]+\+&Y;[7]>]EW9)P]]2+?#IT>3L]$!8_XLU?].:AG\E-C=M:RJ^7"D)A= "
MO%\8Z#G<T ;Q9X.O_@102P,$%     @ 9X%:6.(]WZPT'   LEP  !D   !X
M;"]W;W)K<VAE971S+W-H965T,C(N>&ULU3QI;]O&MM_]*P:^R44"T Q)[4D;
MP$F3WCRT:6"G+2X>WH<1.9)X0Y$J%SONKW]GF1D.%\E.VCS@?4@LB;.<.?LV
M_.ZV*#]5.Z5J\7F?Y=7WY[NZ/CQ_]JR*=VHO*[\XJ!R>;(IR+VOX6FZ?58=2
MR80F[;-G41#,G^UEFI^__(Y^^U"^_*YHZBS-U8=25,U^+\N[5RHK;K\_#\_-
M#U?I=E?C#\]>?G>06W6MZE\/'TKX]LRNDJ1[E5=ID8M2;;X_OPR?OYKB>!KP
M6ZIN*^>SP).LB^(3?GF7?'\>($ J4W&-*TCX<Z->JRS#A0",/_2:YW9+G.A^
M-JN_I;/#6=:R4J^+[/<TJ7??GR_/1:(VLLGJJ^+V7TJ?9X;KQ456T?_BEL=.
M)^<B;JJZV.O) ,$^S?FO_*SQX$Q8!D<F1'I"1'#S1@3E#[*6+[\KBUM1XFA8
M#3_046DV )?F2)3KNH2G*<RK7[[YHTGK.R'S1%S71?SI H^8B-?%'LA>2<3<
M=\]JV B'/XOUHJ]XT>C(HF$D?B[R>E>)-WFBDNX"SP!""V9DP'P5G5SQ!Q7[
M8A)Z(@JBR8GU)O;8$UIO<F2]ZYTLU<4K.NL'>0=<5HO+LI3Y5M'G_[Y<5W4)
M+/,_8Z?GM:?C:Z,8/:\.,E;?GX.<5*J\4><O__F/<!Z\. 'YU$(^/;7ZUQ+L
M]*+AQ!</6!B_[.$//1=O9+P3%2)2%)ONH[02@,6TSF"!NA!%KL1-42OABX\[
M)79%EJBR&LS"E616%9VYI8H5R*U(TILT47E2B=N=RM6-*L6FP:\X*U-;F64
M_(U,,[G.%!T#!X*$QAD,2<3Z3M2P^;J098);)RDL71=EY8%&6O\'/N-V..10
MID4I2I1G M*!%W81L%Y5*?I:$=R@ZZH:-DSSK2^(LX9G<\9XC#1G@4,F\\H=
M0N#K49J%$@$:&(Y<-W#>M*H:F<<*'F:R9D1I6 Y(J(H6N+K^56R!IVO^BD=#
M:LK\[I__6$;AX@7(Y_Z0%7=*:2@_-&6\ [*+#P"1>(+#HN#%F^L/'^AC^.*I
M..@AC'A9 5@9:/9*/$ESV*)H*MBK>OK\#$16[== )A#;,Q1;E-WH3&-E@#FQ
M6GJ+12!64R^<S\^N.Z=QQX6A%P93L?*"Y?(,CMA].O6F\'#BS>>KL^OC"!Q%
M5L78$F'@+>8KW&@634^M@H@!*FY4B5O/O-4L@O\GB\G9QZ*6F4/GV#VU72J<
M!-YJ!3M%$V\9!>*RO@ B7?PLRT]@CC^4!<"S%[_DXJU:EPW83!$M6 5Z+C51
M7A2R>)H#'P#A+D&'@=[E<RG #;*(EN\?4E!LZ;HA>;[<EHH5WA-<3]-;,AA[
M!D.:,98%;M-Z)WX$H=C#7M>@!2KQ3[D_O !X?$_\]--KVOA5L;D4URINRK1.
M%4C9NQQT^!.%6D.:K:YE!@BZW#K+>R"W*8YQ#E&:0Z3 RZ</<B]PGDAHJ<MF
M"^95+ FAD8<B))-C8$MD$GR>XG9 6@=P 6H(V+S>20=9OOA5_PI",H[/+@WW
M\H[$FE47N"V9)S9EL1<U^$"DF? ORW%9--L=S7; J%R]@GCJ\-Q.WK!>@?T!
M@"V@H.5<4'@Q*?'F@#L] HP$?@#N1I8A<EW>N/SXLV%,0S!?@']$T-PI60JF
MFBO]Q+&B>]P**"0B;[J(O& 5&,@;BS-G'X]$[E 6L5():^$#?/N<@D^F0.D_
M$M.E/S70>B(')&N1 X22@,.ANIA"4HE;<ME4<B'!FH 'VD-()0X C#5PCT2X
M\N<3L&%:5Y+2YL^_'-C%U$J7'[4,T->ZH_().)\Y2UOMV_N]%9-Q[JG&[0]N
M9=0=8,-H\9%!L&R)&-_3(HJ%+05CDZ/_3+.5MAJ 2&M%:7(,RX,[C";'UTC1
M2A4.V!*W?U2$?JW:37KJ&:B?%_D?C<S230H+=9[Z**"CT_2J9OLB!UYQ@>?C
M;C9 :C;N#D)]\?[HCBR@;+@-&K6ST-ORP:CZ..J8@-!6K$ :,*PET@%63!0H
M>X@$2"G<[D!#&+AN00*<[9E#\H;$$-;5P_AG7,-Z!>JS*N.T4LSW+>60\V$3
MYT0H-WEO/!"G!@^L0ECAX4:FI="Z[D9FP)(HOO!@G+Q(77F<O@X;@==7DI<'
M7 @23AY@T92D=2K1#E2?#X!!6%+L"SP  A4&>IC<U)H)$U:!?#10UX<B9V2
M$J!0T8[ 7T%EHKUA-Y@DEJR-XW^-"7J:@[T :W%HUED:6_WBM5) _'^+YD7K
M!%@I5LA2.(3]$=1X(...]9&WP"O$&Z4BL0*-EJ'SI<V"40O$$<!I=9HW1$K6
M$1W+T-B#&ZK"?A"XW*3@RP&V#>F[,M 39CP&2B)8SD/-BC\*PFE72<D$9B,3
MT3-CQUOQ9;7G&!L:YBH][1JL50SH<B@%)W@/#$'[AA./UF>ILDM@3()+5TT,
MJKT"KM.J+78#'/3$#3&=@W57(JRR$!*'N)M'9.VFHC\'#!;&+Q4)0X>T1[2>
M=T+G>>00@>RU=&&.\,PW,) J3OE,K)L\M&:4Q,&XH3O)?1++:F<?#+9I\E1'
M$VPGW'4>KNZZSKUAL#VZ8VMTEXS][2J6, C$8R./0RT#TWHBK:TRJ@LTZIC0
M2II,1RY6C=K(T+)IS1H2_2VDCXFU\!BM$@*'"GYJ-=!@&_%$1#, V/RNI6R3
MEA4JT1PH7E;HT^L3F7$8=O-)<$/@@!( S>Y8V%E]D>XCY:X^UV+"JNWIF*K4
MNK"&0)CU'[N4??4'=-5X5IHL"H-,.%\8/&8B<Q#L ;MJ(8R-DB)38FS/!AGY
MU%;H&.-15>N/&,63$&%ZP7A?I9:J:W1MQ-T)T"S10+I*1>$JX/^_9$Y15$B>
M#08B1#E4ARJ/-9'L(%(C<Z*"XN"R_Q3D7/,.8H^M[)/T*=OL?=$ 8A6*,)YE
MVO)N:Y*ULT9:F=U!-Y:%[1PW6J0 99*RS\LI"HTB@U]S5C2I3U*  W3=3D!P
M#O,'>TKKK0PE8>B*^.*27*3[W'KT6-KP%N/HI;>:S$Y%)A0WE0H3R&A6-"XZ
M1'2-C5:H8&S,T_9,9,JTP\ZRW]HTX\FC!D-MA-*'(U+$0Z)L5)4ZR^;JUJ*+
M7; _.W[L@0!YK<H:@._E>WA_DSHB;4%^!/(L:4H#6=,3ATXZ2NH).Y4-]!0E
MQZPPD&W#K3VCP #<;8K>0M==(Q$F>W^CV +=%!FP*JDB0'K>?C4VCMRTC5;N
M>SW+;LAG9(-GL 6(;I40.$F*<HFD$1R8R2ARA :>E5S#V)Y;QZM:S1S'*%2M
M$25CI3.$F/X@,P-F5OMI9ABL1+K0J!GKR*.&RU*Y3C/P!(#'ZQ$&1ZG$#(%
MBWPLO (1ZV@NYY!=JI&3]!9^U?F<02['6,-PMO+"60"+=3-)'RA115XBLQT<
M*VXX-#/G=>TY?$X+X!WP7\'F@%;I:K")J]_ZAY\/H8W&H8V6@3?]]M!&IZ"=
M,;. ET&9@:'*4QD(!":' 1Z*(1 "AI R_\R?Z&3 @,CU-D :MN!H#%9,U*$U
M#6!/4I"I-BY 4VA3RBI1&]*Q<09108Q!@7/NO4(_R[I*Y*\GKL!16JO#1S\T
ME*IX0-X%=/!L&CI4P3E\;M)+6O_@WFNE<BNO?YE7/UY?.;[A_PN&_18@?P.N
M10@<4/\.]C5+PN.WZ;HL?E2Y=;HZ!EO2]P,551!'A-D4W1A>Y/VK=_ Q49^]
M;\/.(?@5DT70XV<'&_<P=<= 0T@/L5^L+2]X4%E#" $D;U3J>JEC:2P3W0%*
M;A4XP/"7/3.JZ'C:G\5R-WD.:ZR!/S<5A=]U^K']<&E2LV>_N+6@H56*N/R!
MF=J5'Z[.?M2PS;S%9"D6?K0X>V.MW1.(2B/Q%/[WI]'96WLP^-U;0(CR5$3P
M9 4S,%;@WY<+_'TR]2?+^V"9F(I,N/2C$#>? US+R=EO+04@#%&QSI,@8;RQ
M50(O H<Z7/$J80AZRYR"2WIC>T^].>%A$OCSN9CY ,<C2A^$T0L2+(RJ]I2C
M&:1[*8;DX-'U9P843[JL61WC34?8X4-(:9U'1 W@VD<BG/H+?@K@SOS94E"
M?> <1G;'BH 54IJ#/0!7)F[A&T9+?PVNP%^U.7/\NK0)?X8QG/AA.V((*1?^
M" *BCV5TG;3$P51#0>C1VGC:Z.#RK;@.Y>%2T^<MTN<W$]P3CY_9X'%4*JCN
MAZ O_65@I0)X)(R 2_UY:)@28G,O"$@J@"I!3RJ8^Z, :'1RPXDN-SY"V9HL
M""NL9!WGIWM:RU2L:MAK91U-/+X&!QB;73)R)%N/FJ(D\'XQ#%!#FR!K)STR
MKNW!O04=OK6Y!J5KGLG#%:\WGRX]T'H&*/)ZK7>/!^7HC4IXF0YX*++#'9#M
M4.]3+&.,F$F@'N1=66!:37Y6VNO_(LGM8?>OB0:QBI'9^=+(; "J=B"S5 /^
MPL0G3B&"?FDBDV:F:+BK=)OK"D-.G&-9HJUO8)V'/!-T-S%I8$*2KN7L9UBZ
MQAX+94E:4>!E@V1#+<!I$^LBC:D>AC/K> "1+%ANFK4;X@*"*.T*'/'NZAKB
ML7U:2UW;N60A4%2IX91-6Z2CLWEN00<[$K18] \+!UFVD.FLR-%DXD-0TTGH
M@1]!!C*1-J'7 Q3/IZ=DLJI/C/1M'X8^4HS(R])JIQ*'!&6=QNF!(UU0(DBD
M4M6#U:H1_@'S8JL-G&.^TR5N&L$NSK5NG)N"\&M WV&C :84KC!YT"""$M6-
MT;L9(&\>!*!H@U,)H%.I'@+G6#/,2))O/,-G6@ITHH^*@?T\GS>>RI,C#KE)
MZ86.ATU6VZFU.3[3D2Z0K\WNO>#<7@B*N(M:2OJ9K-]?SO=]Q'0S:_C)//16
MH='ZGIA$"R]:+>W*J#Q!6<T"F^<SPD<[M/+9=YWM*'*B-TX7P4,5=E\;<^?:
MJV'GFMO2UJGXH&N:@YJX);Z-BQ*W93QD.L=6 4#8D )[)L#W67&@&,;T:5!!
M3V>[Z$>9 '9UM?!&V1V^YGQ<&CS>9/5O6NO-8*VVX8J6.;LZ=@B((&;>=!ZA
M?9MZ2S![C\0T\&;3Q=GU \X&DR= ]DG@+:8!_IF'4]/\=!_&'XD9)H@7\&$^
M T6!6R\@E  87(5BW("J5=561_=JDI6Q^:\R"7M?Q[L"RSTZU,-9#,$>M%:F
MG=C.>H95C_6'@>I<*XJ#]@6HWS]9DTB!^$ 7Y0(;*[&" P-MD:;$0F,%SJ5
MW96V^8*.Z^)W^34N.OFIM#)H2]R%#>O;XI%6^=SZR%YXFY3"NJY;Z2L!IC*5
MN/BA+-9H.?T'H[X7<[>XQ\Y?6$*66=%'.;4IIOL&73Z=%L-M,?NJPP0'W&,(
MZ6V<LMAN<Z;&?4A'A;&%B53N@@T141#W;S ;7K+7IAV!N,BYWHY;(! 5%F(=
MKND[#!WMCIQ"K*]-?IP55:?5ZG[/BVI=P&;M(N]EE<@_Q(\98"T#^TQ!@NX6
MU$/<G@5=;[N/S<=D%/G-NM\M;=N03X+MW;-X/.=R_?R%>&/"_(]@8'S\6J(Q
M33C1WO?B/=UUH.> $V(A-X+7QZ+Q_[4 #4-V=)?<9 .8NWY;+6K4SJ)]*NQ
MO14EI6C3G*\]Z )("YI34Y$U^D2L) [ I!=&%MWJR5IA QZVNK29(DR,88LY
M>1-*]UOA%A#XUV6#,F B(7LB++7"J-8WLA7$#GYLTXJ)O=J2BU80;(K''.HC
M6W9%SO4A7%QR-9F84+LOVG4?3YGZ0];YK<#,.==C7%UD*CL5.9 .C6[L!-Q7
MDHYP?NM4A#A]BTW<VA$]*@#UW0%=O<\QA'7L;,+H%@?&HW095 I0H.UI^VS%
MN5#,FU*(HEN"J-4=E)\>-GZP%DU7:?7IXFVIM"N.H?\5(/N!LE;B[ W.3LWL
MDAH-K# /).Y7_QKH@(YG4]ZYG(FM9Y4I_C,W@]6K.\G= 1.-%_2M%3M-C1%F
M^4%?"A#_3E66# ,1OB=@KP!@8E:F"86<5#IL+Q607U3HGA/3!01A;G^<SM8
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
M<*?'ZDB^)47[>D-8GP-XPM?[U^_TNRD[/[%O0REA@VT9<R^RB="Q=?S!]^[
M*5&P,LK!U!-O/H.[7J'*_DDG@1 $_:(CP.4E;@4<HO< C5;*@X)0(:X$EVT2
M5<LTJ_RQ5Q$_<]XC30$ OBT;S1%XZ_Q*:?NK?2'W);^'NAW.;_/^699;?*%+
MIC8P%33#[)R#(?.E+@[T5NIU4=?%GC[N%$3,)0Z YYL"CJR_X ;V->4O_Q=0
M2P,$%     @ 9X%:6(G<[6N_ P  .@@  !D   !X;"]W;W)K<VAE971S+W-H
M965T,C,N>&ULC59MC]HX$/[.KQBE4M5**7F%A5U VA>J.^E:14M[I]/I/IAD
M(-$Z=LYVEN7?W]@A'-LNZ#Z0V,[,XWF>&8^9[:1ZTB6B@9>:"SWW2F.:ZR#0
M>8DUTT/9H* O&ZEJ9FBJMH%N%++".=4\B,-P'-2L$MYBYM8RM9C)UO!*8*9
MMW7-U/X.N=S-O<CK%QZK;6GL0K"8-6R+*S3?FTS1+#BB%%6-0E=2@,+-W+N-
MKN]2:^\,?J]PIT_&8)FLI7RRDU^+N1?:@)!C;BP"H]<SWB/G%HC"^.> Z1VW
MM(ZGXQ[]L^-.7-9,X[WD?U2%*>?>Q(,"-ZSEYE'N?L$#GY'%RR77[@F[SC8)
M/<A;;61]<*8(ZDIT;_9RT.'$87+.(3XXQ"[N;B,7Y0,S;#%3<@?*6A.:'3BJ
MSIN"JX1-RLHH^EJ1GUE\I;S_)K6&#!6L2J9P%AC"M5^#_(!QUV'$9S"B&+Y(
M84H-2U%@\1H@H(".4<5]5'?Q1<0'S(>01#[$89Q<P$N.+!.'EYS!6S(E*K$]
M80E_W:ZU4504?[]%N(-+WX:S!^5:-RS'N4<G0:-Z1F_Q_ETT#F\N!)L>@TTO
MH?_/E%S$>#O"*!W"S^"028/"5(Q#+NN:3HJVRQI,R0R=J9874+)GI#D";C9T
MG$!NH!(Y-0%-JD)1\=9@ =BKW!"V P'[RR4=X0(561@):UJDW3XY)SJ0-"N
M:>H*>>G;/33V 5AG(8W=BK=46#1P0>2,YRUG[E13).>W'\(W,K^7=</$GEI(
M(Y4U9"!(!6Y5H*Y&?GEI<2STGD TH"UCH"+$>DU8?2&Z9^P"ID'DT*F'2(4^
M'.F\UK"GP#1UO4X I^4:44!%B[1&&N9.W4KU^E;Z!Y%LG)TV1*Z2A1["PX'V
MSC4>2^L9%?71?FM\.:AF>6TDI_9KD]6<R;9"4K2+D)I._@2RL0)K'QY7W^F9
M=:]OJT=@.Z8*[73H2\7EM6E57E*'+* E 5W )%24PK)NN-PCPLHA9P<[R#@3
M\.']NTD<AS?+59:Y873SL>?;LP57Q,*QM(6)>Z*M?JRD#ZX^9*LI,OWQ>O"G
M2^;RIV0.;#*[7-H\#H[AO2(.4>B/IF.8^J,XA(F?CJ/!B12._HD:B7\U)5 _
M2JX@\D?)9& )P6B:0A*.((VN!E'J3R<)1)$_'<<6/HW&\%;#"$[Z>8UJZVXM
M30EKA>E:^W'U>#'>=O?!?^;=K?J%J6U%9#ANR#4<7HT\4-U-U4V,;-SML):&
M[AHW+.ER1V4-Z/M&4L$<)G:#X]^%Q;]02P,$%     @ 9X%:6%V 7H2?"P
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
M%J.AW6+LJVN8+6-95^J0XI?R'AH@&5GSUM9ZT5BRJM/;HR*P&Y>E"?K9EXV
MYA,4-":B[(BIY!T &2LTI6\*ZHTVJK,9LS_BW$[G+3=(!>6P3Z(A@0TA,XW!
M)"\)*8$WSP]"P UQ/^1H<&R=DU34GQMH;8FBHSE[4I#0;C TS1K.8I]X$U@(
MF,]0/:0%G7)!JF,_%!?VJ47%OBZSEVN O)<Z=P:KP&<)"0Y[*V-;(] ?-"9I
MBDPXW7PRG.XY8I1,>\Y)GKA\4O](6>NF7E?(:/M^]P9-?HR:WU)H'<L3>5&@
M#?8AAN_(X2K*FYK')%+01.@EAS@:%TXB 26$7'D;D.7!!/2H)66R&I;UE 6]
M7,(O+,/\XGO5%XOY<X!F^X!VW1/EKV(K+E];T0_8*!Z-T?YX;08^ WH4;>,-
M*(E/!*/14TRO]+5]SE$R0C?7LV/?$9#50K1XO;>72"80I-3R>/MA'WL@>L6Q
MWW_X%WW;J;V%YVB9(S9+'@>0 X#;O2N)SKCT6UWNR* 7Y)^GW2#7;(E^4A<4
M$<@,"[Q $J'Y \FPUJEKEWSM<8;ITNX!IR#:!S7BLS!U3Y:=Q0V$<?B^VI1(
M02N]%BD*[IWBQ]%[5TIVPE5RUM,EM^WB^N92W/KSN=$LWG7@3&?L2D!'AX_$
M;F\]'LE\:[1O^K!GC62HT5.+?41H"^26%-+DECC+_D2"+L&Z2.NU'ZZY\ZW&
M<4T=]9_,'3=1=B?R/B\\Q@7Z1Z/^;%B7!\%*'DD92P\KL'LOY/H\%+^5XJ*Y
M:U#0HHFKRBZXKLME[K;<=%/81<JB<.D^];:[OKGPYGHK-C"/0:Y@Z\!WX5@(
MX**"P"Y:6GQXYWA85<,&8.%:ZLLJ4Y[]S85W2>A)1&,,56E54X=#4WC.^W@"
M+) 5BZ9@10*B;QBZQ>R[I.@(%-1#2K7:+UTW*/0ICPQD>T-CA%@TVX5,OYG.
M]UP;P^'HRO(2O)^D).][[*SM^43G\21+ZXT<FU)0GJHIQB"C)*V6!^= .DFJ
M<DW1BT2L2Y1?VL2A6_  2:+5*N<%67="";M^;7LG/KS\7!GM=/%E+W$V9:_=
M)/Q^*#^8SV=1K]&3O.1I<H;)][:%&.=[R?8HRX#2_^,[%(RJR;.^)S\]9W&*
MIV:*TE4WLQP#YSO.F'U5%YT= 'K_9,@7_Y[IL5>Y#M3%M7DB3>^\J--CUM1M
MTVI7M7JA,Z:N[9DQOY_!^11H\$GFKB\]*'$(]6/ '$\3.B'@QAZ N"BM:PT?
M7W>><8J)=HP![;K<7=>>"Q+L;CG&ZB0:=^,^(HM#VYU9M1,(5Y%Y/'T!8X0A
M(YA,HR><]Q%.@ODX>26^>1!"YE?@PR@;SB#V\QAC##D8]Z-7:#$:)_^'%F?A
MJ[3(\_Z+*.GX<Q8&\\D8\7\LKJDX>#X]URS5 T)LHW+*J>ZC#)^O(M$85X)D
M3<G3Y[2J1AS0M)E636VX05\T!H79[(TY6>4/^ZBI2/6:\_=C_O- H"#-T\O1
M9'2OZF,X7?W=3Q4O']'N DUSC%!ZJ7E>;+,)HFRM4*'X/$-2*>H.[S@_@)(_
M'>'<!3J[1)?H\,W.*;(;/%LU?AW>#KO>[P]8PV2NX0K<*]>D/;:;;3/>7^H5
MOD.*=O0(@#-GK0:II':',\X+*NKYZ%2DH0ZD#W"__FTKWWFZ<VJV>*^O0&>C
MJZQU=M,[[=R9Q?>:G&5=%3Z"F$\ 6-\8:?8'6A)7XJJ23F*JW<'F<;KW_;-7
MS&%T=W CJ"7?^DG+4"M6.O9Q&"5$WM>NG1'=>:X/7>QN>$9SRJ(N$&M(O+XU
MAH>^XIWUOK 6JK[C[\A4WE%$W,?6[FGWJ?K"?:%]7.Z^<_\JZSL2(%=+; V'
MT_&)J-VW8W=CJS5_KUU4UE8%7ZZ4!&Y:@/?+JK+M#3'H/N"?_P]02P,$%
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
M+\#WC=9N>.$-QLOBY7\!4$L#!!0    ( &>!6EA@,"^&[0,  .((   9
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
M&>\4[D,? QO*Z(-B#4)V$LB$^5>3UH+0M=%U2F*\*V1RL/^9?5"4Y8;>(Z<
MAID!O\"+O",1GF!+$',C@LDHP8837C;;B_YRN_+KN_#*,_$0L6>)_Z.F9T,Q
MZO#)]5V_@M%"L7SV?#BR3NV>>G!RY^H!4JV;-9 12U9G/B[P5AKW/[E1)<CE
M-LCOJFP>7)1-<1M[F^T&B?7-&W20= Q<%$N6$,+9W#;>EAB.1<MM.51K<M;)
M1#F;>7MZ@ECNU/!(3ZS6:OA/7I2YORCS:0N/Y_ =SX&6/?L\.W=B\B6(R;<H
M+%[@)KQEKC3BE-GM5:NQ5X42N7.O"NB=A3T'(>3^X$7KDWJ%Y2VXX20@]E%
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
MU)NMV$&2[*#:&.F6=!%\9ON"] 0LN:2GF'.P_\EEOA(BB@-W\;0051"H6\@
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
M[[.?2()*'8);+QL+DD:P=I+&":\XI&BX,DCN036#@02\0H0Y+0-J+B\[Q%R
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
M07XHNF7Q:_;M"G9MA3$H#$]_+RC3H31TZLS=9"Y\/&#UE550C$1VN"=&5GG
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
M+1E)'R25T_WV,0L(>I.(&AD1FS6Y?*F5 \G<H(8.YT?8#^I!2_3W^WV8? *
MYW=G\M5=/!X+JK:K%:\6RWE !KJ0QP,S?Q;JV\W2.?UTL7R9>;UC/>'@EIS$
MG"$1K!IG#,[F#\@VYO5()P&=<N5?[6P<":RDPS\'V6MU<;AX<Y2CF9JHCQIQ
M"I&4A6_\6#P7^-&R(=>CT?149Z:2*90Q)9NA&]2"6]"VV2%,UGHR4O(FV2?4
M<DZR8*XK:F652#DU5WF<Q[TMR_O%!,=K-WR*+W&/5$#2;>AH'TI1N3WR1P %
M\"NVK1/ *==ZEG<@SYR=W_&A)!)SI>[NX_+R0P1;=80+A*L[=?_R*(]?C \1
MG>01\XO$8+!;4-^6]160Q;KZ0+1#V1A\:4T:\-)FM>0!F!OW>(>-!8[)DDCR
MIH=!9RJ7'7:3OT4P V\&1]G'P73]"&MTS]%%W#7#<)10)&?D]Z 7-6(=UGQM
MGJ:#$_B1\,,AG([%3@G3P>%R8;$WPJ"HJ[R)(0D5'L,!IOA,13>((P4C./P(
M#E.82_QMCI,[. 2FP$&C'&BQ_%WRF#K)*:U E=XWQKEN6PKIYV\\5TH<MLD/
MT '5E#7Q>F(JQ,CBU"C1@O59(0S1?S,"N<)H\P[0 K:"$[O="*["2G$?[C$;
MNPT^O_JAYK9V7;P-MU^%&S"P'O3S'>*+[$YW3F_'E:8:LQU%[=FR/5I4L^TP
M=>_Q9Y_\%SW\S>#A3_Q[7QNI_*/752GN3X/CP)^,3OM%8K6?9O/9(?[W[!C_
M>WPV$MX.@K9A-%?T@/&<,FE$,6BMCHYE2NT(''0VGNGCE/?(WALD-IAPAT#=
M:W#&@6:;OKMZJ/'YC&[K.U(-G]M=^41O&]9S'>9'QZ>?I#9_=IH?/IM_P@-8
M7WB*+F$H^/WQT3.UTME(-V2=<<_P-ODX^X8I XD*L[VX]8QPK%NWW#Z%R&<3
MQE;RW)G*R' ]K93K^(^Q<!2;;F.(3LN][6T:NTP[%899IY-D V8N'5"QPL<6
M3;MDT"RU;47*66D]_@EC;S1'-6K]-[Z2!^=H@XS0?Q&6-IAW)-;@EI W8_XY
M):3D3Y\=TAT\@XMSG+R#GV8G^?'3.1:UY"=S8H*S_.3TV;\^'TQE,3\H(QP<
MQC0G/)F=Y<].GR9/87YVDI_.3G=FA<\.G^8GS^:CK/#?FQ,.,Y/_95EAHJ(
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
MYLC"XK6#*3_NW/MQYY,.V%' J:0S]R/'8EBK6!2SB'3$L'_5HC&#S2:P#&2
MP>6T>]_P)"K1_6=Z>D>1TA'P*#]Y>D)@R\=GA#L/#/QD E+X"'C]:3;+3PY/
MX+^SH\-/[HCU*ORS_O\>O&(^1^]G:N.=(_,L/WUZ1.G%^>$93?!D/MX X,5.
M<GJ6TGV7@8:Q>]HOT@)V:)%,YNWJ$JY*:8OM7'[@>#\91:"6T@Y3LVP<CVHS
MI.B441)]VC+8_B:T)9Y%=II6]=V*7M"D3U=YC1U3;!..PJF L!!C$E,@C8PS
M\U[G@/DG-87YW?O!&-KC%+@05F<>$ITGE,*13UJMV9%\C*R;!/4C2GEV<&91
MOCADM2Z=E6O7TF BQA]Y,6<&PB&UF '$QC_\XD=K=$X8(6)=L: 4."%^]XT_
M\U@5N]LH?PS.L).9_^_)/B2;,(+E&KMR6$R9N'3=[WSK9L=_^&LWMMH)<5L;
MB7OW]9M97\,.GIH_RMW[O:^5WFT7J.7[W#WXI1DQ?P.LEBY%0>(1;K?E_G:S
M<VLI//&Y)7J-/-DXDQI-I_:'[.O$)%6VC\T#IGI &4!L5UY@RP1[5?IKUVI/
MZ,YT'Y.<K:):CFW07.U.#2>S73JR(+8+#7!V=C#1L.8.-2C2O:UO8P326(H+
M,!,9HW;D3@Q:ZQJOB=3LI)A!<+J#69LR2_G%3P-XYS !RO$,#2I&^(BSF=&Q
MA,8Q/] %_5U+/08O';1Y29P;_'?)W@=&_H+G<'+XTVTM->W];=*A<8F9L^$\
M[U;S[G=8_\BS& @L2\^4F;Q_L87CP6AS7*XFF/1XF2V$99+/1\H9:EP!KM,_
MZ> "V;J\WRG^-O$[//<A1=\AEA_R]%5J;^L+?E^$=LE0I<;<L<XN7_([ZH/?
MI457T'TER3<>5NH/CR"E TA0\./U@+#EYWW5U?G_LHZ8=8#^-Y_D'1_+(L;:
M0]U1V7I?EX7<,%D5@W[0Y9J'<LYM?EP@SUB142M9U,$08>PRZ5"U=#-")9+R
M+J&$ /\VE8")TX]0;R?XQP@[_]VLF^D=H.!I!=M [N+_(7Q%RP_AEQ3?$YA1
M>/?E_JJZ](]:''F"Y(A 'W=T@ QBQ["PCM%6@IXS3T^-@>N,E/%H;9-4GJV\
MH78W-CC@ 2R/[E;&COYG<]1#HR[ORE%GI\;*^D-PU/]E"W\XMK"+8V:")WR:
M'5DOZ\<R@KL @NYEB\.,#(CQ/=T'OC> BDS%ZD+V-!HGGZ!MZS?4\N8P+G4T
M""F?W'7939;TQRCED3 8C:V.@/!J6B_&X)?,@I-32:3H2="7,CXLGV&$ "H-
MS\,;%F2V7(YGV7H$*EZTJ_#^J+RC&*\H7IO!# LSD)))V89A!:?Y&S*3WMAK
MB&)3[L-W+NWIB8*4=MGKXI86;;*8D@']_<$ZIQKG8NK2\6%^='@D.4ZST_SD
M])C^,8>/3^@RYJ?')_SM2?YLCF5/=\3"7^Q&G#,ESJCG&;J_-TFQ'Z8'\6'%
MZ#PC*L!(3[,8P5OK!AE'NRNS%>K2P'F[;ENZ^E#J?_I2L2[I(,+6*TC+Y]LK
MH/*$AR*$TF/?L4RS"RJ9.TES1.24JS!#<$*VQ@(_Q7TF\,15DB?$5PK@#9'Y
M-%PQ5&!F=YB$H_;'.RN"4H1.DF(O0R"WQ_<)4LSN:Q:&IZ6YH?$I.:I@?&G>
MB912=)^32R3@N,A0=!5"'2EY,Q[<G(C.]V-5!Y\[MV9@)\PZ1"UJ.9J.%2D%
M5?]02L!4/M>1S^<ZFLS!>EE4;?97 A;YGLN%Z<B2V5P?-1*I*A3?(UG@RZNW
M((I 9'+1OBO/P[/!@1CK9&T'TI2\5=-1;0HS3R+D;\_/7X>'[Z$(8"_1;ULS
M "UZ$GBH.$Y$:+&DN8[\R(E@6][=ZI1**J4R<Z>:E;JIX==P#RM&O:^DXM&M
MEP&_.O-@[CN]D+YPV1;KDA K")J1=H2"3?Y50!^"L8(U0@L$_BN7-B<3KANL
M?Z/52^6'#:H P6Z""K+E^>\/]SZ:-#4)%("P;O2\$"G:V//^]-A,0E1ED7=&
M6[I&JQ SCJ\:;"[Y6?8=,J]LEGV6_=]MX^HY&=F)L5R8BW$ BF$S%OZDL8;-
M:OX\W!R&^_$"@0I$.Z.Z!]/^^]>'>]<1O.NGNHG?%D:P:/LZAX6<ID"TGQ;;
MCOMEL#SFB1, @"GXM\1$D'%8K-IR;P?TLG$HUJ-QF6/#L;H ]&1KY[XG:WJ<
M6H7'BW'WK:*V>AX0F28%7),6<=<FR\MFCRG!DU0? N'C<QKLJ/Y^_C@]*]S4
MKN/4#*8[OTS6]@NS6X*F($9_FL8'0"+N3H !45PY\+QU\4N9_;Q=7GE&IL*T
M(XP<K--3_ OGHN6@B:>IVX39YV^*23Y>-@1KTVVOKE#07(-,D#T6Y/*"<)"\
MBM@!+W.I\]+@ELB9;)V(AAP')Z!Y'+^ZNEXAHAVL?6G/'M70%NFLR:0IM9ZL
MH ER%8B#_</-0^/,TPQ5XN+\2=7&^J<!*Y<EL6;*2V+Z</LJ95,D*'QY.'"S
M O3$OF1_0)+CRU''G)W,,,_9*D6O=F006)38(@IVB2II"9F2Z4JRY.U-FZ0U
M:1[)N/AL<L%@YA* ^D9U_Z =H"'*'(%IG@L0@ :H=EUF[DOTTM?5*!YF1M<5
MB!F@D%MLP(%-LKDT2-8:3X_VGF]G[@F\0XDH.UR8X+N6N',)/E&[#" LR^ W
M7Y*=DW%18.G*F 62A36[J%XPI2\]H?S_%[!U7WT!&NA5^;S$GC$D.+]\A.@F
M[E-TG8$^-?OL?/[H"3SI?_[5%QNX[-_#=8"9PNPOX='#@].GC[C\0/_1-QL<
M$O'3^V9-?UZ7!?  _ %\?]D .Y1_X M0YM/TOOK_ 5!+ P04    " !G@5I8
M]<8Y)+X"  #9!0  &0   'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6Q]5&UO
MVC 0_LZO.*5JM4D3@?"RBD(D:%>M'RJATFW2IGTPSH58=>S4=DK[[W=V(&,3
MY4MB7^Z>>Y[<RW2KS9,M$!V\EE+9650X5TWBV/("2V:[ND)%7W)M2N;H:C:Q
MK0RR+ 25,DYZO7%<,J&B=!IL2Y-.=>VD4+@T8.NR9.9M@5)O9U$_VAL>Q*9P
MWA"GTXIM<(7N6[4T=(M;E$R4J*S0"@SFLVC>GRR&WC\X?!>XM0=G\$K66C_Y
MRUTVBWJ>$$KDSB,P>KW@-4KI@8C&\PXS:E/ZP,/S'OTV:"<M:V;Q6LL?(G/%
M++J,(,.<U=(]Z.U7W.D9>3RNI0U/V#:^HU$$O+9.E[M@8E *U;S9Z^X_' 1<
M]MX)2'8!2>#=) HL;YACZ=3H+1CO36C^$*2&:"(GE"_*RAGZ*BC.I:NF&*!S
M6(F-$KG@3#F8<ZYKY83:P%)+P05:^/#(UA+MQVGL*+$/C_DNR:))DKR3I)_
MO5:NL/!%99C]"Q 3XY9VLJ>]2$XBWB#OPJ#_"9)>,CB!-VA_PR#@#=[!.Z;W
MUWQMG:&V^7U,<8,W/([G1VEB*\9Q%M&L6#0O&*479_UQ[^H$VV'+=G@*/5W1
M:&:UQ/^KMF"2*1[,.T$6'I"C>/&5.Z;B=)[' N%:EQ53;U P"TH[P-<*C4!*
MDX&W2VTMT'@)RI5AI:T_$ '.;$$.67/ YYI(2"1&7;A37-;4!R 4M;@Q9 5F
M+5(@,PCV0-&Z4100V5Z2:251&.1:TF:QDP[U!)9K-+XO.KXO?',DG5LFQ1.C
MPEZ<72;]Y(K^B&2.LE?,N#<8)G .XQ&<=^:^VC]1(6<P&)"U/X;S8]6*#\:M
M1+,)2\5"8-=,7FMM]]:\&=>_[LW2NV=F(Y0%B3F%]KJ?:4V89I$T%Z>K,+QK
M[6@5A&-!NQ>-=Z#ON=9N?_$)VFV>_@%02P,$%     @ 9X%:6.[ =R<I"0
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
M$.:#3WAR)E;Z0R75#(;@57_-TSWM/H:ZJ#\!ZJ?77U*]IV*5@MDSMH2EUBR
M\ES4'R?5-R7?Z ^"%KPL>:Z':T:!=34!_E]R7K8W:H/N$['S_P%02P,$%
M  @ 9X%:6$[Y':%Y P  I@<  !D   !X;"]W;W)K<VAE971S+W-H965T,S(N
M>&ULC55-;]LX$+WK5PS4(D@ -Y(EVS$2VX"=I-@"Z:Z19-M#T0,MC2VB%*F2
M5)S^^QU2'TVPCM&+38YFWKPWG"%G>Z5_F +1PG,II)F'A;759129K,"2F7-5
MH:0O6Z5+9FFK=Y&I-++<!Y4B2N)X$I6,RW Q\[:U7LQ4;067N-9@ZK)D^M<*
MA=K/PV'8&>[YKK#.$"UF%=OA ]I_J[6F7=2CY+Q$:;B2H'$[#Y?#R]7(^7N'
M+QSWYL4:G)*-4C_<YE,^#V-'" 5FUB$P^GO":Q3" 1&-GRUFV*=T@2_7'?I'
MKYVT;)C!:R6^\MP6\W :0HY;5@M[K_9_8:MG[/ R)8S_A7WK&X>0U<:JL@TF
M!B67S3][;NOP)P%)&Y!XWDTBS_*&6;:8:;4'[;P)S2V\5!]-Y+ATA_)@-7WE
M%&<7M\^9J T5!NYX1K5&8#*'?RI?,JM@F?VLN4:@$EANX+% S2JL+<\,G#ZR
MC4!S-HLL,7%X4=9F7359DS>R#A/XK*0M#-S*'//7 !%)Z'4DG8Y5<A3Q!K-S
M2(<#2.(D/8*7]G5)/5[Z!MZ*BB+1&+A6Y89+YNIAX-MR8ZRF3OI^2'.#.#J,
MZ*;KTE0LPWE(XV-0/V&X.'DWG,171_B.>KZC8^B+!YK6O!8(:@M+(53F&;O=
MNM9907U+2FB4<CH__V5%IAQH<6LLI^ZFS4?&-7QAHD;C89JCSV%I#%IS2/%Q
M3M0LL%5$9L_E#JQK%IIC+UY: Y8^LU=4JXYJ]HKJIJ.*/=6MH_K44_50'5WF
MZ<(IIP8N5&VHH<W997!()_EVX6W+>]&&^S4-% ;KPYS>P\F[:3),KH*F.L$U
M,X6?G<PMD%"(GM<Y&4^"->EF/ =\KMR0&>^I**^F(=>:_#K:TR3XM+X_865U
M==/9DM%@%,?!H[),]+;Q8)A.@SO.-EP07S3!,LM4[3)6[)<O=C*87 R=6=>N
M+O]+*7X'PT6<M@E>6M-!>C$*[C%'>@L<I%3R U7":CI7=ZI<6J0#=82&@]$T
M#OY64O^)^S@A7WITJ*32\BWW[HVVP2L*CO;;,._A%))T F?!G:)I=?>\PVBZ
MH3W'WN?0G$4O[LX2]<Z_$ 9\)9MKM+?VC]"RN7M_NS<OV&>F=YQN"8%;"HW/
M+\8AZ.95:#965?XFWBA+][I?%O20HG8.]'VKE.TV+D'_-"_^ U!+ P04
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
M3&E_(CY$RZYCZ S0Q]D*#.B4<+ @'X'W!I#P[LMY19868%=(C="? )9!EJP
MW$Q'%4V@\J=8O;"%:>20F#X,TW9U]G ,)W#J+&<'%J21KNO5.1,BQXF\>N)$
MU22P!IW/;YW/?W<5NR_7ZTQ?)TAP2>6*7($[@"6K+A*OIZEKBE>.VEO/!CGV
M>^@6ZQA9+Y!UVF$M-JRSJC?X:;?=<4JMZIJF"2 )3/4E1@E<;58BJ49E) >F
MI6B]?<_CIAV?:C4 X03/"=_V-EE=H>L[./$,-T*O!M_"8OHZRJ(;/))$Q 97
MCNJ8>@>!Y8:0,#T"#,.HRL! ,"5]%9'/%7P;5-JSYWA%BR73YBF@9>_1_6J'
ME6,1V[>(ZYF[H2:UJX,D1@ )W#&\T.O(<EW$0J,?)JR:'<'-2^C6$4!K57'/
M>9(NTEC[QFX%Z:NH3? W(U1N2".>^[[*O4<>.88-E_5JY=K4O7W&EFU@'MMG
M_"[Z"!CO)M)7RUJ/UN!E9O06\R[&04O=G470)+G.4 H*VA04_,]&^@%+/:;0
MSZF,,1K)'81^7ZH91J[05(.6-&B@]U[1VVEZ-\WM=_V)R))C^@@&@RB ' "A
ML3&<QC]\P61SM!<(SDE$W)-H/PC<DY!X)^$^_):4>WC^"?2='V&P3?*Q#S7P
M8+L:!NXF;.\F?/?=?*6J%%5QA54C%QIV(T;]U?;&!\\@S_X"L<U\O]Q3_;Y[
MA57K0=\N$5@A4/8MXD:]6J%=#=$_7.Q$=.(.#,]S\95'H#Q;H1%"PPQ+OUZ:
MH8W+@$"'"4LWT+MA&TT X)I67?H7)6C:!/::ON2Z9[-\&UM.QXU&-TS*Z::_
M@7P2Z@XB,@)([D>C6S0:^,\CS4K6;RTL/V[5S?J6VQO$D\[?B9R)I?X'@U]*
MX)K5CXKV;?N;Y[SZN[$Y7OTC^DK%,BWP W4!I";XYKC*L<U"\;7^US'G2O%<
M3U>,)DS@ =A?<*Z:!3)H?W[-_@-02P,$%     @ 9X%:6 &=JUE*"0  AQH
M !D   !X;"]W;W)K<VAE971S+W-H965T,S8N>&ULS5E;;]LX%G[WKR \Q: %
ME$3479TD0))I9PJDVZ!I9X!=[ ,MT[8VLNBAJ%SFU\]WJ(N56O9FL'W8AS@2
M11Z>RW>^<RB=/BA]5ZVD-.QQ7935V71ES.;MR4F5K>1:5,=J(TL\62B]%@:W
M>GE2;;04<[MH79QXKAN=K$5>3L]/[=B-/C]5M2GR4MYH5M7KM=!/E[)0#V=3
M/NT&/N?+E:&!D_/3C5C*6VF^;FXT[DYZ*?-\+<LJ5R73<G$VO>!O+[E+"^R,
MWW+Y4 VN&9DR4^J.;C[,SZ8N:20+F1D2(?#O7E[)HB!)T../5NBTWY,6#J\[
MZ>^M\3!F)BIYI8K?\[E9G4V3*9O+A:@+\UD]_"I;@T*2EZFBLK_LH9WK3EE6
M5T:MV\708)V7S7_QV#KB)0N\=H%G]6XVLEK^+(PX/]7J@6F:#6ET84VUJZ%<
M7E)4;HW&TQSKS/FE*$29279K(7"EUAM5RM)4[/47,2MD]>;TQ& ;FGR2M2(O
M&Y'>'I'<8Q]5:585>U?.Y?RY@!/HUROI=4I>>@<E_BRS8^9SAWFNYQ^0Y_=&
M^U:>OT?>)[T49?ZG(%PX,+JL5)'/10.3<LYNM*S@A&9 +=C[O(23<E&P6PS*
MM770ORYFE=% U;_'7-0H$(PK0*GVMMJ(3)Y--[27OI?3\Q]_X)'[TP'S@MZ\
MX)#T\UND[KPN)*E^):J5M<E>O/NCSN]%0?J/*7U0[+C2O?R,+N16/LO@UKPR
M<DYJF)5D"U6  _)RR5[G)49476%A]>;M!/&5ZYG4%.,)Q9@"[4VL[%<L\AT_
MC7#!_=!)>#H!2M=2VWALQ(:618[+(_;C#XG'O9\F0)]\0I+H.T!Z46,/QCW'
M2Q+&4R=)^.3K\>TQ6ZI[J4N*)9LI.\=),:43\D49R,_VF@=UN.]$6(&K,'1B
MUV4'8A?VL0L/QZYA1_+9Q5IID_\)!UZIRCCL%ZVJBGTM0;Z%'?Y5%7-RYR\@
MWXHIS:XQ05:.5?B]R#7[312UA<&'\EY69KTO\ =U&@_\%T24Z$*43]9E\4\5
MR[>[=.%G&YW#H+RP)HE[D1?$*T>H)T<57 D&G9GAPF-&DD5O>V9M7UK;ZZWM
MJ];V96=[,;!]0;;?=[:;_Z+IC+#R'X@8#IJG#;30LBU7=D^+6LF,)48VHXIV
M$,J6KB;/P[@;Q9V!=Y6!RY X +K>*(W+%J&4 A:DKUB*O]<L9&_:P=3;38L0
MH(_]#M']_V9X3Q($0')"^==/QTCBPHRE++.G=A;2R'<9AP8<&MB[-F&&/H1F
M'G>2., 5II/"4:,P#:?)CK.\[^NLQ'?<A/;M3"$-N./&GM4B\1S734;<%CM^
MPG?=9H?W<0<()@QB!(1V\-P8.W#.'3\(GWL.8U&Z=>YKYGF>G>L$43*Y (;-
MT4QD=S"MDEFM<Y,#:YX3),%@$7>Q!H-Q,$%O@LZCW%4IA'7Q<"/2*0!\7)B,
M*,'/P#'R4ZWSJE+@G%+!>?"/Z^X8;T='0PPH.3PA.(;6O_"#GUC_>K'K1&%T
MB!6CGA6C%[-B1R&H)YK=$H7<;AV%;!R @_B0W:@J;PK]@!*))7:P9*=?/K%K
M62[-BC;[@@:T$_]$PN$YDY<UO+!OFS%Z/6C<?GK=%DQ+.5LJ LV1\:(HMHQJ
M1RRC5L_<(<HA;1)+LDWO$5N6MV1)7MEA6KL$'%GT7C'D%5I:=9Y9">)#6=H-
MB?I;)^W;^06T>2TQWZR@_K:?W%[!UH\ /K.(G/0D<( ?_LZC$2[94LCVRG>"
M-!SP\+/[??R*! QVTJOGVN'3Y\1!C^*6<,>6M<_:'$6!<-*8-XRWJUQ3-((H
MZDAYA(K_SP(0.;&?-/8$L;4@#E''FK*2>N& TH<\OR<,GN?X7D33?"R,8B=U
M4[N(IP%5--?Q_ &7/P_%#CE:\OZ&R[O;0YR.RMAR^;<BAP_W4_P8#MQG5-_>
M]*A =,/.C;'; "%,G0B3&O+VHX:\>0I?1,\I_0"1QSV1QR\^FE!/6AH4GC'*
M/"AFG#([>>3<__WP\5D\, *G1F-@6QG'C^TAQ/$"/OE=Z;NCO#Q"]5QJ2A0_
M<"(>V),(FB4<&'.<R<&F2ME2',8A,I"C2]O6T$[75RQ 5*RO ]<)_(,5,^D=
MG;S8T3C.;D2.?'O<R!)-LN7Y3_"*9E>UUH0G"]+1H\'!;<8#T>TGA_LINU_6
M[B?L?M_CC @ZHD-X)Q%M1X1FB9B/Q[B@)G,AL>F<:0F?UU!G@9:'YBLT?<8>
M,1H9%6&]6?W&)@BM1_+\ \?([)M]ODF]R8>RJK5]DP)(9%(BZAH:X[C8U>8"
M:;]L7BE @BGL:P3F)4Z(SJIS62L]<J(@ (7'Z*L_C3D.;,@Y4MP/_191FQ<[
MW>(M"0EO/$"'[!_"6]KC+?T;>%/HH]$6D KTRF%#IHZ!ZZ#,?> :")>=\.^
MI&LI*DG'2I:O$<-[V1]B7,_A;MI>A>B?K\6,BA/US%L-4%+B,&8XVO XG'P4
MV0KF8$;J!"'%,@KL$6U3@U,&R_ 8YP'\)M'D?:W+W-2ZZ<06^2-=4[ YNH((
MI<BV[I71=?-*$X;U!!1Y,"/HP3#J)")[UW%#RV-!ZGA);,O\6R:RK%[7A4V'
MN82W*35LHX8*&3FI[S8I ;A&"56U\3 XK)2F:2ZX1[MX. *XX2& <7?[IM)]
M,<0NLDS7T'67R:YS,<L+6V)'7UT>W&,<<L/-GF=4L=WL.R 0))!!H3Q#!.T[
MI^[&4!&B&.FZ*49>[$213V>N&,=U=W)Q\\&NF-7%'9OK>DD(F ,E]/H%G 3$
MR*-ZPQ#]-$ZH<W+#<')]@)%Z8KL13UH5C4):-@CI-4%XO2@FZ(<1#N^MGS)%
M=7&MK.2>CXYZKW'7\9%/P%44QY//ZE',Z\H(4E8M<L.J%;UX,0I5"9S[3UG*
M3+ 83!7@UTO<+?B,>'S&=,T]Y/(04Z.4T]0%$ Y-X$&*)]Q1X1EW?93E@ [#
MK58;>O/0O._MPOK46PQE[-D*#Q>US="^FH0XY YZ]M8' (]-4W1[ $ &BY82
M'4"4]D?REM@1"H^374'2)J]X$=RHOGE.DE*E\SA*13S.XR>#;P-K"2WH"PBA
MM2Y-\YF@'^V_LEPTWQ:VTYM/-!]A!+UM*^0"2]WC.)PRW7SU:&Z,VM@O#3-E
MC%K;RY44<ZEI IXOE#+=#6W0?WLZ_PM02P,$%     @ 9X%:6%\G))3D @
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
MHTX8DL !.0Z(21/LM ^788O+<%]<0J398\Q-J-'MY(9<K+E,.U'92[,;E;<
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
M7..H!<HJX/E*2G/8V ]4PUO\!U!+ P04    " !G@5I8:(5  UL-   ]PP
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
MI$8OCKSO55>_J+^ _1^[Q&XM[#VP370UD?J+XM-N$Z<[FW,<1Z-]1,.M#J\
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
M$EA8@L=<GK?.Y>5MG&[F\GS#FE=E=^NF[,Y0TV(>LK=DVM:NYTY;'V0('95
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
MIP;J^9(Q>;A).RC_^6#Z/U!+ P04    " !G@5I8FIC'.YP#  #P#P  &0
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
M:= ;8>Q45256'2,+5YFMI,$ZSS4SK*Q!V0GX?BVEV77L DVM/OL;4$L#!!0
M   ( &>!6EC_[*8$=P0  &T8   9    >&PO=V]R:W-H965T<R]S:&5E=#4T
M+GAM;,59:V_;-A3]*X16%"V01J8>?K2V@=3&L (-%N2Q AOZ@9:O;:&2J)%T
MW '[\;N49#ULA4L<!?D2Z\%[+L^YY/4Q,]YQ\4-N !3Y&4>)G%@;I=*/MBV#
M#<1,GO,4$GRSXB)F"F_%VI:I +;,@N+(=GJ]OAVS,+&FX^S9E9B.^59%80)7
M@LAM'#/QSV>(^&YB46O_X#I<;Y1^8$_'*5O##:B[]$K@G5VB+,,8$AGRA A8
M3:P+^G'FN#H@&_%'"#M9NR::RH+S'_KFRW)B]?2,(() :0B&'_<P@RC22#B/
MOPM0J\RI ^O7>_1?,_)(9L$DS'CT+5RJS<0:6F0)*[:-U#7?_08%(5_C!3R2
MV5^R*\;V+!)LI>)Q$8PSB,,D_V0_"R%J =1[(, I IS'!KA%0*:<G<\LHS5G
MBDW'@N^(T*,135]DVF31R"9,=!EOE,"W(<:I*=*/V((+EHEZL18 6"0ES\C7
M,,!J0?6,L&1)KN$>DBU(\H'<"I9(EE?C2N!H?!DQ!4NB.)EQK/02"MQK" "K
MM<P@+H* ;S%%\90M(DP213S8QUZ!R-9G@I"_+Z)PG8%(,H<5" 'E),B[.2@6
M1N]Q,A=2"?8G)!"P&@ORUR7$"Q#?<<3=S9R\>_.>O"%A0FXW?"MQ,G)L*U11
M:V$'A6*?<\6<!Q2;0W!.7'I&G)[CMH3/'A_N-,-MK%U90*<LH)/AN0_@[;5
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
MGCPV6%$L+QX$W>3EXSD5@B9Y<PUD 2PSD.^7E(K#0S9 ]2^+\7]02P,$%
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
M74Q(&(&$44B8#PD+@& M#<TK#<V?B<?,(64&"2.0, H)\R%A 1"L)3/7J:M
M#K3+E,3V!_:1X[1WUO.>L-E.%.F)FL^Z4=0^B4.7#Y060-':"]@HX[E/=YM3
MI;G9+52CIF>S'GN7AVX*H#0"2J.@-!^4%D#1VL+"M;#P,[&@<B!0<H.D$5 :
M!:7YH+0 BM:66UVL=:U%ND<9$6C=%91&0&FTI+6_\NS8I-\79K[T=,("J+&U
M5[JNE[I[%$R?X%A[?7NRC^%@;8 664%I%)3F@]("*%I;:75MUQT_%PL#K0B#
MT@@HC8+2?%!: $5KRZVN"[O6>N"C+ RTQ M*(Z T6M):WC2>C"=="]L-FX]F
M.PZV&X6=!JN]@'7%U=VCY/HT9Z);*3;<;DV@95I0&@&E45":#TH+H&AMJ=4U
M8G?V7*P)M) ,2B.@- I*\T%I 12M+;>ZG.Q:RXB/LB;0RC HC8#2:$EKNHGG
MS*==9]J-,L#N[TE]4:[G]#L3KLNT>(\R[1[.)-E?/.4A:]S0UXSXDD::+]&5
M9IHKJTG9QW/HZH/2""B-@M)\4%H 16NKKJXM8_>9F!0&K3B#T@@HC8+2?%!:
M $5KRZVN.&-KB?$Q)F4G'JP;T-(Q*(V6M.8/9=WRW\]#@IZ0-QCC4<>?AHW[
MRA,N5_DC PJ%8IOJX@;<JK5Z+.$TOQF_TW[F'A&WIYVZ1T'QT$&-+YZ!N&!R
M%9D=(^8WIBOG[=18J2P>*RA.M-CD=[5?"ZU%DA^N.5MRF068]V^$T/<G60?5
MPQV+_P%02P,$%     @ 9X%:6#1H;0CF"P  A*(  !D   !X;"]W;W)K<VAE
M971S+W-H965T-C$N>&ULS=U;;^)(&@;@OV*QH]6,U#W@$X=L$BG!==3T;-29
MV95VM!<.5(C58+.V2:97^^/7$ =3V*G8R7O!37="7$\94Q\4?BES_I2DW[('
MI7+KS]4RSBYZ#WF^/NOWL]F#6H79S\E:Q<5?[I-T%>;%K^FBGZU3%<YWC5;+
MOC,8#/NK,(I[E^>[VV[2R_-DDR^C6-VD5K99K<+T^[5:)D\7/;OW<L/7:/&0
M;V_H7YZOPX6Z5?GOZYNT^*V_5^;12L59E,16JNXO>E?VF?3=;8/=%O^(U%-V
M\+.UO2MW2?)M^XN87_0&VSU22S7+MT18_/>HIFJYW$K%?ORG1'O[/K<-#W]^
MT>GNSA=WYB[,U#19_C.:YP\7O7'/FJO[<+/,OR9/7)5WR-]ZLV29[?ZUGLIM
M!SUKMLGR9%4V+O9@%<7/_X=_E@?BH$'A-#=PR@;.<0/OE09NV<!MV\ K&WAM
M&_AE []M@V'98-BVP:AL,#IN,'REP;AL,&[;PZ1L,&G;P!Z\/'*#W0AZ?LAW
MXR4(\_#R/$V>K'2[?>%M?]@-NEW[8IA$\;8^;O.T^&M4M,LOBW&U#.^2--R-
MUJM%JE0Q^O/LD_5+-"O*0%6W66$\M[ZJ1Q5O5&9]MH)TL[!NTF2^F>4OMQ<W
M7\WGT18+EY:(GPMX2_\8J#R,EC\56_Q^&U@__O"3]8,5Q=9O#\DF*^3LO)\7
M]V>[5_U9N>_7S_ONO++OKO4EB?.'S"+Q7,T;VG-S>]LQ /WB0.Z/IO-R-*\=
MHQBHV<^6:W^RG('C-NS0U-Q<;N*B^>#5YD'[WIV&YJ1][TW-J;GYES U]L[:
M-[>;'LN/'7GQL4,GVS>W#>/(W5>EN_/<MZORL:C - WCQ7-=[HKPUR3^/'MM
M$^NWXL<LW+W\9-8?OQ2T)7*URO[=5&'/^^$U[\?VQ?DL6X<S==$K7GTSE3ZJ
MWN5?_V(/!W]K&MU(+$!B!(E1),:0&$=B HE)$*95D[>O)L^D7^Y>J-;E"U5:
MOE"E:I8LXNB_C2\<UT:P:UD@L0")$21&D1A#8OP9&^VP[1N&QTO;&XW\XHG^
M\7# -VTV&+F>OIFL;^:XOCN8[#?3!JF_'Z2^>9"J>Y6F:C_#:AJ5?GT'G9$W
MT/=O:NRGZW!K[-*=Z%T29)<4B3$DQI\QWWS\1>-6QX=,@G9,&VO#_5@;&L?:
M3:K6832W;C?K]3)2C5/O8>U>.$-O;!^--6,_7<=:O4M[Y(W'1V,-V25%8@R)
M\5;'7[0Z9!*T8]I8&^W'VL@XUOZ>/ZC46B;QXG.NTI6UC,*[:%F\0VP>=J/Z
MW1[[1_=G:NRQZZBK]SCTCFN:('ND2(PA,=[FZ(LV!TR"=DL;<N/]D!L;A]Q5
MEJ>A]2\5JUEX<$K#^N.+6MVIM/%]D%'L.N%#8@$2(TB,(C&&Q#@2$TA,@C"M
M+B;[NIB<R%F%";*:D%B Q @2HTB,(3&.Q 02DR!,JR9[4)TZ'QA?9[XFW\-E
M_KWAE((59M:\X:Q#XSEN8R==BP6J!5"-0#4*U1A4XZ5V.$<:3P:^?S23@G8J
M49I>#0=!DOWV6;:C..B3]:O*C?,N,]IY]".U *H1J$:A&H-J'*H)J"91FEXD
M3E4DSHE,P<H=01464@N@&H%J%*HQJ,:AFH!J$J7IA54%IK8Q07I/QF,6.U<(
M-/R$:@2J4:C&H!HO->V$Z'CDN\<3KX;-[,%X>'02JV&SR=!ISGGL*HVT6\21
MQHF2]3_KZD98MP_1>O?$;YQ 0:-*J!9 -0+5*%1C4(U#-0'5)$K3BZ=*26W_
M5"90R.AP"M4"J$:@&H5J#*IQJ":@FD1I>F%5D;!MSH3?,X%"!I[34M,^:N .
MCG*E -HG@6H4JC&HQJ&:@&K2;LBZ[8-'7A_15?!LFY/G=O.L+%?%RT5V\#%G
MXVP+&;=.H5H U0A4HU"-034.U014DRA-+Z$J2+?'IS+;@@;P4"V :@2J4:C&
MH!J':@*J292F%U:5Q-O&:/)=LRUHJ [5 JA&H!J%:@RJ\5+33U>-CR>]HFDS
MVS[>3*+V35_Z5,7ACCD.;S7?DN$ZC(U3+',O7<<Y5 N@&H%J%*HQJ,:AFH!J
M$J7I55/%YHY](E,L!QJU0[4 JA&H1J$:@VH<J@FH)E&:7EA5U.X8$\?W3+',
M8N<*<>HGM#RO=D:KW$S[K%!M*P+=-=JP:Y/:M(-!^^1034 UB=+TH5J%UTZ+
M\+K;S*E+1&CNO?.PA@;=4(U -0K5&%3C4$U -8G2]&JJ\G7'.Y49%31[AVH!
M5"-0C4(U!M4X5!-03:(TO;"J[-UY8XGR.V94T! =J@50C4 U"M485.-033CU
MY=+C4>W4%JI/?>17X;C3(ASO/D'KEBV:]Z%SK4"79D,U M4H5&-0C4,U =4D
M2M-KJHKGG=&I3-.@H3U4"Z :@6H4JC&HQJ&:@&H2I>F%587VCGGY^WNF:=#T
M':H%4(U -0K5&%3CI::%AO[0/_J,NVC8;.*-:_.O^E;.X,#2AVH5@SOF&/QJ
M-DLW:O[614&<AOS3.9XC3LU]=1YV]3Z'?OVT+#2JAFH,JO%6CX%H==0D:L_T
M:RM60;5K#JH[7I+&K2_FK;U!F9J[[#KXH!J!:A2J,:C&VSQ4 MJE1&GZ6*[B
M8_>CJZZ+-Z)DDR9K]8&WIN:=Z#H_@&H!5"-0C4(U!M4X5!-03:(TO:BJZ-@]
ME57:+C1QAFH!5"-0C4(U!M4X5!-03:(TO; .+FL-7Z5M%CM7"/82U=AK5&,O
M4HV]2C7V,M7U==7N8#(ZGJ<U+-(>#H[7:#=M9;NO+!YRJQ#9-69I'YY7E7]J
M.;V"YLA0+8!J!*I1J,:@&H=J JI)E*;75I4CNZ>RAMN%QL]0+8!J!*I1J,:@
M&H=J JI)E*875A53N^:8^GJ3SE6LYM8JC#?W19%LTBA>6+,DRYO/;-47WM8^
M!3HU]]EYU$.#9+=AS?C@^!Y0:)^L59\<VJ> :A*EZ:.T"GY=\[KLZ\WRF_[E
M41^?0$$37J@60#4"U2A48U"-0S4!U21*TRNH2GC=4UF6[4*#8:@60#4"U2A4
M8U"-0S4!U21*TPNKRJ/=-Y9EM_@2'K<A"!TU!(+0-!JJ$:A&H1J#:KS=@R6@
MG<J&3L?N:]>S\:K8VC/'UF_-FSI_YX6YOZY/[E M@&H$JE&HQJ :AVH"JDF4
MIM=/%95[I[+2VH/&Y5 M@&H$JE&HQJ :AVH"JDF4IA=6%9=[\)769K%SA4!S
M;ZA&H!J%:@RJ<:@FO/JR>+O^@4/YYF;ZF*Z2:L^<5+?\9*I9Z3R.H>DT5"-0
MC4(U!M4X5!-037KUM-MY?;0??$&R.>TVOK5 I=SF?>A<*]"4&ZH1J$:A&H-J
M'*H)J"91FEY35<KMG4K*[4%3;J@60#4"U2A48U"-0S4!U21*TPNK2KD]^)7*
MS6+G"H$FXE"-0#4*U1A4XU[]PPMN_<H!HF$S?U2[OI9$[9L^IJM,W'OC6N4M
M@@<ST7D00T-NK^&;H]W:NS4"[91"-0;5.%03[0ZO;-C,ML>OOCVH\F;/O*+X
M)E7K,)I;MYOU>OG:.V%H4@S5 JA&H!J%:@RJ<:@FH)HLM<./87F3U\=Z%0%[
MY@CX.EHNB^?A:1+G:3$!SXIGY)F*'L.[9?.3,O2JW% M*#7]$#4\*4/38*C&
MH!J':L*KQ[P-AU>B.M7&LU^EQKXY-6YY(K-4#L>*.Q[6/M5@[JSK (5J!*I1
MJ,:@&O?KRYP;'BP![52B-'T<5^FM;U[H##]%66ST\@7NY:3;>/;2O'M=G^BA
M6@#5"%2C4(U!-0[5!%23*$TOMRK3]4]E";0/C8*A6@#5"%2C4(U!-0[5!%23
M*$TOK"I8]LW!\LMK3OW$I56\6LT;SFTV%@TT=X9J 50C4(U"-0;5>*D=3L&=
MVA=@BH:M:C,_B=JQYS'>SQZ4RH,P#R_/5RI=J&DQM<JL6;*)\^TKR,&MQ9B]
MWW[[U=F5T^O7;K^VSYC=<#NWS^3N]G[%7YZOPX7Z$J:+J'@16:K[HJO!SZ-B
MSIM&BX?]+WFRON@5+Y5W29XGJ]V/#RJ<JW2[0?'W^R3)7W[9=O"4I-]V=^?R
M_U!+ P04    " !G@5I8>QZ0H-<#  #L$@  &0   'AL+W=O<FMS:&5E=',O
M<VAE970V,BYX;6S-6-]OVS80_E<(K1A:((U^VE(R6X!CJ5B&IC"29GLH]D!+
M9UNH1'HD97?#_OA1E*)8CJS&&!_Z8I'4?1^/WYU.UDWVE'WE&P"!OA4YX5-C
M(\3VVC1YLH$"\TNZ!2+OK"@KL)!3MC;YE@%.%:C(3<>RQF:!,V*$$[6V8.&$
MEB+/""P8XF518/;W#>1T/S5LXVGA/EMO1+5@AI,M7L,#B,?M@LF9V;*D60&$
M9Y0@!JNI,;.O8UL!E,7O&>SYP1A51UE2^K6:W*93PZH\@AP245%@>=G!'/*\
M8I)^_-60&NV>%?!P_,3^01U>'F:).<QI_D>6BLW4" R4P@J7N;BG^U^A.="H
MXDMHSM4OVC>VEH&2D@M:-&#I09&1^HJ_-4(< "1//\!I ,XQ8'P"X#8 ]QC@
MG0!X#<![+6#4 -31S?KL2K@("QQ.&-TC5EE+MFJ@U%=HJ5=&JD1Y$$S>S21.
MA%+@'"\IPRILLS4#D&D@^ 7ZF"4R'^!Y#6&2HGO8 2F!H_=HEJ99A<(YNB5U
MRE8<;R,0.,O?28O'APB]??,.O4$909\WM.22@D],(1VOMC>3QLF;VDGGA),N
MNJ-$;#B*20II#WX^C+>= 0)3*M;*YCS)=N,,,OY6DDOD6A?(L1RWSZ%A> 2)
MA-LGX='KX4X//'X]W!X0PVUSR%5\[O=S:"?SA3%,UG46J93Y1,G[Y)0)^BR'
M'*NJP=&7CY(:W0HH^)]]:5+[X?7[4=74:[[%"4P-630YL!T8X<\_V6/KE[X0
MZ22+=)+%FL@ZP?3:8'I#[&'$RC7:,IJ6B9!O O6TRVM"UR3[I_?ANQDD/#<J
M-9FOR*JWW"ZT/=\?R33?'>K=9V;YKM<UBU^:.>[(M:Y:LXY&HU:CT:!&CV29
MY3FD*)%5A<GD19AS$'W:#!*=JTU--CH\S=@+["-I7EK9OA<$1\IH<JRCW[C5
M;_S]'%LT.=:\42[0)_FWZ,L=%$M@O0__(.>Y4NHDBW22Q9K(.H'QV\#X/T@E
M]W4&4R=9I),LUD36"6;0!C/07<D'"<^-2O"R1 ?^R#VJ5CU6MA6,CZI5\**F
M78V=_B)^U<IS]3^+$/H7S1:WZ&&3;56"#Q6GP;W.54XG6:23+-9$U@F8;3U_
MJU@_2'EJ'-$43ZULD5:V6!=;-Z0'GY^V[B+5,'9*AFM9W8HQ'][W;,UULL4]
M)W#L@Q/46IH'7_4%L+5JIW#YG[,DHOY2;5?;ELU,-2J.UN=5*T=U"YYIZC[0
M'6;K3#X..:PDI77IRPK+ZM9*/1%TJWH'2RH$+=1P S@%5AG(^RM*Q=.DVJ!M
M<(7_ 5!+ P04    " !G@5I8\L5^QZD$  #!%0  &0   'AL+W=O<FMS:&5E
M=',O<VAE970V,RYX;6RU6-MNVS@0_17"6Q0ML!M=?(G3V@82I\$::%HC:7<?
MBGV@I;%%5!)5DK(38#]^AY2BBZ.PR%;)0ZP+YW#.\) ZY.S Q7<9 2ARE\2I
MG \BI;)WCB.#"!(J3W@&*;[9<I%0A;=BY\A,  U-4!([ONM.G(2R=+"8F6=K
ML9CQ7,4LA;4@,D\2*NXO(.:'^< ;/#RX8;M(Z0?.8I;1'=R"^IJM!=XY%4K(
M$D@EXRD1L)T/SKUW2]\$F!9_,3C(QC715#:<?]<WJW ^<'5&$$.@- 3%GSTL
M(8XU$N;QHP0=5'WJP.;U _J5(8]D-E3"DL=_LU!%\\%T0$+8TCQ6-_SP)Y2$
MQAHOX+$T_\FA;.L.2)!+Q9,R&#-(6%K\TKNR$(T ;_A$@%\&^,<!DR<"AF7
MT! M,C.T+JFBBYG@!R)T:T33%Z8V)AK9L%0/XZT2^)9AG%I\N OB7&(ER4<6
MX.@ H6E(/F>FQHJ3\^!'S@00K)EBDGR)0- ,<L4"2?X@YV'(=$L:DU5::$K'
MO;D$15G\%EM\O;TD;UZ]):\(2S&:YQ+QY<Q1F+O.P G*/)=%GOX3>7H^N>:I
MBB3YD(80M@$<)%TQ]Q^87_A6Q&MZ3]SQ[\1W_6%7/O;H2PA.R-#K"F]E,ZS&
M86CP1D_@?8F8",F:"G5/;B,J(.)Q"$*2;]>0;$#\0_XEGW@J( 2<QYL8R*?E
MJGK9D?^%M3^].KR3&0U@/L#I+T'L8;!X_9LW<=]W%:,GL%9I1E5I1@9]^$1I
M+E"?*4A9:%$:P9%O'_$962E(9"?[49_L>P)KL1]7[,=687P^I"B#B&5D#0)G
MJ,+%M8MP@7)F4/3:O5]X,V??9&%KT4IM4J4VL:>F<#7 B;\'7*9^1:K6;IX[
M6#V!M2IR6E7DM'^IGO;)OB>P%OMIQ7[:BU2GCX3HGIQ-C]3ZDT:M!,^J!,^L
M"=Z"8("#0];H%4"@0HNU]A>D:^WPN8/7$UBK-IY;.P&W?_&6F#T5H"^T=@4:
M7LCK1< E3%N<KG^DX)^U:B?IUTGZUB2[G)A-H7:X9X]03VAM\K5+\H8OH-%>
MK5!?:.T*U&;(L[J-Q3H7083[%A)PW$NA1326NY-V 73:U-^Q1%_"V7BUM?'L
MWF9-[W%'J/0^@YL=AR1PAS./R6.'7S(JX,8-1E,7_XY967O]OZQJ5^39;=$2
M]RDLW6EB64F02LD#1A5^< Y,163S(&-:R[B3\.018=_M8OP2IL>K78]GM16+
MM>!A'BC</N\AYIFAS#<QVQEM=NWV+DK$ICC'';Q>PLYXM9_Q[(;FBC)!]C3.
M@? M0;=;C)?V#:OUS6N:9.\O]=B"ZN9H17_VNC-]5#%_-&J4K$VR]D2>W139
MOB=HARZ9#'B>:NDNJ8S(58P=--Y? Y6Y #/FJS3+515!;E#P]D]3K^ZI+[3V
M:4)MG_P7L$]^K_:I+[1V!6K[Y-OM4S7P0@\\S;*8=:_C=IQGLRY/N-SFSG9R
M,CZ:&$[CD"P!L3-GAY*8C(OSLNII=3YY;D[EG+IY<;AY3<6.X<<JABV&NB>G
MN$"+XKRPN%$\,T=N&ZX43\QE!!0_UKH!OM]RKAYN= ?5J>WB/U!+ P04
M" !G@5I8?41+VK($   S&0  &0   'AL+W=O<FMS:&5E=',O<VAE970V-"YX
M;6RUF5USFS@4AO^*ANUTVIDF?/HKM3V3F'8V,TDWD[3=B\Y>R"#'F@*BDK"3
M?[\'0; Q6*VWVIL$@<XKZ=&1>)&G6\:_BS4A$CVE229FUEK*_,*V1;0F*1;G
M+"<9/%DQGF()1?YHBYP3'*N@-+$]QQG:*::9-9^J>W=\/F6%3&A&[C@219IB
M_GQ%$K:=6:[U<N.>/JYE><.>3W/\2!Z(_)+?<2C9C4I,4Y()RC+$R6IF7;H7
MH3LI U2-KY1LQ=XU*H>R9.Q[6;B.9Y93]H@D))*E!(9_&[(@25(J03]^U*)6
MTV89N'_]HOY1#1X&L\2"+%CR-XWE>F:-+123%2X2><^V?Y)Z0(-2+V*)4'_1
MMJ[K6"@JA&1I'0P]2&E6_<=/-8B] -<_$N#5 =YA0' DP*\#_%\-".J 0)&I
MAJ(XA%CB^92S+>)E;5 K+Q1,%0W#IUDY[P^2PU,*<7+^X2E*"@'HT0V-8#H)
MPEF,_LK5I$B&+J,?!>4$ 61)!?J\)ASGI) T$N@,/4 :QD5"$%NARR1A$59Q
M4+HK>+2&^4 +!CD20Y1Z<@6W8@07'X2D,&M0^(@I1U]Q4A"A9*H&8W0I!)$"
MO0F)Q#01;Z&Y+P\A>O/J+7J%: 9=886 SHJI+0%$.1P[J@=]50W:.S+H6_R,
MG,$[Y#F>WQ.]T$>')#I'OGLT//SU<*\=;L/D-3/H-3/H*3W_B-X-Q4N:4$E)
M+XDJ..@/+G>5"Y'CB,PLV#8$X1MBS5__X0Z=]WU@3(J%AL1:T/P&FJ]3GW]B
M&>08@3UT"=F;L>PL8IGD+(&*CY!=DD";LA>H5OA4H)782(F56_1F[CG!>#2U
M-_NDNK7<R62XJ]5"$#0( BV"OA7][9:D2\+_Z1NW5NW4<9L4"PV)M2@.&HH#
M[>J[@LTS(T)4^Y:@:I?[=@/WT+4DJ>A%.3")TJ18:$BLA7+8H!QJ$[)Y943[
MKXP^?L/.>G#:*V:A;>E4*(;$6E!&#921-K^JMV ?A)'))#(I%AH2:_$:-[S&
MVB1:8+%6%B8J+PBLR0U.2-:/L)(:[.71<# \R"1M<Z>2,236(C-IR$STRXN3
M'-,8D:>\]'E"46(2MG_PF9P#(X2/)MND0VKL'8#2MGXJ*$-B+5"NL_/$CA;5
M]=W]:YSF[T,-D5IB'XD7!,[A1J1OZ50LIM3:7/:^%5PME\],XD3'Q.TR&;C^
M^)")MI63F1A2:S/9N6_WM^RW:]1_&U4+3:FUR>TLN*OWX)=1Q K8F5&.GTL;
MWHO/[V;4<.0>)I1)3QZ:4FMCV=ER5^_+ 0LOX/NWNSTG/TFUH,-JY/B'J(PZ
M;U-J;50[[^UJ_6B]'_T,RZ"#Q?='P2$7HS;:E%J;R\Y(NWHG??\?/VUKV=9J
M<X-QYYUFU%V;4FNSVOEK5VM'?^<DH%;>QS7P.K",6FM3:FU8.W/MZMWU)R(1
M?)EEDJZHXE5Y@7?[:U!M7*=Q[/KP,\\_-.+ZKIT,\O^PXN[.B[MZ,W[#A"B/
M014_A'=G![U\)IWOW3X^1@VX*;6*C[UW0%W^G'"+^2/-!$K("N2=\Q',/:].
MZ*N"9+DZLUXR*5FJ+M<$QX27%>#YBC'Y4BB/P9O?2>;_ E!+ P04    " !G
M@5I865VG__$"  !N!P  &0   'AL+W=O<FMS:&5E=',O<VAE970V-2YX;6R]
M56UOVC 0_BNGK)I:J24O%)@ZB 1EW:H5";5KIZWJ!Y,<Q*MC4]N!5MJ/WSF!
MC&W ATG;E\0O=\\]]_A\[BZ5?C09HH7G7$C3\S)KYV>^;Y(,<V8::HZ2=J9*
MY\S25,]\,]?(TM(I%WX4!&T_9UQZ<;=<&^NXJPHKN,2Q!E/D.=,O Q1JV?-"
M;[UPS6>9=0M^W)VS&=Z@O9V/-<W\&B7E.4K#E02-TY[7#\\&'6=?&MQQ7)J-
M,;A,)DH]NLEEVO,"1P@%)M8A,/HM\!R%<$!$XVF%Z=4AG>/F>(U^4>9.N4R8
MP7,E/O/49CWOC0<I3EDA[+5:?L!5/BV'ERAARB\L5[:!!TEAK,I7SL0@Y[+Z
ML^>5#AL.4;3#(5HY1"7O*E#)<L@LB[M:+4$[:T)S@S+5TIO(<>D.Y<9JVN7D
M9^-W3P6W+Y"CS50*7"[06-+<P@G<,<W91"!<2HN:UN&=M,[X!/IIRIVH3-!F
M51E.XL,A6L;%$5D,D'_C<@873/!'1H-QQL@LP<+RA-S.%5S9% XH)(RX$.1N
MNKZEC!PO/UFQ'U3LHQWLPPA&2MK,$+44TU\!?)*BUB-:ZS&(]B(.,6E ,SR&
M*(B:<'LSA,.#HSVXS5KG9HG;W(';3TAH4XH&?9GN%O?^BCSATF)N'K8)4H4Y
MW1[&7>$S,R>9>Q[=48-Z@5[\^E78#M[N2>*T3N)T'WH\Y N>(K'7F"!=IG0;
MP0JB74*XEK"(HT:SZR^VQ&W5<5M[XZZ+Z2,54LK@BY*S:?%G136.X>K3$.Y'
MF$]0/\!WN. 3K=ZCK,MQ8Z]OK&9?46+"^H-Z8UM&>\G]I>3M.O7V_ZF;]C](
MHE,GT=E[?F/4"?44:O*@ID!/@[%,INX\#)TA&NK-E*7>7D\5=!AN%%30:(7A
M;R7E;_3 '/6L[/0&$E5(6[7#>K5^3/I5#_UI7KU$(Z9G7!H0."77H-&A M!5
M=Z\F5LW+CCI1EOIS.<SH043M#&A_JI1=3UR ^HF-?P!02P,$%     @ 9X%:
M6&F?R!_W P   1(  !D   !X;"]W;W)K<VAE971S+W-H965T-C8N>&ULO5AM
MC^(V$/XK5GJJ[J0N>2/ ;B'20NY4I-L>6N[EPZD?3#(0=Q.;LPW<_OO:2380
M"&%IHWX!VYEY9N:99#SV<,?XDX@!)/J9)E2,C%C*]9UIBC"&%(L.6P-53Y:,
MIUBJ*5^98LT!1YE2FIB.9?7,%!-J^,-L;<;](=O(A%"8<20V:8KY\Q@2MAL9
MMO&R\$A6L=0+IC]<XQ7,07Y9S[B:F25*1%*@@C"*."Q'QKU]%]A=K9!)?"6P
M$P=CI$-9,/:D)]-H9%C:(T@@E!H"J[\M3"!)-)+RXT<!:I0VM>+A^ 7]0Q:\
M"F:!!4Q8\HU$,AX9 P-%L,2;1#ZRW1]0!.1IO) E(OM%NT+6,E"X$9*EA;+R
M("4T_\<_"R(.%.S>&06G4'".%;IG%-Q"P7VM0K=0R*@V\U R'@(LL3_D;(>X
MEE9H>I"1F6FK\ G5>9]+KIX2I2?]]S\V1#ZC%&3,(D3H%H14:97H!GW%G.!%
M FA*)7"UCMY3J85OT#Q_2Q!;H@+@(0>8[@'>!B Q2=XI\2_S +U]\PZ]40;0
MYYAM!*:1&)I2!:#=,,/"V7'NK'/&6=M!#XS*6"A/(HBJ *:*O S?>0E_[#0B
M!A!VD&O_AAS+<6L<FKQ>W:E1#UZO;C=$XY;)=#,\]PS>?:B2(4CV0=W3Z'P&
MOW]4FF@J(15_U:4A-].M-Z-+T9U8XQ!&AJHU O@6#/_77^R>]7L=A6V"!2V!
M5>CMEO1VF]#],:P(I82N5*5), VACKH<HI]!Z**[]3VKIY*[/:2DT<ZUE+0$
M5J'$*RGQ&BF9QYB#+@-_JBUJ2D.6UI*2@W@'I#@]=W!$BG?"G.WUW:I04"-D
M6?U2J!)$KPRBUQB$*B87DMH[3:IS:QWYWSL)\C3S0:,G_S)9_3+._H7WE_RM
M _V $_*$U6"FLI<J:QM)0IR@">N@CS)"WQ\@70"OK0R-%JZM#&V"!2V!59@=
ME,P._I_".VB3WC;!@I; *O3>EO3>-KZXGW84N(C)&LV AZJY4!UI'7LYBFT?
M?()6Q[./JV^CL6MY:0FLPHMM[;LWZ[]O207&A3VIV=*UM+2%5N7EH*NUV]B7
M"I0+&U.SK:N9:0FMRHRS9\9I9"8@6Q*!JE&/$((Z<D6UO#@GO-PXCN<=$]-H
MZFIB6D*K$K/OG>W&WM&?;#@'&CZCSQQ3D6!=S&NY<4^YL;WN,36M=KUMH56I
MV?>]=G/C>[E!LFO:WM,.J4[JM$5J=N;:8,V#LW$*?)7=,0@4L@V5^3FQ7"WO
M,>ZST_O1^EC?;V1G[CU,?CGR@+FJP@(EL%205J>OW@V>WS?D$\G6V0E\P:0Z
MSV?#&' $7 NHYTO&Y,M$&RAO??Q_ %!+ P04    " !G@5I8/S24=8\+  #^
MA   &0   'AL+W=O<FMS:&5E=',O<VAE970V-RYX;6S-G6UOVS@2Q[^*X%L<
M=H%N+%)/5"\QT*8HMD![5[3;O1>+>Z$X3"+4EGR2DFR!^_ G.8Z'U,,HM(:
MWK1Q0HZ'0T[RT_Q-\OPQ+[Z7=U)6SE_;359>+.ZJ:O=ZN2S7=W*;E&?Y3F;U
M3V[R8IM4]<OB=EGN"IE<[SMM-TONNN%RFZ398G6^_][G8G6>WU>;-).?"Z>\
MWVZ3XL=;N<D?+Q9L\?R-+^GM7=5\8[DZWR6W\JNLONT^%_6KY='*=;J569GF
MF5/(FXO%&_;ZDO&PZ;%O\D<J'TOE:Z<9RU6>?V]>?+B^6+B-2W(CUU5C(ZG_
M>Y"7<K-I3-6._/=@=7%\TZ:C^O6S]??[T=>CN4I*>9EO_IU>5W<7"[%PKN5-
M<K^ION2/O\G#B(+&WCK?E/M_G<=#6W?AK._+*M\>.M<>;-/LZ?_DKT,DE [,
M'^C #QWX2SMXAP[>?J!/GNV']2ZIDM5YD3\Z1=.ZMM9\L8_-OG<]FC1KYO%K
M5=0_3>M^U>I]DA;.'\GF7CJ?9%+>%[*>I*IT?G7@)Z63WSCOTRS)UFFR<=Z4
MI:Q;')I?._5D?)'K^Z)(LUOG;5*FI?/S.UDEZ>:7VLRWK^^<GW_ZQ?G)23/G
M][O\ODRRZ_)\6=7.-RXLUP='WSXYR@<<?2?79X['7CG<Y5Y/]\N7=^=Z]V4=
MLF/<^#%N?&_/&X_;(1YOLFOG8YI<I9NT2J42GW^I\6E:_3//BE; _OQ8VW<^
M5');_J<O-D_.^/W.-+G^NMPE:WFQJ).YE,6#7*S^_C<6NO_HBQ21,2UNWC%N
M'F9]]2%[D&6U7V-]XWSJ'.T[-[^"'E:,,Q&+\^6#.H)N,QZY81 >FVF^^4??
M?-2WR[S8Y4522><JK]>H\^<GN;V21>^$H)9,)X3(F#;HX#CH8$X+.:",&Y$Q
M+6[A,6[AE(7\U#E0%[(7Q[RUCKNM1/T'6/0OX^CH632RC+=;6>Q_5>^2G2S0
M=8R:,IT/(F/:J,5QU&).ZUA0QHW(F!:W^!BW>,HZCCLK-. \\EKKN*=5Y G6
MOXZ9"VSBHK[M)_+7JV3]O9ZULIFAIYG$%C1NTG1FJ*SI 5#@C,UI41^\H8H=
MD34]=@!H#.68L86-]S8>*^]D /<C?R ! )883DOUDTK]')(YM_F#++)F+"]
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
M4,B48<#ZL8%SH-00Z6G\:CB=-J4![K=W[!=6N]:RP!+..?U.<E5.G4\.RJ'
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
M@A;Z<$%P2I@"R/LS2L7[B7I O9DU^0=02P,$%     @ 9X%:6/#!@!>< @
M?P@  !D   !X;"]W;W)K<VAE971S+W-H965T-S,N>&ULK59M;]HP$/XK5B9-
MK;22-T):%B*MH&J3-JV";?WL)@>QFMB9;:#]]SL[(8(I,*;V2^*7>YZ[YWS.
M)=D*^:0* $V>JY*KB5-H78]=5V4%5%0-1 T<=Y9"5E3C5*Y<54N@N055I1MX
MWLBM*.-.FMBU>YDF8JU+QN%>$K6N*BI?;J$4VXGC.[N%.5L5VBRX:5+3%2Q
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
M,*[E ,_J@2W7"L!(Z2L 3)@W.Q+ PK7GQ_D_;F=;ECT[:NC/CJ8"NVYWT#!
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
MQZ/LGW!/9O]=W;@WN7>&-Q;QA&S2D4U&R>ZXJJ7M')44&4"NL+X9L /=8,?
MTX443+,=M;T:N74!V/OU$/VDQQ8DL7?N8!3G?R[P:6=V.FKV<<=??@/3GH?)
M)(K.+/2#9M/PPGM(.K1D%*UI/%G;<"X#)GW J7^^B/M!41B'PX"S#G V"OA5
M:%K@(FDJ"*?GAW@F^ZS7%B(_B>,S^'Z4'WG).;U[<E2:SY2/5.X85Z2 +>J\
MJRFZE\W1WPRTJ.SIN1$:SV)[N<>O)9 F )]OA="/ W,@=]]?Z2]02P,$%
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
M#PA((X#OMT+HX\(<<;N_-*O_ %!+ P04    " !G@5I8WIRU3S(,  !WE
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
M+/86V6^A##VI#+USRG!W[Z Q>T,-(91&H#0*I3$430VMM(A>T'OVANI *(U
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
M=75>0D7UN5R!P)F%5!4UV%5+5Z\4T*)QJK@;>%[B5I0)9SINQF[4="QKPYF
M&T5T7554W5\!EYN)XSL/ [=L61H[X$['*[J$&9@OJQN%/;=7*5@%0C,IB(+%
MQ+GT+[*1M6\,OC+8Z*TVL9G,I?QN.Q^*B>/9@(!#;JP"Q;\U7 /G5@C#^-%I
M.OV2UG&[_:#^OLD=<YE3#=>2?V.%*2?.R"$%+&C-S:W<_ 5=/K'5RR77S2_9
M=+:>0_):&UEUSAA!Q43[3^\Z#EL.?O*$0] Y!/L.T1,.8><0/M<AZARBADR;
M2L,AHX9.QTINB++6J&8;#<S&&]-GPF[[S"B<9>AGIA\9G3/.S#VY!4X-%,1(
M,J,<B%R0][6I%>#,&D0-FIR1&1Z[HFYG+^V664]LOTCF30:&,OX6];[,,O+F
MU5ORBC!!/I>RUE04>NP:3,T&Z.9=&E=M&L$3:?@!^22%*37Y4Q10[ JXR*0'
M$SR N0H&%3/(STGHOR.!%X1' KI^OGMPQ#U[OKL_D$W8;W/8Z(7_9YOE/>6&
MX0;]?3G71N$G^<^QG6A7BHZO9*^I"[VB.4P<O(<TJ#4XT]>_^8GWQS&*IQ3+
M3B2V0SCJ"4=#ZEN$U2-AW1%>M(35XX<TAR43@HDEWEJ<BAR.D6Y73)L5[?V]
MGD:_AR&>QO4VPL&X7HKP1&([".,>83R(\(,P@*J&P!V^:MKRRN52L'_W/^B6
M3BL6;]%)TS#:@Q,?(/2],-DUR@Z-O-YB)Y.DSR0YY6$ 4?SB)"0'N<:IEZ1[
MR2;/.2_98.C_<8O3'DPZ# :TOB#7M5(@#%E)U3S^.:=:LP5K.=$\5S4V\24@
MTI2@\!UL[7F'%>^H8Y#2 TAG<1+OGXC! %_ZN9Q(;(?EJ&<Y.MDA>T>$%&<=
MQV/L1@=')_8C?_^J&0SHI>Q.)-:R<[=*H K4LBDE-<EE+4S[Z/>C?;5ZV11I
M>^-76,6V1>>C3%L"?Z(*[VQ-."Q0TCM/\:2IMJQL.T:NFD)K+@V6;4VSQ$H<
ME#7 ^864YJ%C%^AK^^E/4$L#!!0    ( &>!6EC@)./;> 8   XH   9
M>&PO=V]R:W-H965T<R]S:&5E=#@U+GAM;+5:;6_;-A#^*X17#"V0VI+LV'&7
M&$BB%0O0 $73;A^&?: E.N8JD2I)Q?6P'[\CI>@ED=FYN^5#K!?>P^,CWO$>
M2N<[J3[K+6.&?,TSH2]&6V.*-Y.)3K8LIWHL"R;@SD:JG!HX5?<372A&4V>4
M9Y,H".:3G'(Q6IV[:^_5ZER6)N."O5=$EWE.U?Z*97)W,0I'CQ<^\/NML1<F
MJ_."WK,[9CX5[Q6<31J4E.=,:"X%46QS,;H,W\31TAJX%K]RMM.=8V*'LI;R
MLSVY22]&@?6(92PQ%H+"SP.[9EEFD<"/+S7HJ.G3&G:/']'?NL'#8-94LVN9
M_<93L[T8G8U(RC:TS,P'N?N%U0,ZM7B)S+3[3W9UVV!$DE(;F=?&X$'.1?5+
MO]9$= P 9]@@J@VB)P8'>YC6!M.G/4P/&,QJ@YECIAJ*XR&FAJ[.E=P195L#
MFCUP9#IK&#X7]KG?&05W.=B9U1T37"IRQY)2L91\9"HG[R05Y"U->,8-9YJ\
M)I=IRNUCHAFY$=5DLP_M9<P,Y=DK:/'I+B8O7[PB+P@7Y)9G&=S7YQ,#+MJ.
M)DGMSG7E3G3 G3 BMU*8K28_BY2E?8 )C*T98/0XP*O(BWA9J#&)EB<D"J+I
MD$-^\Y@E8S(-#YK'?O-;NB?!V9!U;S#3YFE-'=STH#=K T] &U5"[!GR^SMH
M0&X,R_4? \Y=56BS832;4M[H@B;L8@0Y0S/UP$:K'W\(Y\%/0T1A@L5(8#T6
M9PV+,Q_ZZC*7)9"G6,(@YZ1#Q'D!CB4.$RRNP.8.S";UA]5B-@Z6W;_SR<,
M.Z<-.Z=>=FZT+JE(&$FD-D/<>,V/Y083+*[ PJ!#3C ^0,>\H6/NGRQ)HDK(
MC%P8!BX,,N)%.):1^;,''(QGS1BJ@2)UV"-DT1"R\,^/F@C"OD+QH=D0(5Z$
M8PE9/)_QSPA!ZK!'R%E#R)F7$)>4WW(!0</%/;F\5XQ5V?F6Y6NF!C.S%_)8
MAC#!8B2P'I7+ALHEZOJVQ&01$RQ& NNQ& 9M41?\NQA5U#!2,$6H$&4^1&&-
MM.SEF_!)?%W[^SN6'"RT/CN=DC?TLO.!%73OYE?*=*)X88O906Z\.,?.K^]!
M^[AE;4VNB=[2+(/RWT"Q3J  M^5E55W.Q^1)VQT4X41(0]8,5-WZ3Q!:Q$A"
M<ZD,_ZLJX&L>=&5\+?."BCWAVDZ9G!L#ZQZ8@#O0D)@^_D;)G!C0@+:)_3VQ
MI?]N*S-P3=GC@BISTNW[D7:Y(11&\9F]KIK3JB!C7TH0&!8->BI%07D*?7-(
MJP5<KQN!K;U=V%' ".K3CE]K9K.P=1G,P9&B.CPA159JT)G5<DY%^MC%X\K^
MGZ'%X$ 4L_+;&EK1GI99IYAH'@!)2_= =9ELCW> 4$WXIC+NS@#HPWI1>4!
M]6L#X[80X"7/''KKE)M6W.Q)"DEC3 8#%RD@^H$;M8$;>0/WMNOA8,!^RWY/
MG!QS$3,8HUZ H_,<$EJ?KE8LAEX5]>W"A/P-4EWPO,R]M8J_FZ/3(*J.Q$+K
M4]PJR7"&6K"$J,(2%2W&0NM3V<K.T*\[/PF;$15/[*J34+UU.=H=0#[E#S2S
M!*]IYL2ILM=4M3[9[&9LAN-V'S&Q*7AHZ^G*[\#1Y%=HBT[A- V>R!*L'ON4
MMM(U]&O7&\$-AY6HW=7SACFJC$5%B['0^D2VDC=<X(8YJ@!&18NQT/I4MF(Y
M]*ME-Q<SF(N#O*'*8E2TN$8[[>Y#G [O+86MW@V]0O HH88J=FNT,.SKOGDX
M?9K"_@\E&[5*-OJ&DNWN1FJW)"B64:=,%!2YM'I]Y.Z>U.)&#^_I^GLZED!4
MM+A&ZVYR3<>+X=D5M4(W\@O=P_D?*K_OVK;R=W@TAYAH,19:G^Q6G$01ZAH1
M84J-:U2T& NM3V4K7"*_</&N$;7M8C@/UVR@:@PLM#X;K<:(_*^K8LAW>\AW
ML:([S%!&E2*H:#$66I_Q5HI$I[BAC"HL4-%B++0^E:T$B?P2Q!_*\^<O[*:+
M\;-H1I426&A]0EHI$?E?GQV(YNB[PQA5:J"BQ5AH?:I;J1&=X88QJOI 18NQ
MT/I4MCHE\NL4?Q@OGQ>O U&,^GX-"ZWB8]+Y@"IGZMY]B*:)VTJJOJ5JKC8?
MNUVZ3[PF;?/J2[E;JNZYT"1C&S -Q@O(OZKZ^*PZ,;)PGV.MI3$R=X=;1E.F
M; .XOY'2/)[8#II/ %?_ %!+ P04    " !G@5I8S.2:8(X#  !7$   &0
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
M!/:ZP]P[K_Z;N.-\A,P(&4AXY![XS"WP*)YI8OR+ZM$=,(Y_9NW@S@'PFUD
M?@T/P)T)X N[0(/WPP$\=/[BS@7PA6T G_H QI/I (_."/"93H!/K0"'>#Z0
MK[,"/.X%#SH%V=9-_5]J)<5.4J[&-\!K> #N3 "_F0O@U[ !W/D OK 1X!XG
MP&'@#91"9P7XPEZ 3\U@@ 3IG("<Z01-7/@_JMVC*X6]GMU3N<N,#@9;$^==
MA8:MK&\\=4>+HKIE;(0V=Y:JF9I;(D@[P8QOA= O'7MQ:>^=T7]02P,$%
M  @ 9X%:6'SZXOF( P  A0X  !D   !X;"]W;W)K<VAE971S+W-H965T.#DN
M>&ULM9=M;]LV$,>_"J$50PMLEBT_-K,-.):+!J@W(T:W%T5?,-+9(DJ*&DG9
MR;?OD9(U.U&4!-#>V"+%^QWYO].1G!ZE^J$3 $/N!4_US$N,R:Y\7T<)"*H[
M,H,4W^RD$M1@4^U]G2F@L3,2W ^ZW9$O*$N]^=3U;=1\*G/#60H;170N!%4/
MU\#E<>;UO%/'+=LGQG;X\VE&][ %\S7;*&SY%25F E+-9$H4[&;>HG>UFMCQ
M;L#?#([Z[)G8E=Q)^<,V;N*9U[43 @Z1L02*?P=8 N<6A-/XMV1ZE4MK>/Y\
MHG]R:\>UW%$-2\G_8;%)9M[$(S'L:,[-K3Q^AG(]0\N+)-?NEQR+L6,<'.7:
M2%$:XPP$2XM_>E_J<&;0[S]C$)0&P2.#('C&H%\:]!][&#UC,"@-!J_U,"P-
MW-+]8NU.N) :.I\J>23*CD::?7#J.VO4BZ4V3[9&X5N&=F:^E$(P@X$WFM T
M)DN9&I;N(8T8:/([6<0QLQ&EG-RD15K:^+X/P5#&/Y!WA*5DS3C'7CWU#4[)
M@OVH=']=N ^><1^0-3I,-%FE,<0U]LMF^]Z+@/"%"4P: #Z*62D:G!2]#AJ)
M:_I ^KW?2- ->F23&^J^!$ZU7KAOHVZ1S<00HLX)V2=?MR%Y_^Y#W5)?@>D.
M2\PVH0H2R6-0(2AV<-.L@:Z:H7]%ID-ZXZ:Y7:C8K_*R[[C]5^3EXDE>?ON"
MP\F- :&_UR5=P1[4LVWIO=(9C6#F86W5H [@S7_]I3?J_E$7G#9A89NP54NP
MBP -J@ -FNCS/W-Q!XK('8FDR#CN2!BI'>.U'^%UP1HZEMVZ#O/AU#^<J]SH
M[:TJ/W4WNG2W:LG=A73#2KIAHW1?L*+NBSJJP1@.-LT)%3)/39UXC;2W9G,!
M&YU)$TPZCX(1MNEQ]8+'"PE'E82C1@EOT2U54>+VK(V"" >P"#>IK<'3#0GA
M@">@S.FZ47*OJ,"BL0:;LK4%H]';6R5N$Q:V"5NU!+L(V;@*V?A_K.CC-@/4
M)BQL$[9J"781H$D5H$GC-[6F]TSD@NQRDRO PR8'/'YB5#+ZX,)6%Y=&Y%OC
M,GE2*48?QYV/CXI3FRY7+<$*P?VS<[@ M7<7((T;)!;VXDA>]59WK(6[6OC_
M#2\N:&NJ]BS5A,,.3;N=,59155QZBH:1F3O5WTF#=P3WF. ]$90=@.]W4II3
MPSJH;I[SGU!+ P04    " !G@5I8M5*CBRH"  #6!   &0   'AL+W=O<FMS
M:&5E=',O<VAE970Y,"YX;6Q]5-MNVS ,_15! X8-6.-+TFS(; .Y=%@?"@0-
MMCT,>U!LQA:BBRLQ3?OWDV3'RX T+S9)D4?G2*2RHS9[VP @>9%"V9PVB.TL
MBFS9@&1VI%M0;F6GC63H7%-'MC7 JE D193&\322C"M:9"&V-D6F#RBX@K4A
M]B E,Z\+$/J8TX2> H^\;M 'HB)K60T;P!_MVC@O&E J+D%9KA4QL,OI/)DM
M)CX_)/SD<+1G-O%*MEKOO7-?Y33VA$! B1Z!N=\S+$$(#^1H//68=-C2%Y[;
M)_1O0;O3LF46EEK\XA4V.?U"204[=A#XJ(_?H==SZ_%*+6SXDF.?&U-2'BQJ
MV1<[!I*K[L]>^G,X*TBF;Q2D?4$:>'<;!98KAJS(C#X2X[,=FC>"U%#MR''E
M+V6#QJUR5X?%W=.!XRMAJB(;U.7^QDNLR%)+=^V6A9.[\:YT1LAP[KRJN%]A
M@G#5-8;/^[ "9%Q\S")TS#Q^5/8L%AV+] T624H>M,+&DCM50?4_0.0D#;K2
MDZY%>A5Q!>6(C)-/)(W3\16\\7!.XX WOGY.O^=;B\:UTI]+(CN(R64(/UXS
MV[(2<NKFQX)Y!EJ\?Y=,XZ]7"$X&@I-KZ$5_139<T;-&KFIB?$O:2TRO8VD%
M'@(NT8K.>DV"J<-$65+J@\*N[8;H,+3SKE?_I7<3_\!,S94E G:N-!Y]OJ4=
MY9.#N@V=N]7HYB"8C7MXP/@$M[[3CF3O^ V&IZSX"U!+ P04    " !G@5I8
M29;,DBD#  "H"@  &0   'AL+W=O<FMS:&5E=',O<VAE970Y,2YX;6RM5EUO
MFS 4_2L6DZ9-6LLWA"Y!6M-6J[1J4=)N#],>''()J("I;9+VW\\VA)&$I-V4
MEX#M>P[G7-LW=[@F])$E !P]YUG!1EK">7FAZRQ*(,?LG)10B)68T!QS,:1+
MG944\$*!\DRW#,/3<YP66CA4<Q,:#DG%L[2 "46LRG-,7RXA(^N19FJ;B6FZ
M3+B<T,-AB9<P _Y03J@8Z2W+(LVA8"DI$(5XI'TQ+\:F(0$JXD<*:]9Y1]+*
MG)!'.;A=C#1#*H(,(BXIL'BL8 Q9)IF$CJ>&5&N_*8'=]PW[C3(OS,PQ@S')
M?J8+GHRT@886$.,JXU.R_@J-(5?R121CZA>MFUA#0U'%.,D;L%"0IT7]Q,]-
M(CH TSD L!J ]5: W0!L9;16IFQ=88[#(25K1&6T8),O*C<*+=RDA=S&&:=B
M-14X'EX_52E_0;A8H!DGT>.9S,D"C4DN#@K#*M5G:%9O,B*Q7,G%G I&4V!
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
M$-D$/3[G7.T;F8+B FOT+U!+ P04    " !G@5I8L(T]>&4$  !D%P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970Y-2YX;6S%F%UOHS@4AO^*Q:Y6NU(;,/FB
MW212T\S,CK25HF;:N1CMA0LG"2K@C.TDTW^_MB$$ G5#E]'>A"^?USZ/X?B-
M1WO*GOD:0* ?<93PL;468G-MV]Q?0TQXAVX@D4^6E,5$R$NVLOF& 0ET4!S9
MKN,,[)B$B349Z7MS-AG1K8C"!.8,\6T<$_8RA8CNQQ:V#C?NP]5:J!OV9+0A
M*UB >-C,F;RR<Y4@C"'A(4T0@^78NL'7,^RI -WB,80]+YPCE<H3I<_JXG,P
MMAPU(HC %TJ"R,,.;B&*E)(<Q_=,U,K[5('%\X/Z1YV\3.:)<+BET=<P$.NQ
MY5DH@"791N*>[O^"+*&^TO-IQ/4OVF=M'0OY6RYHG 7+$<1ADA[)CPQ$(0 /
M7@EPLP#W-*#W2D W"^B>&]#+ GJ:3)J*YC C@DQ&C.X14ZVEFCK1,'6T3#],
MU+PO!)-/0QDG)A^^;T/Q@D@2H(6@_O.E@AB@6QK+-XL3/3>7:)&^%8@NT?WB
MX6(N?W3(E\4]NMD3%G#T^PP$":,_9.M?D8WXFC#@AT.8H"]KNN4RAH]L(<>M
M>K?];(S3=(SN*V/$+KJCB5AS]"$)("@+V#+A/&OWD/74-2K.P.^@+KY KN-V
M:P9T>WZX6Q,^.S\<&[+IYG/8U7K=5_06"C*:5B?NAC&2K$!^I@)-7U"QW9R\
MZ-MZ]M"WOZ4D^BP@YO_4S4_:?Z^^?U6:KOF&^#"V9.WAP'9@37[[!0^</^O8
MMBDV:TFLQ+V7<^^9U"</R0ZX@. B)<LOT!1689*$R4I2CDCB0QW,5+2O1559
MWDVZ@\'5R-X5(1E[;@JI);$2I'X.J=\0DOR(WR#4KQ#J]9S>":%JHRK&F7%L
M[\Q\D&<^,&;^27Y\.O&O>O&1']W-#IA<3-%'$C*T(]$6$!%(MZO#D,I[A0PQ
M[@SP"8>:5KW.P#L!46W5=3KXB*N4X3#/<&C,4"X#<C[5:L#SY8"DR\&W.XB?
M@-56$Z-HTVK2IMBL);$23"^'Z?W/5=QKDWN;8K.6Q$K<KW+N5S^CBE^=4\6-
M/3>%U))8"1)VCC[1.:^:I91J79Q3K=L#[)XP,??3%$I;:F4J!?>,C50>2Z].
M+11<@7(I_Y15J!C[:4RE);4R%?=(Q352D?_(EA"^!<:M@L'>L'\*QMA58S M
MJ97!'(TZ-OK1=YFA3/(--U33JL8.F8?WWO2/?AF?:YC/L41G%N*LSY(!\CK>
M*9]6#75;:F6.1TN-S9[Z/SO+3!^[;WA+\S@:4_L9;AP?[3@V^_''!N]>+;14
M7JTX1:L]/&5F'$5C9BVIE9D=#3XV._Q")7\WMF'U77.=3K_RA;;JY-M2*W,[
M>GELM*R-*]T9RX!7+7-NIUMY^VJ:5:KAS#SZIG3LPO9C#&REMW$Y\NDV$>F>
M7'XWWRJ^T1ND)_>G:@M9;VL>9=+]YSO"Y%+ 401+*>ETAK*4L'1+-[T0=*,W
M.9^H$#36IVL@ 3#50#Y?4BH.%ZJ#?&-]\B]02P,$%     @ 9X%:6(JJX3[:
M!   :!,  !D   !X;"]W;W)K<VAE971S+W-H965T.38N>&ULK5C;;N,V$/T5
M0D6+7< ;77R)G;4-)+:*IF@*8]W+PV(?:&EL$9%$A:3B^.\[I&3Y$EF- >4A
MILB9P^&9(6?(\9:+9QD!*/*6Q*F<6)%2V9UMRR""A,H;GD&*(VLN$JKP4VQL
MF0F@H5%*8MMSG(&=4)9:T['I6XCIF.<J9BDL!)%YDE"Q>X"8;R>6:^T[OK%-
MI'2'/1UG= -+4']G"X%?=H42L@12R7A*!*PGUKU[Y[N.5C 2_S#8RJ,VT4M9
M<?ZL/Q[#B>5HBR"&0&D(BC^O,(,XUDAHQTL):E5S:L7C]A[]5[-X7,R*2ICQ
M^%\6JFAB#2T2PIKFL?K&M[]!N:"^Q@MX+,U_LBUE'8L$N50\*971@H2EQ2]]
M*XDX4D"<>@6O5/#.%"[.T"T5NN<S]"XH]$J%WD<5^J6"6;I=K-T0-Z>*3L>"
M;XG0THBF&X9]HXU\L50'RE()'&6HIZ;^2\[4CM T)$O%@^<OFO60S'B"H2BI
M<>87XB=9S'< A0Q9Y"*(4(XL8JJ'[\.0:4D:$Y86P:OU/LU!419_1@G/<7O$
M7RX6Y/L3)"L0/[!31E2 '-L*UZ&ML8/2YH?"9N^"S2YYXJF*)/'3$,(:_=G_
MZ'L- #826+'H[5E\\!H1EY#=D*[3,>NL,ZA9?0X!JKM:W>O6J,\_KN[5J/L?
M5W<;R.A6(=4U>-U+9&BWDH?W<70O!$TW@,>,(@\[<BRWH#O3?;^E(B3?_T!(
M\J@@D3_JPJ.8OU<_OSY:[V1& YA8>'9*$*]@37_YR1TX7^M<TR;8O$TPOR6P
M$R?V*B?VFM"GU1;G:Q+P)$'W2;/WBTU+J"(ADP'/4U7GH0)\9,!UKGJ=.C=N
M?VR_'C/?:,&US+<)YK<$=L)\OV*^W\P\B "W F9IS?V:,D%>:9P#@3<<8>B2
M3+  R 8W$SJ!*JAS0+_& <-S!S0:<JT#V@3S6P([<<"@<L"@T0%_YCI!O0O\
M<J*08((C3,J<ID$M]05Z_XAZ-$S_G;'?:,6U[+<)YK<$=L+^;<7^;2/[LXN<
MKW.58\+84]\A<Y"!8)G.+75^:)SGVBS1;/1?$9A41],=P5/S8+?;0==WT/?[
M<Q.CBBEY&EG' 45R+$D$40AXJ)ET=5;JUT8A5ET!WA(DCO].TQP+?N+JF8 &
M$=D!%1VRC1BV];2 "B'!R2M14[8,.F2U,_/&(&41_Y_89T))6NV'T@9XR;'2
M4YRX/^M>K:.XPJZ#)%Y)I$*S6;HY6OG)JK&!E8<I!K'Z( PM"QF>9O%.'W"X
M.IQ 0^L3SM!6KO$KFH5VN1WOC%FA!W!$YKC2=T:C5Q*Z(RL$! 4"2VEDH5SQ
MBNNJ V5#)O "PX6\J=MC;0:4WQ+8R1X;5GML>$6*N7S*G>VXNDTVK,DSCGMV
MTC5:<^U)UR:8WQ+8B1=&E1=&C5YX+ ,:(_M]N%[CET[#36KT/AEY=<FHT=1K
M7=0FF-\2V(F+7.=P/78:G;0LW)&5Y; Y,J"\#==?71OQKDT[)=JQ_[H#=^2>
M[;!YG9QWZXV&IW)^C9SG=OO.H3(L>+*/7A02$!OSE*/3%M;[Q;6XZJV>B^[-
M(\E9_TP_(YF7B@-,\0;U1,6&I1+3S1HAG9M;-$H4SSK%A^*9>;=8<:5X8IH1
M4,R.6@#'UYRK_8>>H'I<F_X'4$L#!!0    ( &>!6EA;!2(R>P,  )@.   9
M    >&PO=V]R:W-H965T<R]S:&5E=#DW+GAM;,U776^;,!3]*Q:;IDWJRC>T
M78+4A$Z;M$I5LVX/TQX<N FH8&>VD[3_?K8A%!(:M1*3]A)L<\_A?O@XOJ,M
M9?<\ Q#HH2P('QN9$*L+T^1)!B7FIW0%1+Y94%9B(:=L:?(5 YQJ4%F8CF4%
M9HES8D0CO7;#HA%=BR(G<,,07Y<E9H\3*.AV;-C&;N$V7V9"+9C1:(67, -Q
MM[IA<F8V+&E> N$Y)8C!8FQ<VA>Q;2F MOB1PY:WQDB%,J?T7DV^IF/#4AY!
M 8E0%%@^-C"%HE!,TH\_-:G1?%,!V^,=^V<=O QFCCE,:?$S3T4V-LX,E,("
MKPMQ2[=?H [(5WP)+;C^1=O:UC)0LN:"EC58>E#FI'KBASH1+8 =/ -P:H"S
M#_"> ;@UP'TIP*L!GLY,%8K.0XP%CD:,;A%3UI)-#70R-5J&GQ-5]YE@\FTN
M<2*Z^K/.Q2/")$4S09/[CRJ)*9K24NXLCG5M/J*9W&[IN@!$%^@6$LI2V-E/
M#NVO'M08T/L8!,Z+#Y+@;A:C]V\_H+<H)^A[1M=<?I&/3"%#4(Z82>WNI'+7
M><9=VT'7E(B,HRLB?>@2F#+V)@'.+@$3YRAC#,DI<NT3Y%B.V^/0].5PIP<>
MOQQN'XG&;<KI:C[W&;Y9AAGTU?"2,4R6(!4KT/P1M>UN\*->OMQBEIYT85/*
M!?KU37X%?150\M]]):M<\OI=4@?7!5_A!,:&/)DXL T8T;LW=F!]ZDOWD&3Q
M0&2=4GA-*;QC[-%W*G"!>$M423NS4(FD+Y\5;ZAYU;F]B7PK#,*1N6DGZM J
M\ /+[EK%AU:A;0=/5IW0_"8T_VAHMS)9F"69/C92V,A_CY7>0K^NH9P#Z]TE
M1RE?NTN&)(L'(NND,FA2&?Q_@@V&+,609/% 9)U2A$TIPG\DV(K7;XG,\;W
MV1/LH97KG07[@CVT\BS?"_L%>]:$=G8TM)F\5^5D>8*60(#)*)5P<2KO$SD7
M#*NKUU'M'F5_[889DBP>B*R3U?,FJ^?_GW;/ARS%D&3Q0&2=4MC6TSW6^D?J
MK8G#CGQ=R]^3;X^9:X6>M:??7K/ ]O8$;+:N["6PI6Y]N/1Y341U>6U6F_;J
M4C<5>^L3U7;I5N")INK9KC%;YH2C A:2TCH-Y:'"JC:HF@BZTHW!G K99NAA
M)EM'8,I OE]0*G83]8&F&8W^ E!+ P04    " !G@5I8!5Y40F8%   Y'@
M&0   'AL+W=O<FMS:&5E=',O<VAE970Y."YX;6S%6=%NXC@4_16+7:UFI&D2
MFQ"@"TBEZ<R.M-6B5COS,-H'EQB(FL2,;:!(^_%K)VE"@F.@RJKS,"7AWF.?
M8U_?@SS:4?;,5X0(\!)'"1]W5D*LKVV;SU<DQMRB:Y+(;Q:4Q5C(1[:T^9H1
M'*1)<60CQ_'L&(=)9S)*W\W89$0W(@H3,F. ;^(8L_V41'0W[L#.ZXN'<+D2
MZH4]&:WQDCP2\?=ZQN237: $84P2'M($,+(8=V[@M8]Z*B&-^!:2'3_X#!25
M)TJ?U</78-QQU(Q(1.9"06#Y9TMN210I)#F/GSEHIQA3)1Y^?D7_G)*79)XP
M)[<T^AX&8C7N##H@( N\B<0#W?U!<D+I!.<TXNG_8)?'.ATPWW!!XSQ9SB .
MD^PO?LF%.$A W88$E">@>D*O(:&;)W3/37#S!#=5)J.2ZN!C@2<C1G> J6B)
MICZD8J;9DGZ8J'5_%$Q^&\H\,;G[N0G%'N D (^"SI^OE(@!N*6QW%D<IVMS
M!1[E=@LV$0%T 6ZXW"-K]04'&Q4K*+CC(I1K0,!G'#+P#4>;-#1%!'_EP5\8
M3H2,5V/=Q>N([@G)0V8;-E_)@<$LPC+R@T\$#J./<N1?@0WX"C/"1[:0?-6L
M[7G.;9IQ0PW<( +W-!$K#NZ2@ 15 %L*5:B%7M6:(B.B3^86Z,)/ #FHJYG0
M[?GI2)/NGY\.#6RZQ=IW4[QN ]ZCTA5,CQ?\ALFE6A)9W@),]^ P;H;WZ>N;
M'68!^/&GA 1?!8GY/[KUR<9W]>.K(^V:K_&<C#ORS.*$;4EG\MLOT'-^UVG;
M)IC?$EA%=[?0W36A3[ZGAY&JA"UA\G %)"^? "Q4_6Q5_>CDS& '*:PZT+>3
MOH7Z(WM[*--Q$'2M/JI&^<=1W9[5&Q11%6*]@EC/2*RH:IY6-<T+_\<]B9\(
MT^X0(^"E.Z1-,+\EL(J07B&D]\Z5Z;6I>YM@?DM@%=W[A>Y]\P9^64L_HGH:
M83'X$"9@3S#C'W4*FI&\+!- $*L6!#P0X+VNA]V:<7HYSB##D8"H"<EO ZDB
MVZ"0;7">;%L:R7T:24>A4RP#@?#@T'&L(1K4#C!MF.?5PGQ]&!SJC[!A065H
MI/(0\N>K!9-G6"C-BMQA C!Y,NOH9$##ROA.MT9FJ)MEVOTK9/1A3L-Y#)W2
MW3GGK4P0;L. 2.>U#TD4:+V4<\RG1N9TB&\,J9(XL*CP_^F7.>YAEW,MK]XP
M-5%]:U#?;IHHY%C*AVG)H9(<NJ1GKE^=\#IUPJ;6:0:^] QO%<UO"ZTJ:FEL
MX7L[6]BJM6T5S6\+K2I^Z6ZAV=YJNL$G]=,UC#>Q5DI7=_CU/&]X^*]>M/JD
M0:]>MMHXM]]4MZ75A2>\KI8E?FEDV3N>"++Z$-6):>)DE^Q[=6*:.&@YKMM
MK+2>T.BPFCJ@>0D]??\Z(M<0!^ODO+.[2&GMH-G_-/,R+%I?.]_>$2]]G'NT
M&_5Q!W:@2JXT8/!,!W9&GQ^<[O,G0WQC2)5$:;V@V7N]O<\/CWISS_+<.JLL
MRCN(&EA'974<!)'54%2H]&'HA \[J\N#?\%]5F3&QF\>Z]+>TRJ:WQ9:5>?2
M*B+XSHT?&;WJQ>*WB>:WA585O[2RZ(25O>#7\PDH+_^1JM7LS:G^FU*K:I0>
M%!EMU@4EG_4?<\FW:C=;1?/;0JOJ7-I-Y+YWR1O][L7BMXGFMX56%;]TP>A,
M%WQ.R9NA4):JE>RMF?Y;,C,I[(,[M9BP97HWR<&<;A*171@5;XO[SYOTUJ_V
M?@JO_>P6LX3)+E7O,5N&\BR(R$)".E9?3I9E]Y39@Z#K].;NB0I!X_3CBN"
M,!4@OU]0*EX?U #%;?'D/U!+ P04    " !G@5I8LYCHBBD#  #U"0  &0
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
M<W8D8,XVN2P^_JO6ZGSJRIS*'+5?ZW,K<Y9RD"D.O6X)7])<0(H+):G>0RH
M7IPC%3>2K<W)R@.3DF7F<H4D0:X-U/,%8_+Y1G=0G>9-_@-02P,$%     @
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
M<FN;R&^X#FZO_]MT'9P=WSJ_0J<G06D!E,90-%-V[3SYT'5P/M1H@M(HE!9
M:0Q%,U761I/_)NO@_,/E;8-A?W2X#*-I06JO9VN-H#81BF9JI&TBO[%-M#M<
M.9-O5C'C:EL)R[BD0@]MXQ+H?",H+8#2&(IFZJB-)-]N)$W"?$GF8B/F/)F?
MV!ZG1NUU>??]/?L)6TL'-8B@-(:B5=)U=_9RCGGV4.ZZG<M>ZSHIJFV=M]]N
M=_;^5.YGW=7%JVW!;\/L0<B><,07,E0.SF2JRZJ=MJL/1;HJ=X:>ID61QN7A
MDH=SGJD"\O=%*CO%]0=U@NU^YU?_!U!+ P04    " !G@5I8;#,E?.$#  "\
M$@  &@   'AL+W=O<FMS:&5E=',O<VAE970Q,#(N>&ULS5A=;Z,X%/TK%BNM
M=J69@OE*TDTBM:6CK33=B9KY>!CM@PLW":K!K&V:SK]?VQ 2$HI:B='T)8"Y
MY_C><WT">+IE_$%L "1ZRF@N9M9&RN+<MD6\@8R(,U9 KNZL&,^(5)=\;8N"
M TD,**.VZSBAG9$TM^93,[;@\RDK)4US6' DRBPC_,<E4+:=6=C:#=REZXW4
M _9\6I U+$%^*19<7=D-2Y)FD(N4Y8C#:F9=X/,(>QI@(KZFL!4'YTB7<L_8
M@[ZX26:6HS,""K'4%$0='N$**-5,*H__:E*KF5,##\]W[!],\:J8>R+@BM%O
M:2(W,VMLH016I*3RCFW_AKJ@0//%C KSB[9UK&.AN!22935899"E>74D3[40
M!P </@-P:X![#/"? 7@UP'LIP*\!OE&F*L7H$!%)YE/.MHCK:,6F3XR8!JW*
M3W/=]Z7DZFZJ<'+^CUI:'YD0: $<+3>$ WJ/EFIU)24%Q%;HFU$.$G23%:I)
M0H]]*J60)$_2?(TN<IF^3U):ZOZA)<0E3V4* ET_Q;1,%'#%68:N"(U+2DRO
M%4.D >I>Q_1_1"!)2O]4>0@](':'-$>?-ZP4:F(QM:4J7I=@QW6AEU6A[C.%
M8A?=LEQN5&*YRJI-8"O5&NG<G727;B]C!/$9\O [Y#JNUY'0U<OA;@<\>CD<
M]U3C-0O!,WS>,WRZC[UM_&#:R+*BE%4;/ZW0->&Y6@2'[?O^41&C&PF9^+>K
M2U46?G<6^E_N7*AU!C-+_8T)X(]@S7__#8?.7UT*#TD6#4364M]OU/?[V.=M
M%XF]_-!R47P@OW)1KMQ#M7L*);]Q29?BU<R!F5D_!A[GV)^,U8I]/)2R(PI/
M0K<=%75$.3X.FZA6\4%3?-!;_'564/8#5-V2Q0^(%;H^@;[?0G8/O',5]1*^
M=A4-218-1-82,FR$#-^$A\,AU1^2+!J(K*7^J%%_],L\/.KP73 )CSQ\&C4)
M7.?(PJ=!8S_$W0X>-Z6/>TN_6WX1[]!"'Y!Z/*//RSM$MH0G_2[N)7WM.AJ2
M+!J(K"7FI!%S\B9</!E2_2')HH'(6NIC9_]&[/PR']=3'[K/&TV.G\4=42[V
M1D=&[HC"@3?N=C(^^"# _4_CY6+1Z]I^_&L7SJ!LT5!L;>W<O7;NF[!NG<90
M+1B2+1J*K=V"_6<,[GU/_[GN]4X<%TS\8_.>!GE.<.S=TR ?CXZL:Q]\UF?
MUV9[1*C4RUQ6GZG-:+,%<V$V'H[&+_76C-DNV--4^SJWA*]3]:Y-8:4HG;.1
MRHA76R75A62%V3RX9U*RS)QN@"3 =8"ZOV),[B[T!,V&U?Q_4$L#!!0    (
M &>!6E@T\6@L_ (  ' (   :    >&PO=V]R:W-H965T<R]S:&5E=#$P,RYX
M;6RM5EU/VS 4_2M6AB:0@'PV#:R-1!NF(0T-\;$]3'MPT]O6(K$SVVW9O]^U
M$T);0L4#+XWMG'-\SW5];P9K(1_5 D"3I[+@:N@LM*[.75?E"RBI.A45<'PS
M$[*D&J=R[JI* IU:4EFX@>?%;DD9=]*!7;N1Z4 L=<$XW$BBEF5)Y;\1%&(]
M='SG>>&6S1?:++CIH*)SN /]4-U(G+FMRI25P!43G$B8#9T+_SR+#=X"?C)8
MJXTQ,4XF0CR:R=5TZ'@F("@@UT:!XF,%8R@*(X1A_&TTG79+0]P</ZM_M=[1
MRX0J&(OB%YOJQ=!)'#*%&5T6^E:LOT'CIV?T<E$H^TO6#=9S2+Y46I0-&2,H
M&:^?]*G)PP;!C]\@! TAV"5$;Q#"AA"^EQ UA,AFIK9B\Y!13=.!%&LB#1K5
MS, FT[+1/N/FV.^TQ+<,>3J]XKDH@=S3)U#DA(Q%60D.7"LB9N2[4(J, /]<
M0+: AQEHRHHC9#S<9>3PX(@<$,;)_4(L%>53-7 U!F>V</,FD%$=2/!&('Y
MK@77"T4N^12FVP(NNFJM!<_61L%>Q0SR4Q+ZQR3P@K CH/'[Z4$'/7L_W=_C
M)FP/*K1ZX1MZVR?S<AKD\@E+@ )R. (.,Z:/CO$4N69\R?B<_*A 4G/#%/E]
M,5%:XD7[TW4Z]>Y1]^ZF^)RKBN8P=+"Z*) K<-+/G_S8^]*5V8\4RSY(;"OK
M49OU:)]ZFF&6E69Y5\9J9M\R375=I2=AD$3]WL!=;2:C"^?UO5Z\C<LZ<$&<
M1&=G+6[+0J^UT-MK <LC%C_>Y: F]C9VC#!OR4[\KU%^X"?]G>A?HTX"A$7=
MP<=M\/'>X&T%FM05J))BQ6R[P2E6&WL#M*E'7=[BCFPF<1+OQ#WNPIU%27RV
MXZ\3Y\5)N&/0W:C%)<BY[6F*Y&+)=5V[VM6V;5[8;K&S/L)V6G>_%YFZ%U]3
M.6=XH0N8H:1WVL>LR[J_U1,M*EOQ)T)C_[##!7X2@#0 ?#\30C]/S ;M1T;Z
M'U!+ P04    " !G@5I8[7H>^DL#  !_#0  &@   'AL+W=O<FMS:&5E=',O
M<VAE970Q,#0N>&ULK5==3]LP%/TK5H8FD#;RU2]8&PF:H?& A"ALSR:Y;2,2
M.[/=EOW[V4X(3>LZ"/6EB9USCL^]J6^NQQO*7O@20*#7(B=\XBR%*"]=ER=+
M*# _IR40^61.68&%'+*%RTL&.-6D(G<#SQNX!<Z($XWUW#V+QG0E\HS /4-\
M5128_;N&G&XFCN^\33QDBZ50$VXT+O$"9B">RGLF1VZCDF8%$)Y1@AC,)\Z5
M?QG[H2)HQ.\,-GSK'JE0GBE]48/;=.)XRA'DD @E@>5E#5/(<Z4D??RM19UF
M347<OG]3O]'!RV">,8<IS?]DJ5A.G)&#4ICC52X>Z.87U 'UE5Y"<ZY_T:;&
M>@Y*5ES0HB9+!T5&JBM^K1.Q1? '!PA!30AV";T#A+ FA!\E]&I"3V>F"D7G
M(<8"1V-&-X@IM%13-SJ9FBW#SXAZ[S/!Y--,\D1T2Q): 'K$K\#1=S23_ZMT
ME0.B<S2E14D)$,'5Z)[1=:;?MLPW:M%.8Q XR\\D_VD6H].3,W2",H(>EW3%
M,4GYV!72JEK036I;UY6MX( M/T!WE(@E1S])"FE;P)4Q-H$&;X%>!U;%&))S
M%/K?4. %H<'0]./TP$"//T[W+=&$S6L+M5YX0&^Z8DR^F4M39BMFS\Q4=>22
MESB!B2,+!0>V!B?Z^L4?>#],63FF6'PDL5;&>DW&>C;UZ 928#@W):PB#C51
MU<EUY(W=]786.A&Q#='RVV_\]JU^9P(+,+FM:'V+VTY$;$.TW X:MP-[=BF3
M%9:8_ [VU@IW_!H0_=&.8P.F-S1['C:>AU;/CU3@7-98O9-,SH>=S@V(/><&
MS"'GH\;YR+K[8YB#=)T:M__HF-O_F&+QD<1:*;MH4G;QV>U_T;FA.A&Q#='R
MZWOO'V;O<P6@YMD,=T-B*Z1M>:N7\#];!6JFU70G)+9"VJ:#=]/!!\I 6F\I
MH_>@VWLG)+9"VM[?NP#?^LFLO9=-:R;/ ;+QTJV94*V9,9IP[U.U6]9,D+VZ
M9@+M%39WJS,M@"UTA\]10E=$5+U;,]N<(JYT[[PS?ZU.%[KC?9>ICB9WF"TR
MPE$.<RGIG0]EAEG5[5<#04O=_SY3(;MI?;N4)R1@"B"?SRD5;P.U0'/FBOX#
M4$L#!!0    ( &>!6EBER!$*X ,  ,L.   :    >&PO=V]R:W-H965T<R]S
M:&5E=#$P-2YX;6RM5]MRVS80_14,.^FH,[%XT<62*VG&$I,T#VD]=MH\9/H
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
MC!*YA*D"\O<)8^+I@VI@<U%P]#]02P,$%     @ 9X%:6 =M+CO, P  %0\
M !H   !X;"]W;W)K<VAE971S+W-H965T,3 X+GAM;+576V_;-AC]*X16%"VP
M1A?KFMH&XFC% BQ D#3;0[$'6OIL$95(E:3C9+]^I*3(EBQK,>:^V"3UG4.>
MP^LWW3+^760 $CT7.14S(Y.RO#1-D6108''!2J#JRXKQ DM5Y6M3E!QP6H&*
MW'0LRS<+3*@QGU9M=WP^91N9$PIW'(E-46#^LH"<;6>&;;PVW)-U)G6#.9^6
M> T/(!_+.ZYJ9LN2D@*H((PB#JN9<65?QK:C 57$GP2V8J^,M)0E8]]UY2:=
M&98>$>202$V!U=\37$.>:R8UCA\-J='VJ8'[Y5?V+Y5X)6:)!5RS_"^2RFQF
MA 9*884WN;QGV]^A$>1IOH3EHOI%VR;6,E"R$9(5#5B-H""T_L?/C1%[ -L_
M G :@-,'N$< DP8P>2O ;0!NY4PMI?(AQA+/IYQM$=?1BDT7*C,KM))/J)[W
M!\G55Z)P<GY#$U8 ^HJ?0:!/Z!X21A.2$US-"ELAF0%:P)I02N@:89JBWVBJ
MBU<%VU I=,PCY0JWIN0?2-&.4>$HK(B*^1"#Q"3_J'IX?(C1AW<?T3M$*/J:
ML8U0G&)J2B5&#\E,FH$OZH$[1P9N.^B649D)/1Y(NP2F<J&UPGFU8N&,,L:0
M7*")_2MR+&<R,*#KM\.= 7C\=K@]HF;23NRDXIO\Y\2B:^63FC&@R0OZ]H>*
M0S<2"O'WD.DUJ3M,J@^A2U'B!&:&.F4$\"<PYN]_L7WK\Y!AYR2+ST36,=-M
MS73'V.?-DE_@'-,$AGRK\4&%UV?MTSRT+<N:FD_[AHSV<JHA9R+K&.*UAGBC
MAGR!%#C.J_/@06()Z-LM%$O@@XMJE.O4175.LOA,9!T/_=9#_V?L4/^<9IZ3
M+#X36<?,H#4S&%V0NRMJ>7R3UA3>WB8-G""R>YLT.-C*7N 'O:CX,,H-O<!M
MHSHJPE9%.*I"70+J\28 I1M DJ&2$\91R031U_'@+1D>:/ID>VY/TFBOIT[S
M0(^.ZPT+CUKAT:APM1=.%3Y*>.H^B XT^5'?Q?A,/78,LJW=0\TZR:)DPSE0
MB5X [YP:?$=9!^+"T/)Z2V0@*K*"O@5#7*Y]9/+MO4>H/7Z=,*X>Z!3!<Y)A
M=0XBKJ^4E*Q6H#42G \*LP]7HAL$?6$#49$5]H4=1D5.<$27L]/E_,]W0T/0
M>3A8D7\P.X=A T=7/!#6/;MJ'>9>OE  7U=YET")?M#7[^6VM<WMKJJ,IM>^
MT#E?E8?L:.J$\19S=2 +E,-*45H7@7*6USE879&LK+*2)9,JQZF*F<I;@>L
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
MTK_947Q=OP:_YTKQHMY<49)1407HWQ><JX>=Z@3=IQ?S_P%02P,$%     @
M9X%:6/K1_T/Z 0  %@0  !H   !X;"]W;W)K<VAE971S+W-H965T,3$P+GAM
M;'U4VV[;, S]%<)/&[!%B;)V6^$82)I=^M A:+#M6;%I6Z@NGB3'W=]/%\?S
M@+4O%BGQ'/*(HO-!FT?;(CIXDD+93=8ZU]T08LL6);,+W:'R)[4VDCGOFH;8
MSB"K(D@*0I?+:R(95UF1Q[V#*7+=.\$5'@S87DIF?N]0Z&&3K;++Q@-O6A<V
M2)%WK,$CNN_=P7B/3"P5EZ@LUPH,UIMLN[K9K4-\#/C!<; S&X*2D]:/P;FK
M-MDR%(0"2Q<8F%_.>(M"!")?QJ^1,YM2!N#<OK!_CMJ]EA.S>*O%3UZY=I-]
MR*#"FO7"/>CA*XYZK@)?J86-7QA2[/7'#,K>.BU'L*] <I56]C3>PPQ Z3,
M.@)HK#LEBE7NF6-%;O0 )D1[MF!$J1'MB^,J-.7HC#_E'N>*(S;^BATP5<$7
MU(UA7<M+N%.IW^'BWL*VJG@PF0 ^.WBU1\>X>)T3YRL)?*0<L^Y25OI,UA6%
M>ZU<:^&3JK#ZEX!X"9,.>M&QHR\R[K%<P'KU!NB2KF%4]0+O>KJ?=>1]]PSO
MMUZ>T("NP<^!\;I5 _9_[*G(1'85R<(\G(M53L[S_&36*XFFB2_20JE[Y5+;
MIMWIT6]3K_^&IXFY9Z;ARH+ VD.7B_<^KTFO,#E.=['S)^W\.XIFZP<730CP
MY[76[N*$!-.OH/@#4$L#!!0    ( &>!6EAK!(.YX ,  $44   :    >&PO
M=V]R:W-H965T<R]S:&5E=#$Q,2YX;6RU6-MNXS80_15"712[0!N)NEJI;2")
MMFV*!@CBIGU8](&6QI:P$NF2M+V[7[_4Q;(E*ZH#,"^Q*,TYXAS.$28SW3/^
M6:0 $GTI<BIF1BKEYMHT19Q"0<05VP!53U:,%T2J)5^;8L.!)!6HR$W;LGRS
M(!DUYM/JWB.?3]E6YAF%1X[$MB@(_WH+.=O/#&P<;CQEZU26-\SY=$/6L #Y
MO'GD:F6V+$E6 !49HXC#:F;<X.L(^R6@BO@[@[TXN49E*DO&/I>+^V1F6.6.
M((=8EA1$_>S@#O*\9%+[^*\A-=IWEL#3ZP/[KU7R*IDE$7#'\G^R1*8S8V*@
M!%9DF\LGMO\=FH2\DB]FN:C^HGT3:QDHW@K)B@:L=E!DM/XE7QHA3@ JT6&
MW0#L/L!] > T .=2@-L W$J9.I5*AXA(,I]RMD>\C%9LY44E9H56Z6>T//>%
MY.IIIG!ROH"U.D6)"$W0;\#6G&S2+$;WM"ZI\FA^1@M5;<DV!\16Z EV0+>
MEE]/XV]4S:'W$4B2Y1\4XGD1H??O/J!W**/HKY1MA7J!F)I2;;E\L1DWV[NM
MMV>_L#ULHP=&92K01YI TB4P5:YMPO8AX5M[E#&"^ HY^"=D6[8SL*&[R^'V
M #RZ'(Y'LG':XW,J/N=_CN\)-HS+C*X[)_?I3Q6.[B44XM\A[6MN=YB[_.)<
MBPV)86:H3XH O@-C_N,/V+=^&=)-)UFDB:RCJ=MJZHZQSP\5SB%F:YI]ZY==
MK5W-$50<Y<=U-\=N$'BJ)G:GJ@R%68'C=L.B\S#;\1PK;,,ZF7AM)MYH)G=I
M1@GZ] #%$OA@!8SB7UL!.LDB360=W?Q6-_\-7>7KU%0G6:2)K*-IT&H::'!5
MS>&=VL4*G<#KN>H\;.+Z#NZ9ZCS*\WS7&O;4I,UC,IK'QRU73=>HJ48)7EL
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
MF<H3&# %D,\32L7K0FWRS9DN^@]02P,$%     @ 9X%:6/KKZTQ>!   (AL
M !H   !X;"]W;W)K<VAE971S+W-H965T,3$T+GAM;+59;6^K-A3^*Q97NMJD
M>PN&O/8FD=IZ=ZNT2E&J;=*N]L&!DX05<&8[R:VT'S_;4 B,H*9U^J$!<\YC
MG\?G,3YX<F#\26P )/J>)IF8.ALIM]>N*\(-I%1<L2UDZLF*\91*=<O7KMAR
MH)%Q2A/7][R!F](X<V83TS;GLPG;R23.8,Z1V*4IY<^WD+##U,'.2\,B7F^D
M;G!GDRU=PR/(W[9SKN[<$B6*4\A$S#+$835U;O U\3WM8"Q^C^$@CJZ1#F7)
MV).^N8^FCJ='! F$4D-0];.'.T@2C:3&\4\!ZI1]:L?CZQ?TKR9X%<R2"KAC
MR1]Q)#=39^2@"%9TE\@%._P"14!]C1>R1)C_Z%#8>@X*=T*RM'!6(TCC+/^E
MWPLBCASPX(2#7SCX38?>"8>@< A>Z] K''J&F3P4PP.ADLXFG!T0U]8*35\8
M,HVW"C_.]+P_2JZ>QLI/SAYAK691(II%Z&=@:TZWFSA$]UF>4GIJ/J-'E6W1
M+@'$5NC.C DXNF-9J#QY;K1\5@U)0I>L:)A3+C/@PB"36$@>+W?FR4^9C.4S
M^H& I''RH\(_@;F(Q1/Z]@#I$OA?$U>J</6@W; ([38/S3\1&O;1 \OD1J@>
M(XCJ *[BJ23+?R'KUN]$)!!>H0!_0K[G!RT#NGN]N]_B3E[OCCNB"<JI#PQ>
M[P3>'+@F6ZE;S^L"]I#MH.0;_8N^TB1^HMGZXX>1C_TO"TBHA AMU<P^MTU'
M9W=Z ;L66QK"U%$KE "^!V?V\0,>>%_:J+0)1BR!U6CNE33W#'IP@N8BW96*
MH23Y@?[->)7VWWY5/NA>0BI:\[QGDUB;8,026(W8?DELOS-_ZXL%5XO%)[0M
M<[J-QQQO;/#T"W$_\ZX&$W=_3$^;31_7C4B;$>Z71K5P!F4X@_?)\49(]7JD
MXG--B)T+9&>/YR:.33!B":S&]+!D>GAI10YM$FL3C%@"JQ$[*HD=65;DJ$U(
MPX8DVXR"IB3;C/K#=DF.RWC&[Y8DIW]"!B'MU&%G-^>FBTTP8@FL1B_VJLVG
M=VDE%CU8XM8J&K&%5F?W:&N/+<NQ *RKR!LU]-AN-6X(LM7*;Q<D]JN8_#,D
M>1.&;)=)H9(GA'A/E\F[-K#=?9^=2S;1B"VT.N]5K8"#BRO5:GU@%8W80JNS
M6Y4(N'.C_!:E]EK4U?.;2FVS&O2;2KW$+AY7VWC<O8\_2])OV 1W=W]VWME$
M([;0ZM17)0<>7%S55FL,JVC$%EJ=W:K,P)V;[;>H>MCV9AUZM3_<%'FKT_]>
MQY<H#'!5&>#NTN!<D;]J6]W=Y]FY9Q.-V$*K\UU5+GA\<65;K5JLHA%;:/7/
MP%7=XG?NW-^@[ *P4<0&#2FW6N'&)RK2/;AS@W>/#@]46JS-(8Q 1J#YI_&R
MM3SHN3''&XWV6WQ-\N.:"B8_/7J@?!UG B6P4I#>U5"]]7A^()/?2+8U1Q1+
M)E5NFLL-T BX-E#/5XS)EQO=07DL-OL/4$L#!!0    ( &>!6E@QIL<P#0(
M #8$   :    >&PO=V]R:W-H965T<R]S:&5E=#$Q-2YX;6R-5&UOVR 0_BN(
M55,K;<%QVK3+;$M-LVF1%BEJUNW#M _$OL2HO+B X_;?#[!C>5):S1^ @[OG
MG@?NG#1*/YH2P*)GP:5)<6EM-2/$Y"4(:D:J NE.=DH+:IVI]\14&F@1@@0G
M<11-B:!,XBP)>VN=):JVG$E8:V1J(:A^F0-738K'^+AQS_:E]1LD2RJZAPW8
MAVJMG45ZE(()D(8IB33L4GP[GLTGWC\X_&30F,$:>25;I1Z]L2Q2''E"P"&W
M'H&ZZ0!WP+D'<C2>.DS<I_2!P_41_6O0[K1LJ8$[Q7^QPI8IOL&H@!VMN;U7
MS3?H]%QYO%QQ$T;4M+[3*XSRVE@ENF#'0##9SO2YNX=!0#Q^)2#N N+ NTT4
M6"ZHI5FB58.T]W9H?A&DAFA'CDG_*!NKW2ES<3;;U%L#3S5(B[X<_/@1W18%
M\S=&.5K*]MG]_9TOP%+&+] 98A*M&.=NUR3$.A8>B^1=QGF;,7XEXXJ^H.CF
M XJC>((>-@MT?G;Q+PIQ&GHA<2\D#K"3_Q7R^[OS0$L+POPYQ;*%NSP-YWMA
M9BJ:0XI=L1O0!\#9^W?C:?3Y#;*3GNSD+?3L!VB!N**N*H6JI3W%KT68!@3?
M6H?L^G(4?1I^"3D,29!!&?B.6E&]9](@#CN'$8VN70WJMDI;PZHJ5,9665=G
M85FZQ@;M'=SY3BE[-'RQ];^*["]02P,$%     @ 9X%:6.;S"JYD!   @Q(
M !H   !X;"]W;W)K<VAE971S+W-H965T,3$V+GAM;+U8;6_;-A#^*X16#"G0
M1*_62V8;L*T."]"L6=)V&(I]H*VSS54279**DW\_4E)DZ\6*MPG[8DOR<P_O
M.=[ISASO*?O&MP "/25QRB?:5HC=M:[SU182S*_H#E+YRYJR! MYRS8ZWS'
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
M8$])DF19& $L["!), 2>1AS!'( '#$D2]Q[<>Q_%Z_=4O/G?W>@74$L#!!0
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
M=6 *J</L(P#Z1:5VB<)D4H?92 "TW^9G@<(\4X?920>@AZL;%BA,.'68K70
MVE=WU:>:CBO$=M7#E%.'V4O'<]6&\K5 8=*IPYTE!#?R6AT^?JD!^UL-(*AO
M@>+7&C";"8,&%B@T$_>;#3!H:(%",W&_VP"#1A8H-!/WVPT.$RL/^E(+%)J)
M^ST',-/2"MZX^ T(XRL0YL/ES?MWF=KDE<H^FS_2F..I+-*;6O0_AGMY?M!O
MV]ET1?'!'+NNKK3,GMZ_]?3NL/?_ E!+ P04    " !G@5I8R3 A4S@#   7
M1   &@   'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QSS=L[3B-!&$7AK2 O
M@*Z_WC4"HDE(1VS ,LU#^"5WCP9V/Q8$<$L33(+Z1%8;4;Z)/Z&FS]6O<;N>
MGP_[Z>GY.%V\[K;[Z7KU-,_''\,P;9[&W7JZ/!S'_?DG#X?3;CV?+T^/PW&]
M>5D_CH-W+@^GKV>L;JZ^GGEQ]W8<_^?$P\/#\V;\>=C\WHW[^1\'#W\.IY?I
M:1SGU<7=^O0XSM>KX77[^?8TO+_8Y?GDU<7M_?7J='MOJV'I05X&^>4'!1D4
MEA\495!<?E"206GY05D&Y>4'%1E4EA]495!=?E"306WY0>941@>8U&$-T-J4
M:P-X;0JV <0V)=L 9INB;0"U3=DV@-NF<!M ;E.Z#6"W*=X&T-NKWAZ@MU>]
M/4!OW_VQ#=#;J]X>H+=7O3U ;Z]Z>X#>7O7V +V]ZNT!>GO5VP/T]JJW!^@=
M5.\ T#NHW@&@=U"] T#OT-TL >@=5.\ T#NHW@&@=U"] T#OH'H'@-Y!]0X
MO8/J'0!Z1]4[ O2.JG<$Z!U5[PC0.ZK>$:!W[&YV _2.JG<$Z!U5[PC0.ZK>
M$:!W5+TC0.^H>D> WDGU3@"]D^J= 'HGU3L!]$ZJ=P+HG53O!- [=?^L!.B=
M5.\$T#NIW@F@=U*]$T#OI'HG@-Y9]<X O;/JG0%Z9]4[ _3.JG<&Z)U5[PS0
M.ZO>&:!W[AXV >B=5>\,T#NKWAF@=U:],T#OHGH7@-Y%]2X O8OJ70!Z%]6[
M /0NJG<!Z%U4[P+0NZC>!:!WZ1X6!.A=5.\"T+NHW@6@=U6]*T#OJGI7@-Y5
M]:X O:OJ70%Z5]6[ O2NJG<%Z%U5[PK0NZK>%:!W[1[V!NA=5>\*T+NIW@V@
M=U.]&T#OIGHW@-Y-]6X O9OJW0!Z-]6[ ?1NJG<#Z-U4[P;0NZG>#:!WZV(=
M@-[F^EP'X+>Y+MAQ ,'-=<F. QANKHMV'$!Q<UVVXP".F^O"'0>0W%R7[CB
MY>:Z>,<!-#?7Y3L.X+FY+N!Q!-'[ )-18/8))D'T/L)$5)A]AHGH,/L0$U%B
M]BDFHL7L8\QOK3&G^6T[3I^+/JZ[ =^I]WS^W?'S\]\O/][LO^_O7 ]?9TPW
M?P%02P,$%     @ 9X%:6+QM*B., @  8T$  !,   !;0V]N=&5N=%]4>7!E
M<UTN>&ULS=Q/;YLP&,?QMQ)QK0*V 1NFII=VUZV'O0$&3H/"/V&W2]_]'-)6
MVM1%JS)IWTM08OOY/=C2Y^9<?WN>K%L=^FYPFVCG_?0I25R]LWWEXG&R0QC9
MCG-?^?!U?DBFJMY7#S910NBD'@=O![_VQQK1S?6=W5:/G5]]/H2?73L.FVBV
MG8M6MZ>)QZQ-5$U3U]:5#^/)T]#\EK)^28C#RF6.V[63NPH3HN3=A./(GP->
MUGU]LO/<-G9U7\W^2]6'6<FA2YQ_[JR+SY=XI\=QNVUKVXSU8Q^6Q&Z:;=6X
MG;6^[^)3T:OSR3[LL#U]RHOSES+G L/,^WF<7#BQV7X\[O5(CJO74RAD9]^>
M?\6WQ%#ZXO>SQ]-N;/.7V6%[?XSS?CD/ERR/R_?XUS-^J__!/A2DCQ321P;I
M(X?TH2%]&$@?!:2/$M*'%)1&**)*"JF28JJDH"HIJDH*JY+BJJ3 *BFR*HJL
MBB*KHLBJ*+(JBJR*(JNBR*HHLBJ*K(HB:TJ1-:7(FE)D32FRIA194XJL*476
ME")K2I$UI<B:463-*+)F%%DSBJP91=:,(FM&D36CR)I19,THLN8467.*K#E%
MUIPB:TZ1-:?(FE-DS2FRYA19<XJLFB*KILBJ*;)JBJR:(JNFR*HILFJ*K)HB
MJZ;(:BBR&HJLAB*KH<AJ*+(:BJR&(JNAR&HHLAJ*K 5%UH(B:T&1M:#(6E!D
M+2BR%A19"XJL!476@B)K29&UI,A:4F0M*;*6%%E+BJPE1=:2(FM)D;6DR"H%
MA58I*+9*0<%5"HJN4E!XE8+BJQ048*6@""L%A5@I,,:"KF-AC.5<R.+<R.)<
MR>+<R?JOE[*^C^/^'\<OS[BOVN$U/UG^6^'F)U!+ 0(4 Q0    ( &>!6E@'
M04UB@0   +$    0              "  0    !D;V-0<F]P<R]A<' N>&UL
M4$L! A0#%     @ 9X%:6+Z+KM#N    *P(  !$              ( !KP
M &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ 9X%:6)E<G",0!@  G"<
M !,              ( !S $  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4
M    " !G@5I81X]Q.=D(   ^-0  &               @($-"   >&PO=V]R
M:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ 9X%:6#^=:IGA!P  7"$
M !@              ("!'!$  'AL+W=O<FMS:&5E=',O<VAE970R+GAM;%!+
M 0(4 Q0    ( &>!6E@PUAG*N ,  )8-   8              " @3,9  !X
M;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    " !G@5I8/X1Y:@D'
M   *)P  &               @($A'0  >&PO=V]R:W-H965T<R]S:&5E=#0N
M>&UL4$L! A0#%     @ 9X%:6.JK9%_L @  . @  !@              ("!
M8"0  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    ( &>!6ECW
M#:)JD0,  *T,   8              " @8(G  !X;"]W;W)K<VAE971S+W-H
M965T-BYX;6Q02P$"% ,4    " !G@5I8XA<K$Z (  "%.   &
M    @(%)*P  >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#%     @
M9X%:6)1C<X60#   <#T  !@              ("!'S0  'AL+W=O<FMS:&5E
M=',O<VAE970X+GAM;%!+ 0(4 Q0    ( &>!6EA/0[&3.P,  "\*   8
M          " @>5   !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q02P$"% ,4
M    " !G@5I8?7!*!:0$  #9"0  &0              @(%61   >&PO=V]R
M:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( &>!6EB]!:QB'R@  &B&
M   9              " @3%)  !X;"]W;W)K<VAE971S+W-H965T,3$N>&UL
M4$L! A0#%     @ 9X%:6$M"C3JD'P   88  !D              ("!AW$
M 'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    " !G@5I8,Z51
M33P+  #8'   &0              @(%BD0  >&PO=V]R:W-H965T<R]S:&5E
M=#$S+GAM;%!+ 0(4 Q0    ( &>!6E@X'1C?/@8  ",/   9
M  " @=6<  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#%     @
M9X%:6-[%\KD["   RQ0  !D              ("!2J,  'AL+W=O<FMS:&5E
M=',O<VAE970Q-2YX;6Q02P$"% ,4    " !G@5I8KX_GRR4*  #_&P  &0
M            @(&\JP  >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;%!+ 0(4
M Q0    ( &>!6EAZ)YF@_ T  %XG   9              " @1BV  !X;"]W
M;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ 9X%:6,<<*-AA!P
M#!,  !D              ("!2\0  'AL+W=O<FMS:&5E=',O<VAE970Q."YX
M;6Q02P$"% ,4    " !G@5I88&D%8/ (  !8&@  &0              @('C
MRP  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    ( &>!6EA=
M7E&<A00  /$)   9              " @0K5  !X;"]W;W)K<VAE971S+W-H
M965T,C N>&UL4$L! A0#%     @ 9X%:6,5N<@WZ#@  0B@  !D
M     ("!QMD  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"% ,4
M" !G@5I8XCW?K#0<  "R7   &0              @('WZ   >&PO=V]R:W-H
M965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( &>!6EB)W.UKOP,  #H(   9
M              " @6(% 0!X;"]W;W)K<VAE971S+W-H965T,C,N>&UL4$L!
M A0#%     @ 9X%:6%V 7H2?"P  S!\  !D              ("!6 D! 'AL
M+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    " !G@5I87.\^J? $
M  #_#@  &0              @($N%0$ >&PO=V]R:W-H965T<R]S:&5E=#(U
M+GAM;%!+ 0(4 Q0    ( &>!6EC%? ^6^ 4  #@.   9              "
M@54: 0!X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%     @ 9X%:
M6& P+X;M P  X@@  !D              ("!A" ! 'AL+W=O<FMS:&5E=',O
M<VAE970R-RYX;6Q02P$"% ,4    " !G@5I8,5LI&V0#   4"   &0
M        @(&H) $ >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+ 0(4 Q0
M   ( &>!6EA TU4!8F0   6E 0 9              " @4,H 0!X;"]W;W)K
M<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @ 9X%:6/7&.22^ @  V04
M !D              ("!W(P! 'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6Q0
M2P$"% ,4    " !G@5I8[L!W)RD)   N)@  &0              @('1CP$
M>&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( &>!6EA.^1VA
M>0,  *8'   9              " @3&9 0!X;"]W;W)K<VAE971S+W-H965T
M,S(N>&UL4$L! A0#%     @ 9X%:6,C!Q#32 @  $@8  !D
M ("!X9P! 'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4    " !G
M@5I85(Y^3J4#  ">"   &0              @('JGP$ >&PO=V]R:W-H965T
M<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( &>!6EAVGW6SB08   @3   9
M          " @<:C 0!X;"]W;W)K<VAE971S+W-H965T,S4N>&UL4$L! A0#
M%     @ 9X%:6 &=JUE*"0  AQH  !D              ("!AJH! 'AL+W=O
M<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    " !G@5I87R<DE.0"  ";
M!@  &0              @($'M $ >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM
M;%!+ 0(4 Q0    ( &>!6EB2/W-\Y@(  .4&   9              " @2*W
M 0!X;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#%     @ 9X%:6%9R
M6Y?J @  6P8  !D              ("!/[H! 'AL+W=O<FMS:&5E=',O<VAE
M970S.2YX;6Q02P$"% ,4    " !G@5I8+@7K5/0&  #^$P  &0
M    @(%@O0$ >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4 Q0    (
M &>!6EAETK#;1@,  -\&   9              " @8O$ 0!X;"]W;W)K<VAE
M971S+W-H965T-#$N>&UL4$L! A0#%     @ 9X%:6-;Y<WJ^!@  1A,  !D
M             ("!",@! 'AL+W=O<FMS:&5E=',O<VAE970T,BYX;6Q02P$"
M% ,4    " !G@5I8Z'5'6]4$  "%#   &0              @(']S@$ >&PO
M=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( &>!6E@WQ2\HK0H
M  1@   9              " @0G4 0!X;"]W;W)K<VAE971S+W-H965T-#0N
M>&UL4$L! A0#%     @ 9X%:6&]YA:/M @  R D  !D              ("!
M[=X! 'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4    " !G@5I8
M:(5  UL-   ]PP  &0              @($1X@$ >&PO=V]R:W-H965T<R]S
M:&5E=#0V+GAM;%!+ 0(4 Q0    ( &>!6EA^/8X7_P,  $T0   9
M      " @:/O 0!X;"]W;W)K<VAE971S+W-H965T-#<N>&UL4$L! A0#%
M  @ 9X%:6**H3,F_"P  UHD  !D              ("!V?,! 'AL+W=O<FMS
M:&5E=',O<VAE970T."YX;6Q02P$"% ,4    " !G@5I8UQ0H7\0#  #K"P
M&0              @('/_P$ >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;%!+
M 0(4 Q0    ( &>!6EA:7Y3=YP8  ,X[   9              " @<H# @!X
M;"]W;W)K<VAE971S+W-H965T-3 N>&UL4$L! A0#%     @ 9X%:6$;R/*G]
M!   B"   !D              ("!Z H" 'AL+W=O<FMS:&5E=',O<VAE970U
M,2YX;6Q02P$"% ,4    " !G@5I8FIC'.YP#  #P#P  &0
M@($<$ ( >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;%!+ 0(4 Q0    ( &>!
M6E@ H0W\G ,  +</   9              " @>\3 @!X;"]W;W)K<VAE971S
M+W-H965T-3,N>&UL4$L! A0#%     @ 9X%:6/_LI@1W!   ;1@  !D
M         ("!PA<" 'AL+W=O<FMS:&5E=',O<VAE970U-"YX;6Q02P$"% ,4
M    " !G@5I8L:E]OKD#  #D#@  &0              @(%P' ( >&PO=V]R
M:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    ( &>!6EC-\5F4600  +X8
M   9              " @6 @ @!X;"]W;W)K<VAE971S+W-H965T-38N>&UL
M4$L! A0#%     @ 9X%:6,&#0G.%!0  ZB0  !D              ("!\"0"
M 'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6Q02P$"% ,4    " !G@5I8L7V+
M-IT%  #E(P  &0              @(&L*@( >&PO=V]R:W-H965T<R]S:&5E
M=#4X+GAM;%!+ 0(4 Q0    ( &>!6EBX!P[TN0,   \,   9
M  " @8 P @!X;"]W;W)K<VAE971S+W-H965T-3DN>&UL4$L! A0#%     @
M9X%:6. %?)::!0  Z#$  !D              ("!<#0" 'AL+W=O<FMS:&5E
M=',O<VAE970V,"YX;6Q02P$"% ,4    " !G@5I8-&AM".8+  "$H@  &0
M            @(%!.@( >&PO=V]R:W-H965T<R]S:&5E=#8Q+GAM;%!+ 0(4
M Q0    ( &>!6EA['I"@UP,  .P2   9              " @5Y& @!X;"]W
M;W)K<VAE971S+W-H965T-C(N>&UL4$L! A0#%     @ 9X%:6/+%?L>I!
MP14  !D              ("!;$H" 'AL+W=O<FMS:&5E=',O<VAE970V,RYX
M;6Q02P$"% ,4    " !G@5I8?41+VK($   S&0  &0              @(%,
M3P( >&PO=V]R:W-H965T<R]S:&5E=#8T+GAM;%!+ 0(4 Q0    ( &>!6EA9
M7:?_\0(  &X'   9              " @354 @!X;"]W;W)K<VAE971S+W-H
M965T-C4N>&UL4$L! A0#%     @ 9X%:6&F?R!_W P   1(  !D
M     ("!75<" 'AL+W=O<FMS:&5E=',O<VAE970V-BYX;6Q02P$"% ,4
M" !G@5I8/S24=8\+  #^A   &0              @(&+6P( >&PO=V]R:W-H
M965T<R]S:&5E=#8W+GAM;%!+ 0(4 Q0    ( &>!6EB)-F3*T0(  /@)   9
M              " @5%G @!X;"]W;W)K<VAE971S+W-H965T-C@N>&UL4$L!
M A0#%     @ 9X%:6*KN6E[$"0  &V8  !D              ("!66H" 'AL
M+W=O<FMS:&5E=',O<VAE970V.2YX;6Q02P$"% ,4    " !G@5I8I)ZT?0D$
M   ?$   &0              @(%4= ( >&PO=V]R:W-H965T<R]S:&5E=#<P
M+GAM;%!+ 0(4 Q0    ( &>!6EB/18 4'0,  +()   9              "
M@91X @!X;"]W;W)K<VAE971S+W-H965T-S$N>&UL4$L! A0#%     @ 9X%:
M6%>=@!PX!0  V!H  !D              ("!Z'L" 'AL+W=O<FMS:&5E=',O
M<VAE970W,BYX;6Q02P$"% ,4    " !G@5I8\,& %YP"  !_"   &0
M        @(%7@0( >&PO=V]R:W-H965T<R]S:&5E=#<S+GAM;%!+ 0(4 Q0
M   ( &>!6E@QXFO:/ ,  *8+   9              " @2J$ @!X;"]W;W)K
M<VAE971S+W-H965T-S0N>&UL4$L! A0#%     @ 9X%:6,W9!BF\ @  KP<
M !D              ("!G8<" 'AL+W=O<FMS:&5E=',O<VAE970W-2YX;6Q0
M2P$"% ,4    " !G@5I8),@C#8X&  !I,0  &0              @(&0B@(
M>&PO=V]R:W-H965T<R]S:&5E=#<V+GAM;%!+ 0(4 Q0    ( &>!6EC9G4*E
M0@8  $(J   9              " @561 @!X;"]W;W)K<VAE971S+W-H965T
M-S<N>&UL4$L! A0#%     @ 9X%:6/[9F7N%!@  +#4  !D
M ("!SI<" 'AL+W=O<FMS:&5E=',O<VAE970W."YX;6Q02P$"% ,4    " !G
M@5I8S(!_WI@"  #R!@  &0              @(&*G@( >&PO=V]R:W-H965T
M<R]S:&5E=#<Y+GAM;%!+ 0(4 Q0    ( &>!6EB$LO:!*P,  (L)   9
M          " @5FA @!X;"]W;W)K<VAE971S+W-H965T.# N>&UL4$L! A0#
M%     @ 9X%:6'8-4& U!   SA8  !D              ("!NZ0" 'AL+W=O
M<FMS:&5E=',O<VAE970X,2YX;6Q02P$"% ,4    " !G@5I8M%@R6!0$  #>
M#   &0              @($GJ0( >&PO=V]R:W-H965T<R]S:&5E=#@R+GAM
M;%!+ 0(4 Q0    ( &>!6EC>G+5/,@P  '>4   9              " @7*M
M @!X;"]W;W)K<VAE971S+W-H965T.#,N>&UL4$L! A0#%     @ 9X%:6$6'
M_+=; P  YPL  !D              ("!V[D" 'AL+W=O<FMS:&5E=',O<VAE
M970X-"YX;6Q02P$"% ,4    " !G@5I8X"3CVW@&   .*   &0
M    @(%MO0( >&PO=V]R:W-H965T<R]S:&5E=#@U+GAM;%!+ 0(4 Q0    (
M &>!6EC,Y)I@C@,  %<0   9              " @1S$ @!X;"]W;W)K<VAE
M971S+W-H965T.#8N>&UL4$L! A0#%     @ 9X%:6!@L,C6& P  30T  !D
M             ("!X<<" 'AL+W=O<FMS:&5E=',O<VAE970X-RYX;6Q02P$"
M% ,4    " !G@5I8X.480W #  "##@  &0              @(&>RP( >&PO
M=V]R:W-H965T<R]S:&5E=#@X+GAM;%!+ 0(4 Q0    ( &>!6EA\^N+YB ,
M (4.   9              " @47/ @!X;"]W;W)K<VAE971S+W-H965T.#DN
M>&UL4$L! A0#%     @ 9X%:6+52HXLJ @  U@0  !D              ("!
M!-," 'AL+W=O<FMS:&5E=',O<VAE970Y,"YX;6Q02P$"% ,4    " !G@5I8
M29;,DBD#  "H"@  &0              @(%EU0( >&PO=V]R:W-H965T<R]S
M:&5E=#DQ+GAM;%!+ 0(4 Q0    ( &>!6E@8)VH;UP,  -$2   9
M      " @<78 @!X;"]W;W)K<VAE971S+W-H965T.3(N>&UL4$L! A0#%
M  @ 9X%:6)92:C#*"P  ]7D  !D              ("!T]P" 'AL+W=O<FMS
M:&5E=',O<VAE970Y,RYX;6Q02P$"% ,4    " !G@5I8@KM@<HT$  #,$@
M&0              @('4Z ( >&PO=V]R:W-H965T<R]S:&5E=#DT+GAM;%!+
M 0(4 Q0    ( &>!6EBPC3UX900  &07   9              " @9CM @!X
M;"]W;W)K<VAE971S+W-H965T.34N>&UL4$L! A0#%     @ 9X%:6(JJX3[:
M!   :!,  !D              ("!-/(" 'AL+W=O<FMS:&5E=',O<VAE970Y
M-BYX;6Q02P$"% ,4    " !G@5I86P4B,GL#  "8#@  &0
M@(%%]P( >&PO=V]R:W-H965T<R]S:&5E=#DW+GAM;%!+ 0(4 Q0    ( &>!
M6E@%7E1"9@4  #D>   9              " @??Z @!X;"]W;W)K<VAE971S
M+W-H965T.3@N>&UL4$L! A0#%     @ 9X%:6+.8Z(HI P  ]0D  !D
M         ("!E  # 'AL+W=O<FMS:&5E=',O<VAE970Y.2YX;6Q02P$"% ,4
M    " !G@5I8P\-T.C<$  #9$P  &@              @('T P, >&PO=V]R
M:W-H965T<R]S:&5E=#$P,"YX;6Q02P$"% ,4    " !G@5I8W<O5-&8)  #[
M7   &@              @(%C" , >&PO=V]R:W-H965T<R]S:&5E=#$P,2YX
M;6Q02P$"% ,4    " !G@5I8;#,E?.$#  "\$@  &@              @($!
M$@, >&PO=V]R:W-H965T<R]S:&5E=#$P,BYX;6Q02P$"% ,4    " !G@5I8
M-/%H+/P"  !P"   &@              @($:%@, >&PO=V]R:W-H965T<R]S
M:&5E=#$P,RYX;6Q02P$"% ,4    " !G@5I8[7H>^DL#  !_#0  &@
M        @(%.&0, >&PO=V]R:W-H965T<R]S:&5E=#$P-"YX;6Q02P$"% ,4
M    " !G@5I8I<@1"N #  #+#@  &@              @('1' , >&PO=V]R
M:W-H965T<R]S:&5E=#$P-2YX;6Q02P$"% ,4    " !G@5I8V?/8I8($  #U
M#P  &@              @('I( , >&PO=V]R:W-H965T<R]S:&5E=#$P-BYX
M;6Q02P$"% ,4    " !G@5I8/>X;5&,'   T.   &@              @(&C
M)0, >&PO=V]R:W-H965T<R]S:&5E=#$P-RYX;6Q02P$"% ,4    " !G@5I8
M!VTN.\P#   5#P  &@              @($^+0, >&PO=V]R:W-H965T<R]S
M:&5E=#$P."YX;6Q02P$"% ,4    " !G@5I8\T(@IZL%  "&(0  &@
M        @(%",0, >&PO=V]R:W-H965T<R]S:&5E=#$P.2YX;6Q02P$"% ,4
M    " !G@5I8^M'_0_H!   6!   &@              @($E-P, >&PO=V]R
M:W-H965T<R]S:&5E=#$Q,"YX;6Q02P$"% ,4    " !G@5I8:P2#N> #  !%
M%   &@              @(%7.0, >&PO=V]R:W-H965T<R]S:&5E=#$Q,2YX
M;6Q02P$"% ,4    " !G@5I8 J?@+_,"  #>"@  &@              @(%O
M/0, >&PO=V]R:W-H965T<R]S:&5E=#$Q,BYX;6Q02P$"% ,4    " !G@5I8
MDV)'9.P"  #?"0  &@              @(&:0 , >&PO=V]R:W-H965T<R]S
M:&5E=#$Q,RYX;6Q02P$"% ,4    " !G@5I8^NOK3%X$   B&P  &@
M        @(&^0P, >&PO=V]R:W-H965T<R]S:&5E=#$Q-"YX;6Q02P$"% ,4
M    " !G@5I8,:;', T"   V!   &@              @(%42 , >&PO=V]R
M:W-H965T<R]S:&5E=#$Q-2YX;6Q02P$"% ,4    " !G@5I8YO,*KF0$  "#
M$@  &@              @(&92@, >&PO=V]R:W-H965T<R]S:&5E=#$Q-BYX
M;6Q02P$"% ,4    " !G@5I8BD\JSS4#  #($P  #0              @ $U
M3P, >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0    ( &>!6EB7BKL<P    !,"   +
M              "  952 P!?<F5L<R\N<F5L<U!+ 0(4 Q0    ( &>!6EAZ
MK&%)=@<  +],   /              "  7Y3 P!X;"]W;W)K8F]O:RYX;6Q0
M2P$"% ,4    " !G@5I8R3 A4S@#   71   &@              @ $A6P,
M>&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4    " !G@5I8O&TJ
M(XP"  !C00  $P              @ &17@, 6T-O;G1E;G1?5'EP97-=+GAM
7;%!+!08     ? !\ "PB  !.80,    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>129
<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>130
<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>132
<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>568</ContextCount>
  <ElementCount>618</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>164</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>10</UnitCount>
  <MyReports>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>100000 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="fgen-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.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>100030 - Statement - Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>100040 - Statement - Consolidated Statements of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations</Role>
      <ShortName>Consolidated Statements of Operations</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>100050 - Statement - Consolidated Statements of Operations (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical</Role>
      <ShortName>Consolidated Statements of Operations (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>100060 - Statement - Consolidated Statements of Comprehensive Loss</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss</Role>
      <ShortName>Consolidated Statements of Comprehensive Loss</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>100070 - Statement - Consolidated Statements of Changes in Stockholders' Equity (Deficit)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit</Role>
      <ShortName>Consolidated Statements of Changes in Stockholders' Equity (Deficit)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>100080 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>100090 - Statement - Consolidated Statements of Cash Flows (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlowsParenthetical</Role>
      <ShortName>Consolidated Statements of Cash Flows (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>100100 - Disclosure - The Company</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureTheCompany</Role>
      <ShortName>The Company</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>100110 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>100120 - Disclosure - Collaboration Agreements, License Agreement and Revenues</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenues1</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>100130 - Disclosure - Exclusive License and Option to Acquire Fortis Therapeutics</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeutics1</Role>
      <ShortName>Exclusive License and Option to Acquire Fortis Therapeutics</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>100140 - Disclosure - Equity Method Investment - Variable Interest Entity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntity</Role>
      <ShortName>Equity Method Investment - Variable Interest Entity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>100150 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>100160 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>100170 - Disclosure - Balance Sheet Components</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponents</Role>
      <ShortName>Balance Sheet Components</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>100180 - Disclosure - Senior Secured Term Loan Facilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilities</Role>
      <ShortName>Senior Secured Term Loan Facilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>100190 - Disclosure - Liability Related to Sale of Future Revenues</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenues</Role>
      <ShortName>Liability Related to Sale of Future Revenues</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>100200 - Disclosure - Product Development Obligations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligations</Role>
      <ShortName>Product Development Obligations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>100210 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>100220 - Disclosure - Equity and Stock-based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensation</Role>
      <ShortName>Equity and Stock-based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>100230 - Disclosure - Net Loss Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShare</Role>
      <ShortName>Net Loss Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>100240 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>100250 - Disclosure - Related Party Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactions</Role>
      <ShortName>Related Party Transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>100260 - Disclosure - Segment and Geographic Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformation</Role>
      <ShortName>Segment and Geographic Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>100270 - Disclosure - Subsequent Event</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEvent1</Role>
      <ShortName>Subsequent Event</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>100280 - Disclosure - Schedule II - Valuation and Qualifying Accounts</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccounts</Role>
      <ShortName>Schedule II - Valuation and Qualifying Accounts</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>100290 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>100300 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>100310 - Disclosure - Collaboration Agreements, License Agreement and Revenues (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenues1</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>100320 - Disclosure - Exclusive License and Option to Acquire Fortis Therapeutics (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsTables</Role>
      <ShortName>Exclusive License and Option to Acquire Fortis Therapeutics (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeutics1</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>100330 - Disclosure - Equity Method Investment - Variable Interest Entity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityTables</Role>
      <ShortName>Equity Method Investment - Variable Interest Entity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntity</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>100340 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurements</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>100350 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeases</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>100360 - Disclosure - Balance Sheet Components (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsTables</Role>
      <ShortName>Balance Sheet Components (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponents</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>100370 - Disclosure - Senior Secured Term Loan Facilities (Table)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesTable</Role>
      <ShortName>Senior Secured Term Loan Facilities (Table)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilities</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>100380 - Disclosure - Liability Related to Sale of Future Revenues (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesTables</Role>
      <ShortName>Liability Related to Sale of Future Revenues (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenues</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>100390 - Disclosure - Commitments and Contingencies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesTables</Role>
      <ShortName>Commitments and Contingencies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingencies</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>100400 - Disclosure - Equity and Stock-based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationTables</Role>
      <ShortName>Equity and Stock-based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensation</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>100410 - Disclosure - Net Loss Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareTables</Role>
      <ShortName>Net Loss Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShare</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>100420 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxes</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>100430 - Disclosure - Segment and Geographic Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationTables</Role>
      <ShortName>Segment and Geographic Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformation</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>100440 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>100450 - Disclosure - Summary of Significant Accounting Policies - Schedule of Significant Balance of Accounts Receivable (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Schedule of Significant Balance of Accounts Receivable (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>100460 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Astellas Agreements - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Astellas Agreements - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>100470 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Accounting for the Astellas Agreements - Additional Information 2 (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Accounting for the Astellas Agreements - Additional Information 2 (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>100480 - Disclosure - Collaboration Agreements, License Agreement and Revenues - AstraZeneca Agreements - Additional Information 1 (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - AstraZeneca Agreements - Additional Information 1 (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>100490 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Accounting for the AstraZeneca Agreements - Additional Information 3 (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Accounting for the AstraZeneca Agreements - Additional Information 3 (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>100500 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Eluminex Agreement - Additional Information 2 (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Eluminex Agreement - Additional Information 2 (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>100510 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Summary of License Revenue and Development Revenue Recognized under Agreement (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Summary of License Revenue and Development Revenue Recognized under Agreement (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>100520 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations along with Associated Deferred Revenue (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations along with Associated Deferred Revenue (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>100530 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Summary of Revenue Recognized Under the Collaboration Agreements - Additional Information 4 (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Summary of Revenue Recognized Under the Collaboration Agreements - Additional Information 4 (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>100540 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations Deferred Revenue (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations Deferred Revenue (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>100550 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations Deferred Revenue (Parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations Deferred Revenue (Parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>100560 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Summary of Amounts Recognized as Revenue (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Summary of Amounts Recognized as Revenue (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>100570 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Summary of Product Revenue, Net (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Summary of Product Revenue, Net (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>100580 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Product Revenue, Net - Additional Information 1 (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Product Revenue, Net - Additional Information 1 (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>100590 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Roll-forward of Related Contract Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Roll-forward of Related Contract Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>100600 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Drug Product Revenue - Summary of Drug Product Revenue (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Drug Product Revenue - Summary of Drug Product Revenue (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>100610 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Drug Product Revenue - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Drug Product Revenue - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>100620 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail</Role>
      <ShortName>Collaboration Agreements, License Agreement and Revenues - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>100630 - Disclosure - Exclusive License and Option to Acquire Fortis Therapeutics - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail</Role>
      <ShortName>Exclusive License and Option to Acquire Fortis Therapeutics - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>100640 - Disclosure - Exclusive License and Option to Acquire Fortis Therapeutics - Schedule of Allocation of Purchase Consideration Based on Estimated Fair Values of Acquired Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu</Role>
      <ShortName>Exclusive License and Option to Acquire Fortis Therapeutics - Schedule of Allocation of Purchase Consideration Based on Estimated Fair Values of Acquired Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>100650 - Disclosure - Equity method investment - Variable Interest Entity - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail</Role>
      <ShortName>Equity method investment - Variable Interest Entity - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>100660 - Disclosure - Equity method investment - Variable Interest Entity - Summary of Equity Method Investment (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail</Role>
      <ShortName>Equity method investment - Variable Interest Entity - Summary of Equity Method Investment (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>100670 - Disclosure - Fair Value Measurements - Fair Values of Financial Assets Measured on Recurring Basis (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail</Role>
      <ShortName>Fair Value Measurements - Fair Values of Financial Assets Measured on Recurring Basis (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>100690 - Disclosure - Fair Value Measurements - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail</Role>
      <ShortName>Fair Value Measurements - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>100700 - Disclosure - Leases - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail</Role>
      <ShortName>Leases - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>100710 - Disclosure - Leases - Schedule of Lease Assets and Related Lease Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail</Role>
      <ShortName>Leases - Schedule of Lease Assets and Related Lease Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>100720 - Disclosure - Leases - Components of Lease Expense (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail</Role>
      <ShortName>Leases - Components of Lease Expense (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>100730 - Disclosure - Leases - Schedule of Supplemental Cash Flow Information Related to Leases (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail</Role>
      <ShortName>Leases - Schedule of Supplemental Cash Flow Information Related to Leases (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>100740 - Disclosure - Leases - Schedule of Lease Term and Discount Rate (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseTermAndDiscountRateDetail</Role>
      <ShortName>Leases - Schedule of Lease Term and Discount Rate (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>100750 - Disclosure - Leases - Schedule of Maturities of Lease Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail</Role>
      <ShortName>Leases - Schedule of Maturities of Lease Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>100760 - Disclosure - Balance Sheet Components - Schedule of Cash and Cash Equivalents (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail</Role>
      <ShortName>Balance Sheet Components - Schedule of Cash and Cash Equivalents (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>100770 - Disclosure - Balance Sheet Components - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail</Role>
      <ShortName>Balance Sheet Components - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>100780 - Disclosure - Balance Sheet Components - Summary of Amortized Cost, Gross Unrealized Holding Gains or Losses, and Fair Value of Available-for-Sale Investments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail</Role>
      <ShortName>Balance Sheet Components - Summary of Amortized Cost, Gross Unrealized Holding Gains or Losses, and Fair Value of Available-for-Sale Investments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>100790 - Disclosure - Balance Sheet Components - Summary of Available for Sale Securities in Unrealized Loss Position, Fair Value and Gross Unrealized Loss By Length of Time Security in Continual Unrealized Loss Position (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim</Role>
      <ShortName>Balance Sheet Components - Summary of Available for Sale Securities in Unrealized Loss Position, Fair Value and Gross Unrealized Loss By Length of Time Security in Continual Unrealized Loss Position (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>100800 - Disclosure - Balance Sheet Components - Schedule of Inventory (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail</Role>
      <ShortName>Balance Sheet Components - Schedule of Inventory (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>100810 - Disclosure - Balance Sheet Components - Schedule of Prepaid Expenses and Other Current Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail</Role>
      <ShortName>Balance Sheet Components - Schedule of Prepaid Expenses and Other Current Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>100820 - Disclosure - Balance Sheet Components - Schedule of Property and Equipment (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail</Role>
      <ShortName>Balance Sheet Components - Schedule of Property and Equipment (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>100830 - Disclosure - Balance Sheet Components - Schedule of Accrued and Other Current Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail</Role>
      <ShortName>Balance Sheet Components - Schedule of Accrued and Other Current Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>100850 - Disclosure - Liability Related to Sale of Future Revenues - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail</Role>
      <ShortName>Liability Related to Sale of Future Revenues - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>100860 - Disclosure - Liability Related to Sale of Future Revenues - Schedule of Activity of Liability Related to Sale of Future Revenues (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail</Role>
      <ShortName>Liability Related to Sale of Future Revenues - Schedule of Activity of Liability Related to Sale of Future Revenues (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>100870 - Disclosure - Senior Secured Term Loan Facilities - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail</Role>
      <ShortName>Senior Secured Term Loan Facilities - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>100880 - Disclosure - Senior Secured Term Loan Facilities - Summary of Senior Secured Term Loan Facilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail</Role>
      <ShortName>Senior Secured Term Loan Facilities - Summary of Senior Secured Term Loan Facilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>100900 - Disclosure - Product Development Obligations - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail</Role>
      <ShortName>Product Development Obligations - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>100910 - Disclosure - Commitments and Contingencies - Summary of Outstanding Non-cancelable Purchase Obligations (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail</Role>
      <ShortName>Commitments and Contingencies - Summary of Outstanding Non-cancelable Purchase Obligations (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>88</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>100920 - Disclosure - Commitments and Contingencies - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail</Role>
      <ShortName>Commitments and Contingencies - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>89</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>100930 - Disclosure - Equity and Stock-based Compensation - Common Stock - Additional information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationCommonStockAdditionalInformationDetail</Role>
      <ShortName>Equity and Stock-based Compensation - Common Stock - Additional information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>90</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>100940 - Disclosure - Equity and Stock-based Compensation - Summary of Common Stock Reserved for Future Issuance (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail</Role>
      <ShortName>Equity and Stock-based Compensation - Summary of Common Stock Reserved for Future Issuance (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>100950 - Disclosure - Equity and Stock-based Compensation -At-the-Market Program-Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails</Role>
      <ShortName>Equity and Stock-based Compensation -At-the-Market Program-Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>92</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>100960 - Disclosure - Equity and Stock-based Compensation - Stock Plans - Additional information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail</Role>
      <ShortName>Equity and Stock-based Compensation - Stock Plans - Additional information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>93</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>100970 - Disclosure - Equity and Stock-based Compensation - Stock Plans - Summary of Stock Option Transactions (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail</Role>
      <ShortName>Equity and Stock-based Compensation - Stock Plans - Summary of Stock Option Transactions (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>94</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>100980 - Disclosure - Equity and Stock-based Compensation - Summary of RSU,PRSU and TSR Awards (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail</Role>
      <ShortName>Equity and Stock-based Compensation - Summary of RSU,PRSU and TSR Awards (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>95</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>100990 - Disclosure - Equity and Stock-based Compensation - Employee Stock Purchase Plan - Additional information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail</Role>
      <ShortName>Equity and Stock-based Compensation - Employee Stock Purchase Plan - Additional information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>96</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>101000 - Disclosure - Equity and Stock-based Compensation - Schedule of Recorded Stock-Based Compensation Expense (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail</Role>
      <ShortName>Equity and Stock-based Compensation - Schedule of Recorded Stock-Based Compensation Expense (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>97</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>101010 - Disclosure - Equity and Stock-based Compensation - Schedule of Assumptions used to Estimate Fair Value of Stock Options Granted and Employee Stock Purchase Plans (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail</Role>
      <ShortName>Equity and Stock-based Compensation - Schedule of Assumptions used to Estimate Fair Value of Stock Options Granted and Employee Stock Purchase Plans (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>98</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>101020 - Disclosure - Equity and Stock-based Compensation - Stock-Based Compensation - Additional information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail</Role>
      <ShortName>Equity and Stock-based Compensation - Stock-Based Compensation - Additional information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>99</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>101040 - Disclosure - Equity and Stock based compensation - Schedule of Assumptions used to Estimate Fair Value of TSR Awards (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails</Role>
      <ShortName>Equity and Stock based compensation - Schedule of Assumptions used to Estimate Fair Value of TSR Awards (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>100</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>101050 - Disclosure - Equity and Stock-based Compensation - Subsidiary Stock and Non-Controlling Interests - Additional information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail</Role>
      <ShortName>Equity and Stock-based Compensation - Subsidiary Stock and Non-Controlling Interests - Additional information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>101</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R102.htm</HtmlFileName>
      <LongName>101060 - Disclosure - Net Loss Per Share - Schedule of Weighted Impacts of Outstanding Anti-dilutive Securities Excluded from Calculation of Diluted Net Loss Per Share (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail</Role>
      <ShortName>Net Loss Per Share - Schedule of Weighted Impacts of Outstanding Anti-dilutive Securities Excluded from Calculation of Diluted Net Loss Per Share (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>102</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R103.htm</HtmlFileName>
      <LongName>101070 - Disclosure - Income Taxes - Components of Loss Before Income Taxes (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesComponentsOfLossBeforeIncomeTaxesDetail</Role>
      <ShortName>Income Taxes - Components of Loss Before Income Taxes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>103</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R104.htm</HtmlFileName>
      <LongName>101080 - Disclosure - Income Taxes - Schedule of Components of Provision For Income Taxes (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail</Role>
      <ShortName>Income Taxes - Schedule of Components of Provision For Income Taxes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>104</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R105.htm</HtmlFileName>
      <LongName>101090 - Disclosure - Income Taxes - Schedule of Reconciliation Between Statutory Federal Income Tax Rate and Effective Tax Rate (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail</Role>
      <ShortName>Income Taxes - Schedule of Reconciliation Between Statutory Federal Income Tax Rate and Effective Tax Rate (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>105</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R106.htm</HtmlFileName>
      <LongName>101100 - Disclosure - Income Taxes - Schedule of Significant Components of Deferred Tax Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail</Role>
      <ShortName>Income Taxes - Schedule of Significant Components of Deferred Tax Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>106</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R107.htm</HtmlFileName>
      <LongName>101110 - Disclosure - Income Taxes - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail</Role>
      <ShortName>Income Taxes - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>107</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R108.htm</HtmlFileName>
      <LongName>101120 - Disclosure - Income Taxes - Reconciliation of the Beginning and Ending Amounts of Unrecognized Income Tax Benefits (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail</Role>
      <ShortName>Income Taxes - Reconciliation of the Beginning and Ending Amounts of Unrecognized Income Tax Benefits (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>108</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R109.htm</HtmlFileName>
      <LongName>101130 - Disclosure - Related Party Transactions - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail</Role>
      <ShortName>Related Party Transactions - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>109</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R110.htm</HtmlFileName>
      <LongName>101140 - Disclosure - Segment and Geographic Information - Additional information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail</Role>
      <ShortName>Segment and Geographic Information - Additional information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>110</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R111.htm</HtmlFileName>
      <LongName>101150 - Disclosure - Segment and Geographic Information - Schedule of Revenue by Geographic Area (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail</Role>
      <ShortName>Segment and Geographic Information - Schedule of Revenue by Geographic Area (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>111</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R112.htm</HtmlFileName>
      <LongName>101180 - Disclosure - Segment and Geographic Information - Schedule of Long Lived Assets by Geographic Area (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail</Role>
      <ShortName>Segment and Geographic Information - Schedule of Long Lived Assets by Geographic Area (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>112</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R113.htm</HtmlFileName>
      <LongName>101190 - Disclosure - Segment and Geographic Information - Summary of Finance and Operating Lease Right of Use Assets by Geographical Location (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail</Role>
      <ShortName>Segment and Geographic Information - Summary of Finance and Operating Lease Right of Use Assets by Geographical Location (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>113</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R114.htm</HtmlFileName>
      <LongName>101200 - Disclosure - Segment and Geographic Information - Schedule of Customer Concentration by Collaboration Partners and Distribution Entity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail</Role>
      <ShortName>Segment and Geographic Information - Schedule of Customer Concentration by Collaboration Partners and Distribution Entity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>114</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R115.htm</HtmlFileName>
      <LongName>101210 - Disclosure - Subsequent Event - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail</Role>
      <ShortName>Subsequent Event - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>115</Position>
    </Report>
    <Report instance="fgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R116.htm</HtmlFileName>
      <LongName>101220 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail</Role>
      <ShortName>Schedule II - Valuation and Qualifying Accounts (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccounts</ParentRole>
      <Position>116</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="fgen-20231231.htm">fgen-20231231.htm</File>
    <File>fgen-20231231.xsd</File>
  </InputFiles>
  <SupplementalFiles>
    <File>img64793345_0.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2023</BaseTaxonomy>
    <BaseTaxonomy items="1435">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="38">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>false</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>135
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "fgen-20231231.htm": {
   "nsprefix": "fgen",
   "nsuri": "http://www.fibrogen.com/20231231",
   "dts": {
    "inline": {
     "local": [
      "fgen-20231231.htm"
     ]
    },
    "schema": {
     "local": [
      "fgen-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/stpr/2023/stpr-2023.xsd"
     ]
    }
   },
   "keyStandard": 434,
   "keyCustom": 184,
   "axisStandard": 43,
   "axisCustom": 0,
   "memberStandard": 68,
   "memberCustom": 85,
   "hidden": {
    "total": 26,
    "http://fasb.org/us-gaap/2023": 23,
    "http://xbrl.sec.gov/dei/2023": 3
   },
   "contextCount": 568,
   "entityCount": 1,
   "segmentCount": 164,
   "elementCount": 1067,
   "unitCount": 10,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 1435,
    "http://xbrl.sec.gov/dei/2023": 38,
    "http://fasb.org/srt/2023": 1
   },
   "report": {
    "R1": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation",
     "longName": "100000 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets",
     "longName": "100010 - Statement - Consolidated Balance Sheets",
     "shortName": "Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:ShortTermInvestments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical",
     "longName": "100030 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "fgen:AccountsReceivableNetCurrentRelatedParties",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "fgen:AccountsReceivableNetCurrentRelatedParties",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations",
     "longName": "100040 - Statement - Consolidated Statements of Operations",
     "shortName": "Consolidated Statements of Operations",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:CostOfRevenue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical",
     "longName": "100050 - Statement - Consolidated Statements of Operations (Parenthetical)",
     "shortName": "Consolidated Statements of Operations (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "C_05c5ce5e-eb10-425e-80f5-1adf25ba924a",
      "name": "fgen:LicenseFeesAndMilestonesRevenue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_05c5ce5e-eb10-425e-80f5-1adf25ba924a",
      "name": "fgen:LicenseFeesAndMilestonesRevenue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss",
     "longName": "100060 - Statement - Consolidated Statements of Comprehensive Loss",
     "shortName": "Consolidated Statements of Comprehensive Loss",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit",
     "longName": "100070 - Statement - Consolidated Statements of Changes in Stockholders' Equity (Deficit)",
     "shortName": "Consolidated Statements of Changes in Stockholders' Equity (Deficit)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "C_199ec123-7c4b-43e3-8f2c-009e824a52be",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_199ec123-7c4b-43e3-8f2c-009e824a52be",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows",
     "longName": "100080 - Statement - Consolidated Statements of Cash Flows",
     "shortName": "Consolidated Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "8",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlowsParenthetical",
     "longName": "100090 - Statement - Consolidated Statements of Cash Flows (Parenthetical)",
     "shortName": "Consolidated Statements of Cash Flows (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "9",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:IncreaseDecreaseInAccountsReceivableRelatedParties",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:IncreaseDecreaseInAccountsReceivableRelatedParties",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureTheCompany",
     "longName": "100100 - Disclosure - The Company",
     "shortName": "The Company",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies",
     "longName": "100110 - Disclosure - Summary of Significant Accounting Policies",
     "shortName": "Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenues1",
     "longName": "100120 - Disclosure - Collaboration Agreements, License Agreement and Revenues",
     "shortName": "Collaboration Agreements, License Agreement and Revenues",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeutics1",
     "longName": "100130 - Disclosure - Exclusive License and Option to Acquire Fortis Therapeutics",
     "shortName": "Exclusive License and Option to Acquire Fortis Therapeutics",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntity",
     "longName": "100140 - Disclosure - Equity Method Investment - Variable Interest Entity",
     "shortName": "Equity Method Investment - Variable Interest Entity",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:VariableInterestEntityDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:VariableInterestEntityDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurements",
     "longName": "100150 - Disclosure - Fair Value Measurements",
     "shortName": "Fair Value Measurements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeases",
     "longName": "100160 - Disclosure - Leases",
     "shortName": "Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:LeasesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:LeasesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponents",
     "longName": "100170 - Disclosure - Balance Sheet Components",
     "shortName": "Balance Sheet Components",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilities",
     "longName": "100180 - Disclosure - Senior Secured Term Loan Facilities",
     "shortName": "Senior Secured Term Loan Facilities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenues",
     "longName": "100190 - Disclosure - Liability Related to Sale of Future Revenues",
     "shortName": "Liability Related to Sale of Future Revenues",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:LiabilityRelatedToSaleOfFutureRevenueTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:LiabilityRelatedToSaleOfFutureRevenueTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligations",
     "longName": "100200 - Disclosure - Product Development Obligations",
     "shortName": "Product Development Obligations",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:ProductDevelopmentObligationsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:ProductDevelopmentObligationsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingencies",
     "longName": "100210 - Disclosure - Commitments and Contingencies",
     "shortName": "Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensation",
     "longName": "100220 - Disclosure - Equity and Stock-based Compensation",
     "shortName": "Equity and Stock-based Compensation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShare",
     "longName": "100230 - Disclosure - Net Loss Per Share",
     "shortName": "Net Loss Per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxes",
     "longName": "100240 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactions",
     "longName": "100250 - Disclosure - Related Party Transactions",
     "shortName": "Related Party Transactions",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformation",
     "longName": "100260 - Disclosure - Segment and Geographic Information",
     "shortName": "Segment and Geographic Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "26",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEvent1",
     "longName": "100270 - Disclosure - Subsequent Event",
     "shortName": "Subsequent Event",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "27",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccounts",
     "longName": "100280 - Disclosure - Schedule II - Valuation and Qualifying Accounts",
     "shortName": "Schedule II - Valuation and Qualifying Accounts",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "28",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies",
     "longName": "100290 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "29",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesTables",
     "longName": "100300 - Disclosure - Summary of Significant Accounting Policies (Tables)",
     "shortName": "Summary of Significant Accounting Policies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:ConcentrationRiskCreditRisk",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:ConcentrationRiskCreditRisk",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables",
     "longName": "100310 - Disclosure - Collaboration Agreements, License Agreement and Revenues (Tables)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "fgen:ProductRevenuePolicyPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "fgen:ProductRevenuePolicyPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsTables",
     "longName": "100320 - Disclosure - Exclusive License and Option to Acquire Fortis Therapeutics (Tables)",
     "shortName": "Exclusive License and Option to Acquire Fortis Therapeutics (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityTables",
     "longName": "100330 - Disclosure - Equity Method Investment - Variable Interest Entity (Tables)",
     "shortName": "Equity Method Investment - Variable Interest Entity (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:EquityMethodInvestmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:EquityMethodInvestmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsTables",
     "longName": "100340 - Disclosure - Fair Value Measurements (Tables)",
     "shortName": "Fair Value Measurements (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesTables",
     "longName": "100350 - Disclosure - Leases (Tables)",
     "shortName": "Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "fgen:LeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "fgen:LeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsTables",
     "longName": "100360 - Disclosure - Balance Sheet Components (Tables)",
     "shortName": "Balance Sheet Components (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesTable",
     "longName": "100370 - Disclosure - Senior Secured Term Loan Facilities (Table)",
     "shortName": "Senior Secured Term Loan Facilities (Table)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesTables",
     "longName": "100380 - Disclosure - Liability Related to Sale of Future Revenues (Tables)",
     "shortName": "Liability Related to Sale of Future Revenues (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "38",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "fgen:LiabilityRelatedToSaleOfFutureRevenueTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "fgen:LiabilityRelatedToSaleOfFutureRevenueTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesTables",
     "longName": "100390 - Disclosure - Commitments and Contingencies (Tables)",
     "shortName": "Commitments and Contingencies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "39",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RecordedUnconditionalPurchaseObligationsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RecordedUnconditionalPurchaseObligationsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationTables",
     "longName": "100400 - Disclosure - Equity and Stock-based Compensation (Tables)",
     "shortName": "Equity and Stock-based Compensation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "40",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareTables",
     "longName": "100410 - Disclosure - Net Loss Per Share (Tables)",
     "shortName": "Net Loss Per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "41",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesTables",
     "longName": "100420 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "42",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationTables",
     "longName": "100430 - Disclosure - Segment and Geographic Information (Tables)",
     "shortName": "Segment and Geographic Information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "43",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
     "longName": "100440 - 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": "44",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "U_Segment",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:HighlyLiquidInvestmentMaturityPeriod",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "fgen:CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail",
     "longName": "100450 - Disclosure - Summary of Significant Accounting Policies - Schedule of Significant Balance of Accounts Receivable (Detail)",
     "shortName": "Summary of Significant Accounting Policies - Schedule of Significant Balance of Accounts Receivable (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "C_b0f6d53b-7d83-428b-a51b-4c38c1aab8ab",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:ConcentrationRiskCreditRisk",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_b0f6d53b-7d83-428b-a51b-4c38c1aab8ab",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:ConcentrationRiskCreditRisk",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
     "longName": "100460 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Astellas Agreements - Additional Information (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Astellas Agreements - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_4490c8f4-3882-4f3e-be33-fcc6e52f440c",
      "name": "fgen:ProceedsFromUpfrontNonContingentAndTimeBasedPayments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "fgen:CollaborativeArrangementAndRevenuesPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
     "longName": "100470 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Accounting for the Astellas Agreements - Additional Information 2 (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Accounting for the Astellas Agreements - Additional Information 2 (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "C_f71f5c88-8e09-486d-87a3-fe5cc6fc75c3",
      "name": "us-gaap:AlternativeInvestmentMeasurementInput",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "fgen:CollaborativeArrangementAndRevenuesPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f71f5c88-8e09-486d-87a3-fe5cc6fc75c3",
      "name": "us-gaap:AlternativeInvestmentMeasurementInput",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "fgen:CollaborativeArrangementAndRevenuesPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
     "longName": "100480 - Disclosure - Collaboration Agreements, License Agreement and Revenues - AstraZeneca Agreements - Additional Information 1 (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - AstraZeneca Agreements - Additional Information 1 (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:ContractWithCustomerLiabilityCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_0a847135-1a14-4fd4-a764-90ffc1ce8296",
      "name": "fgen:CoPromotionExpenses",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "fgen:CollaborativeArrangementAndRevenuesPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail",
     "longName": "100490 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Accounting for the AstraZeneca Agreements - Additional Information 3 (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Accounting for the AstraZeneca Agreements - Additional Information 3 (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "C_bf75c14d-7187-4d64-a37d-59031a3cdcee",
      "name": "fgen:RoyaltyRateOnNetRevenue",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "fgen:CollaborativeArrangementAndRevenuesPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_bf75c14d-7187-4d64-a37d-59031a3cdcee",
      "name": "fgen:RoyaltyRateOnNetRevenue",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "fgen:CollaborativeArrangementAndRevenuesPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail",
     "longName": "100500 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Eluminex Agreement - Additional Information 2 (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Eluminex Agreement - Additional Information 2 (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_430d9eae-1a54-416a-978f-bd8321e45644",
      "name": "fgen:FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
     "longName": "100510 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Summary of License Revenue and Development Revenue Recognized under Agreement (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Summary of License Revenue and Development Revenue Recognized under Agreement (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cf240dc1-5b27-4497-9ed3-02c28c795f98",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ContractWithCustomerMilestoneMethodTableTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
     "longName": "100520 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations along with Associated Deferred Revenue (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations along with Associated Deferred Revenue (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "C_6448ae85-341e-476d-a342-5c0cd24af21b",
      "name": "fgen:CashConsiderationReceivedUnderCollaborationAgreement",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_6448ae85-341e-476d-a342-5c0cd24af21b",
      "name": "fgen:CashConsiderationReceivedUnderCollaborationAgreement",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail",
     "longName": "100530 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Summary of Revenue Recognized Under the Collaboration Agreements - Additional Information 4 (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Summary of Revenue Recognized Under the Collaboration Agreements - Additional Information 4 (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "C_c8ee1d0d-831d-4de3-b1ca-208afec64a8d",
      "name": "fgen:VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "fgen:CollaborativeArrangementAndRevenuesPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_b494fc69-c1b9-41de-8f89-256ad32ce8b9",
      "name": "us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail",
     "longName": "100540 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations Deferred Revenue (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations Deferred Revenue (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "C_bf75c14d-7187-4d64-a37d-59031a3cdcee",
      "name": "us-gaap:ContractWithCustomerLiability",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "fgen:ProductRevenuePolicyPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_fe4460a2-ef5d-4301-bd7e-2dfcd14d9c5e",
      "name": "fgen:CumulativeRevenueLicenseAndDevelopmentRevenueRecognized",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail",
     "longName": "100550 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations Deferred Revenue (Parenthetical) (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations Deferred Revenue (Parenthetical) (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "parenthetical",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:ContractWithCustomerLiabilityNoncurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_dbae7583-b097-4efb-82b8-4bd796994785",
      "name": "us-gaap:ContractWithCustomerLiabilityNoncurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail",
     "longName": "100560 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Summary of Amounts Recognized as Revenue (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Summary of Amounts Recognized as Revenue (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_93ffb450-1880-454f-a54a-cc29f02c3ef5",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail",
     "longName": "100570 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Summary of Product Revenue, Net (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Summary of Product Revenue, Net (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_50be1263-1222-4ea9-9e75-30e9ca38196c",
      "name": "fgen:RevenueGrossFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "div",
       "fgen:ProductRevenuePolicyPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
     "longName": "100580 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Product Revenue, Net - Additional Information 1 (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Product Revenue, Net - Additional Information 1 (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_d18ea9ec-9b52-464e-a850-9fd7826c0e76",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "fgen:ProductRevenuePolicyPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
     "longName": "100590 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Roll-forward of Related Contract Liabilities (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Roll-forward of Related Contract Liabilities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "C_73216bff-85f3-4d56-9c06-bf1a34b575f6",
      "name": "us-gaap:ContractWithCustomerLiability",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "fgen:ProductRevenuePolicyPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5402fc82-dece-4075-8abf-01b346722f6c",
      "name": "fgen:ContractWithCustomerLiabilityAdditions",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "fgen:ProductRevenuePolicyPolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
     "longName": "100600 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Drug Product Revenue - Summary of Drug Product Revenue (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Drug Product Revenue - Summary of Drug Product Revenue (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_c59b7f13-65ce-40e5-881d-f7cb503d09c2",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfDrugProductRevenueTableTextBlock",
       "div",
       "fgen:DrugProductRevenuePolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
     "longName": "100610 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Drug Product Revenue - Additional Information (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Drug Product Revenue - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3a551d59-4413-4dad-9089-62d8982fd068",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "fgen:DrugProductRevenuePolicyTextBlock",
       "div",
       "fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
     "longName": "100620 - Disclosure - Collaboration Agreements, License Agreement and Revenues - Additional Information (Detail)",
     "shortName": "Collaboration Agreements, License Agreement and Revenues - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R63": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
     "longName": "100630 - Disclosure - Exclusive License and Option to Acquire Fortis Therapeutics - Additional Information (Detail)",
     "shortName": "Exclusive License and Option to Acquire Fortis Therapeutics - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "C_d466837a-1b7a-43b4-a3be-2605701edfdb",
      "name": "us-gaap:EquityMethodInvestmentOwnershipPercentage",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_d466837a-1b7a-43b4-a3be-2605701edfdb",
      "name": "us-gaap:EquityMethodInvestmentOwnershipPercentage",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu",
     "longName": "100640 - Disclosure - Exclusive License and Option to Acquire Fortis Therapeutics - Schedule of Allocation of Purchase Consideration Based on Estimated Fair Values of Acquired Assets (Details)",
     "shortName": "Exclusive License and Option to Acquire Fortis Therapeutics - Schedule of Allocation of Purchase Consideration Based on Estimated Fair Values of Acquired Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:NonredeemableNoncontrollingInterest",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f0c22d34-501b-48ca-857f-8481c9178419",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
       "div",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R65": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail",
     "longName": "100650 - Disclosure - Equity method investment - Variable Interest Entity - Additional Information (Detail)",
     "shortName": "Equity method investment - Variable Interest Entity - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "C_061a0b90-7f05-4b23-b2ae-a660d9e924e5",
      "name": "us-gaap:InvestmentIncomeDividend",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_061a0b90-7f05-4b23-b2ae-a660d9e924e5",
      "name": "us-gaap:InvestmentIncomeDividend",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail",
     "longName": "100660 - Disclosure - Equity method investment - Variable Interest Entity - Summary of Equity Method Investment (Detail)",
     "shortName": "Equity method investment - Variable Interest Entity - Summary of Equity Method Investment (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "C_f5d69702-7188-49ef-8671-e43bbddf4a62",
      "name": "us-gaap:EquityMethodInvestments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_936d7fe1-23ee-4503-9a14-9385a4290304",
      "name": "us-gaap:EquityMethodInvestmentOwnershipPercentage",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:EquityMethodInvestmentsTextBlock",
       "div",
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail",
     "longName": "100670 - Disclosure - Fair Value Measurements - Fair Values of Financial Assets Measured on Recurring Basis (Detail)",
     "shortName": "Fair Value Measurements - Fair Values of Financial Assets Measured on Recurring Basis (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_1cda9703-aeb4-445a-b6b1-adf222eadc12",
      "name": "us-gaap:AssetsFairValueDisclosure",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R68": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail",
     "longName": "100690 - Disclosure - Fair Value Measurements - Additional Information (Detail)",
     "shortName": "Fair Value Measurements - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "C_51790052-a00c-4d1f-b3b3-7bef5e668b8a",
      "name": "fgen:FairValueAssetsLevel1ToLevel2TransferAmount",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_51790052-a00c-4d1f-b3b3-7bef5e668b8a",
      "name": "fgen:FairValueAssetsLevel1ToLevel2TransferAmount",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
     "longName": "100700 - Disclosure - Leases - Additional Information (Detail)",
     "shortName": "Leases - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:FinanceLeaseRightOfUseAsset",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock",
       "div",
       "fgen:LeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_db1c0239-aeb1-4148-8dfe-f3b5578ab393",
      "name": "us-gaap:LesseeOperatingLeaseTermOfContract",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "fgen:LeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R70": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail",
     "longName": "100710 - Disclosure - Leases - Schedule of Lease Assets and Related Lease Liabilities (Detail)",
     "shortName": "Leases - Schedule of Lease Assets and Related Lease Liabilities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "fgen:FinanceLeaseRightOfUseAssetsCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock",
       "div",
       "fgen:LeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "fgen:FinanceLeaseRightOfUseAssetsCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock",
       "div",
       "fgen:LeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R71": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail",
     "longName": "100720 - Disclosure - Leases - Components of Lease Expense (Detail)",
     "shortName": "Leases - Components of Lease Expense (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:FinanceLeaseInterestExpense",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "div",
       "fgen:LeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R72": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail",
     "longName": "100730 - Disclosure - Leases - Schedule of Supplemental Cash Flow Information Related to Leases (Detail)",
     "shortName": "Leases - Schedule of Supplemental Cash Flow Information Related to Leases (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock",
       "div",
       "fgen:LeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:FinanceLeaseInterestPaymentOnLiability",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock",
       "div",
       "fgen:LeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R73": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseTermAndDiscountRateDetail",
     "longName": "100740 - Disclosure - Leases - Schedule of Lease Term and Discount Rate (Detail)",
     "shortName": "Leases - Schedule of Lease Term and Discount Rate (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfLeaseTermAndDiscountRateTableTextBlock",
       "div",
       "fgen:LeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfLeaseTermAndDiscountRateTableTextBlock",
       "div",
       "fgen:LeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R74": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail",
     "longName": "100750 - Disclosure - Leases - Schedule of Maturities of Lease Liabilities (Detail)",
     "shortName": "Leases - Schedule of Maturities of Lease Liabilities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock",
       "div",
       "fgen:LeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock",
       "div",
       "fgen:LeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R75": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail",
     "longName": "100760 - Disclosure - Balance Sheet Components - Schedule of Cash and Cash Equivalents (Detail)",
     "shortName": "Balance Sheet Components - Schedule of Cash and Cash Equivalents (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:Cash",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:Cash",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R76": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
     "longName": "100770 - Disclosure - Balance Sheet Components - Additional Information (Detail)",
     "shortName": "Balance Sheet Components - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R77": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail",
     "longName": "100780 - Disclosure - Balance Sheet Components - Summary of Amortized Cost, Gross Unrealized Holding Gains or Losses, and Fair Value of Available-for-Sale Investments (Detail)",
     "shortName": "Balance Sheet Components - Summary of Amortized Cost, Gross Unrealized Holding Gains or Losses, and Fair Value of Available-for-Sale Investments (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R78": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim",
     "longName": "100790 - Disclosure - Balance Sheet Components - Summary of Available for Sale Securities in Unrealized Loss Position, Fair Value and Gross Unrealized Loss By Length of Time Security in Continual Unrealized Loss Position (Detail)",
     "shortName": "Balance Sheet Components - Summary of Available for Sale Securities in Unrealized Loss Position, Fair Value and Gross Unrealized Loss By Length of Time Security in Continual Unrealized Loss Position (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R79": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail",
     "longName": "100800 - Disclosure - Balance Sheet Components - Schedule of Inventory (Detail)",
     "shortName": "Balance Sheet Components - Schedule of Inventory (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:InventoryRawMaterials",
      "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": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:InventoryRawMaterials",
      "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": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R80": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail",
     "longName": "100810 - Disclosure - Balance Sheet Components - Schedule of Prepaid Expenses and Other Current Assets (Detail)",
     "shortName": "Balance Sheet Components - Schedule of Prepaid Expenses and Other Current Assets (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:Supplies",
      "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": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "fgen:DeferredRevenuesFromAssociatedContracts",
      "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": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R81": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail",
     "longName": "100820 - Disclosure - Balance Sheet Components - Schedule of Property and Equipment (Detail)",
     "shortName": "Balance Sheet Components - Schedule of Property and Equipment (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "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": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "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": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R82": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail",
     "longName": "100830 - Disclosure - Balance Sheet Components - Schedule of Accrued and Other Current Liabilities (Detail)",
     "shortName": "Balance Sheet Components - Schedule of Accrued and Other Current Liabilities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "fgen:AccruedPreclinicalAndClinicalTrialCurrent",
      "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": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "fgen:AccruedPreclinicalAndClinicalTrialCurrent",
      "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": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R83": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
     "longName": "100850 - Disclosure - Liability Related to Sale of Future Revenues - Additional Information (Detail)",
     "shortName": "Liability Related to Sale of Future Revenues - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "83",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_91b986fc-d91b-46d1-bbbb-edb6c4975266",
      "name": "fgen:PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "fgen:LiabilityRelatedToSaleOfFutureRevenueTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R84": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail",
     "longName": "100860 - Disclosure - Liability Related to Sale of Future Revenues - Schedule of Activity of Liability Related to Sale of Future Revenues (Detail)",
     "shortName": "Liability Related to Sale of Future Revenues - Schedule of Activity of Liability Related to Sale of Future Revenues (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "84",
     "firstAnchor": {
      "contextRef": "C_f5d69702-7188-49ef-8671-e43bbddf4a62",
      "name": "fgen:LiabilityRelatedToSaleOfFutureRevenues",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock",
       "div",
       "fgen:LiabilityRelatedToSaleOfFutureRevenueTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "fgen:LiabilityRelatedToSaleOfFutureRevenues",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock",
       "div",
       "fgen:LiabilityRelatedToSaleOfFutureRevenueTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R85": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail",
     "longName": "100870 - Disclosure - Senior Secured Term Loan Facilities - Additional Information (Detail)",
     "shortName": "Senior Secured Term Loan Facilities - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "85",
     "firstAnchor": {
      "contextRef": "C_c43f0be6-6491-4a49-a5a0-b04b1ffce8ae",
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_c43f0be6-6491-4a49-a5a0-b04b1ffce8ae",
      "name": "us-gaap:DeferredFinanceCostsNet",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R86": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail",
     "longName": "100880 - Disclosure - Senior Secured Term Loan Facilities - Summary of Senior Secured Term Loan Facilities (Detail)",
     "shortName": "Senior Secured Term Loan Facilities - Summary of Senior Secured Term Loan Facilities (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "86",
     "firstAnchor": {
      "contextRef": "C_c43f0be6-6491-4a49-a5a0-b04b1ffce8ae",
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f3cfec5e-c85e-4535-a912-552935865538",
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "div",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R87": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail",
     "longName": "100900 - Disclosure - Product Development Obligations - Additional Information (Detail)",
     "shortName": "Product Development Obligations - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "87",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:NumberOfProductDevelopmentObligations",
      "unitRef": "U_DevelopmentObligation",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "fgen:ProductDevelopmentObligationsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "fgen:NumberOfProductDevelopmentObligations",
      "unitRef": "U_DevelopmentObligation",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "fgen:ProductDevelopmentObligationsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R88": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail",
     "longName": "100910 - Disclosure - Commitments and Contingencies - Summary of Outstanding Non-cancelable Purchase Obligations (Detail)",
     "shortName": "Commitments and Contingencies - Summary of Outstanding Non-cancelable Purchase Obligations (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "88",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:RecordedUnconditionalPurchaseObligationDueWithinOneYear",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:RecordedUnconditionalPurchaseObligationsTextBlock",
       "div",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:RecordedUnconditionalPurchaseObligationDueWithinOneYear",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:RecordedUnconditionalPurchaseObligationsTextBlock",
       "div",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R89": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail",
     "longName": "100920 - Disclosure - Commitments and Contingencies - Additional Information (Detail)",
     "shortName": "Commitments and Contingencies - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "89",
     "firstAnchor": {
      "contextRef": "C_587c875c-85c7-40f7-90ff-380658696ae9",
      "name": "us-gaap:LossContingencyNewClaimsFiledNumber",
      "unitRef": "U_PutativeClassAction",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_587c875c-85c7-40f7-90ff-380658696ae9",
      "name": "us-gaap:LossContingencyNewClaimsFiledNumber",
      "unitRef": "U_PutativeClassAction",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R90": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationCommonStockAdditionalInformationDetail",
     "longName": "100930 - Disclosure - Equity and Stock-based Compensation - Common Stock - Additional information (Detail)",
     "shortName": "Equity and Stock-based Compensation - Common Stock - Additional information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "90",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:CommonStockVotingRights",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:CommonStockVotingRights",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R91": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail",
     "longName": "100940 - Disclosure - Equity and Stock-based Compensation - Summary of Common Stock Reserved for Future Issuance (Detail)",
     "shortName": "Equity and Stock-based Compensation - Summary of Common Stock Reserved for Future Issuance (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "91",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:CommonStockSharesOutstanding",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "us-gaap:CommonStockSharesIssued",
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock",
       "div",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R92": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails",
     "longName": "100950 - Disclosure - Equity and Stock-based Compensation -At-the-Market Program-Additional Information (Details)",
     "shortName": "Equity and Stock-based Compensation -At-the-Market Program-Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "92",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:StockIssuedDuringPeriodValueNewIssues",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_b20a7854-a42e-44ba-9c35-0a281cc96828",
      "name": "us-gaap:StockIssuedDuringPeriodValueNewIssues",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-2",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R93": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail",
     "longName": "100960 - Disclosure - Equity and Stock-based Compensation - Stock Plans - Additional information (Detail)",
     "shortName": "Equity and Stock-based Compensation - Stock Plans - Additional information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "93",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R94": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail",
     "longName": "100970 - Disclosure - Equity and Stock-based Compensation - Stock Plans - Summary of Stock Option Transactions (Detail)",
     "shortName": "Equity and Stock-based Compensation - Stock Plans - Summary of Stock Option Transactions (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "94",
     "firstAnchor": {
      "contextRef": "C_f5d69702-7188-49ef-8671-e43bbddf4a62",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock",
       "div",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R95": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail",
     "longName": "100980 - Disclosure - Equity and Stock-based Compensation - Summary of RSU,PRSU and TSR Awards (Detail)",
     "shortName": "Equity and Stock-based Compensation - Summary of RSU,PRSU and TSR Awards (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "95",
     "firstAnchor": {
      "contextRef": "C_f5d69702-7188-49ef-8671-e43bbddf4a62",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock",
       "div",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_b35f67ea-70ba-4200-a0f3-3b3fff354071",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock",
       "div",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R96": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail",
     "longName": "100990 - Disclosure - Equity and Stock-based Compensation - Employee Stock Purchase Plan - Additional information (Detail)",
     "shortName": "Equity and Stock-based Compensation - Employee Stock Purchase Plan - Additional information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "96",
     "firstAnchor": {
      "contextRef": "C_8161ddbe-54e2-4bb7-99f5-03366cbf8d26",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_8161ddbe-54e2-4bb7-99f5-03366cbf8d26",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R97": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail",
     "longName": "101000 - Disclosure - Equity and Stock-based Compensation - Schedule of Recorded Stock-Based Compensation Expense (Detail)",
     "shortName": "Equity and Stock-based Compensation - Schedule of Recorded Stock-Based Compensation Expense (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "97",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R98": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail",
     "longName": "101010 - Disclosure - Equity and Stock-based Compensation - Schedule of Assumptions used to Estimate Fair Value of Stock Options Granted and Employee Stock Purchase Plans (Detail)",
     "shortName": "Equity and Stock-based Compensation - Schedule of Assumptions used to Estimate Fair Value of Stock Options Granted and Employee Stock Purchase Plans (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "98",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "unitRef": "U_UnitedStatesOfAmericaDollarsShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5557388d-a83e-4fbc-91f0-a6e63de32eb6",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock",
       "div",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R99": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail",
     "longName": "101020 - Disclosure - Equity and Stock-based Compensation - Stock-Based Compensation - Additional information (Detail)",
     "shortName": "Equity and Stock-based Compensation - Stock-Based Compensation - Additional information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "99",
     "firstAnchor": {
      "contextRef": "C_80abdbfe-1ea4-4f78-9a32-0e16549e5993",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_80abdbfe-1ea4-4f78-9a32-0e16549e5993",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R100": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
     "longName": "101040 - Disclosure - Equity and Stock based compensation - Schedule of Assumptions used to Estimate Fair Value of TSR Awards (Details)",
     "shortName": "Equity and Stock based compensation - Schedule of Assumptions used to Estimate Fair Value of TSR Awards (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "100",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "unitRef": "U_UnitedStatesOfAmericaDollarsShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock",
       "div",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R101": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail",
     "longName": "101050 - Disclosure - Equity and Stock-based Compensation - Subsidiary Stock and Non-Controlling Interests - Additional information (Detail)",
     "shortName": "Equity and Stock-based Compensation - Subsidiary Stock and Non-Controlling Interests - Additional information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "101",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:PreferredStockSharesOutstanding",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:PreferredStockSharesIssued",
       "us-gaap:PreferredStockSharesOutstanding",
       "us-gaap:PreferredStockSharesIssued",
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_6c42c9e1-23ed-4be2-a897-0b4a07cbcfae",
      "name": "us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R102": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail",
     "longName": "101060 - Disclosure - Net Loss Per Share - Schedule of Weighted Impacts of Outstanding Anti-dilutive Securities Excluded from Calculation of Diluted Net Loss Per Share (Detail)",
     "shortName": "Net Loss Per Share - Schedule of Weighted Impacts of Outstanding Anti-dilutive Securities Excluded from Calculation of Diluted Net Loss Per Share (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "102",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R103": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesComponentsOfLossBeforeIncomeTaxesDetail",
     "longName": "101070 - Disclosure - Income Taxes - Components of Loss Before Income Taxes (Detail)",
     "shortName": "Income Taxes - Components of Loss Before Income Taxes (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "103",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R104": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail",
     "longName": "101080 - Disclosure - Income Taxes - Schedule of Components of Provision For Income Taxes (Detail)",
     "shortName": "Income Taxes - Schedule of Components of Provision For Income Taxes (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "104",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "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": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "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": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R105": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail",
     "longName": "101090 - Disclosure - Income Taxes - Schedule of Reconciliation Between Statutory Federal Income Tax Rate and Effective Tax Rate (Detail)",
     "shortName": "Income Taxes - Schedule of Reconciliation Between Statutory Federal Income Tax Rate and Effective Tax Rate (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "105",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "U_pure",
      "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": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "U_pure",
      "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": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R106": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail",
     "longName": "101100 - Disclosure - Income Taxes - Schedule of Significant Components of Deferred Tax Assets (Detail)",
     "shortName": "Income Taxes - Schedule of Significant Components of Deferred Tax Assets (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "106",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards",
      "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": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:DeferredTaxAssetsTaxCreditCarryforwards",
      "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": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R107": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail",
     "longName": "101110 - Disclosure - Income Taxes - Additional Information (Detail)",
     "shortName": "Income Taxes - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "107",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R108": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail",
     "longName": "101120 - Disclosure - Income Taxes - Reconciliation of the Beginning and Ending Amounts of Unrecognized Income Tax Benefits (Detail)",
     "shortName": "Income Taxes - Reconciliation of the Beginning and Ending Amounts of Unrecognized Income Tax Benefits (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "108",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_2241c9db-ebb5-46bc-bed6-e1572f418f14",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R109": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
     "longName": "101130 - Disclosure - Related Party Transactions - Additional Information (Detail)",
     "shortName": "Related Party Transactions - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "109",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:Revenues",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_a89db25d-a908-4a2c-a4b5-1acf00a714fa",
      "name": "fgen:DrugProductRevenueFromRelatedParty",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R110": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
     "longName": "101140 - Disclosure - Segment and Geographic Information - Additional information (Detail)",
     "shortName": "Segment and Geographic Information - Additional information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "110",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "U_Segment",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R111": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail",
     "longName": "101150 - Disclosure - Segment and Geographic Information - Schedule of Revenue by Geographic Area (Detail)",
     "shortName": "Segment and Geographic Information - Schedule of Revenue by Geographic Area (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "111",
     "firstAnchor": {
      "contextRef": "C_32c5005e-7734-4197-b44e-37a11e09e7fc",
      "name": "us-gaap:Revenues",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_bc67b859-6a7a-483d-b9ab-3f3606bfba16",
      "name": "us-gaap:Revenues",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R112": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail",
     "longName": "101180 - Disclosure - Segment and Geographic Information - Schedule of Long Lived Assets by Geographic Area (Detail)",
     "shortName": "Segment and Geographic Information - Schedule of Long Lived Assets by Geographic Area (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "112",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:PropertyPlantAndEquipmentNet",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_8e1bfb2b-d5cc-4db7-ba97-d0173c471d20",
      "name": "us-gaap:PropertyPlantAndEquipmentNet",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R113": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail",
     "longName": "101190 - Disclosure - Segment and Geographic Information - Summary of Finance and Operating Lease Right of Use Assets by Geographical Location (Detail)",
     "shortName": "Segment and Geographic Information - Summary of Finance and Operating Lease Right of Use Assets by Geographical Location (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "113",
     "firstAnchor": {
      "contextRef": "C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b",
      "name": "us-gaap:FinanceLeaseRightOfUseAsset",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock",
       "div",
       "fgen:LeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_8e1bfb2b-d5cc-4db7-ba97-d0173c471d20",
      "name": "us-gaap:FinanceLeaseRightOfUseAsset",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "fgen:SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock",
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    },
    "R114": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail",
     "longName": "101200 - Disclosure - Segment and Geographic Information - Schedule of Customer Concentration by Collaboration Partners and Distribution Entity (Detail)",
     "shortName": "Segment and Geographic Information - Schedule of Customer Concentration by Collaboration Partners and Distribution Entity (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "114",
     "firstAnchor": {
      "contextRef": "C_a9ac82b8-66aa-4bbd-a2d9-d559a20f5f07",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_a9ac82b8-66aa-4bbd-a2d9-d559a20f5f07",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R115": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail",
     "longName": "101210 - Disclosure - Subsequent Event - Additional Information (Detail)",
     "shortName": "Subsequent Event - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "115",
     "firstAnchor": {
      "contextRef": "C_c43f0be6-6491-4a49-a5a0-b04b1ffce8ae",
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R116": {
     "role": "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail",
     "longName": "101220 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Detail)",
     "shortName": "Schedule II - Valuation and Qualifying Accounts (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "116",
     "firstAnchor": {
      "contextRef": "C_649d562e-a8ae-40b4-bb9a-131e714124b9",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_20ffc867-55c8-4555-91bd-a994a29c5242",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fgen-20231231.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "fgen_APIShipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "APIShipmentMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "API shipment.",
        "label": "A P I Shipment [Member]",
        "terseLabel": "API Shipment [Member]"
       }
      }
     },
     "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": []
    },
    "fgen_AccountingPolicyLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AccountingPolicyLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting policy.",
        "label": "Accounting Policy [Line Items]",
        "terseLabel": "Accounting Policy [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AccountingPolicyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AccountingPolicyTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting policy.",
        "label": "Accounting Policy [Table]",
        "terseLabel": "Accounting Policy [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingStandardsUpdate201409Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingStandardsUpdate201409Member",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update 2014-09 [Member]",
        "terseLabel": "ASC 606 [Member]",
        "documentation": "Accounting Standards Update 2014-09 Revenue from Contracts with Customers (Topic 606)."
       }
      }
     },
     "auth_ref": [
      "r549"
     ]
    },
    "us-gaap_AccountingStandardsUpdate201901Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingStandardsUpdate201901Member",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update 2019-01 [Member]",
        "terseLabel": "ASC 842 [Member]",
        "documentation": "Accounting Standards Update 2019-01 Leases (Topic 842): Codification Improvements."
       }
      }
     },
     "auth_ref": [
      "r221"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable, Current",
        "totalLabel": "Accounts Payable, Current, Total",
        "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": [
      "r33",
      "r1038"
     ]
    },
    "fgen_AccountsReceivableFromDistributorsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AccountsReceivableFromDistributorsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounts receivable from distributors.",
        "label": "Accounts Receivable From Distributors [Member]",
        "terseLabel": "Accounts Receivable from Distributors [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts Receivable [Member]",
        "verboseLabel": "Percentage of Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r977"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accounts receivable from related parties",
        "terseLabel": "Accounts receivable, net ($6,079 and $12,088 from related parties)",
        "totalLabel": "Accounts receivable, net ($6,079 and $12,088 from related parties)",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "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": [
      "r384",
      "r385"
     ]
    },
    "fgen_AccountsReceivableNetCurrentRelatedParties": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AccountsReceivableNetCurrentRelatedParties",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable from related parties",
        "label": "Accounts Receivable Net Current Related Parties",
        "documentation": "Accounts receivable net current related parties."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accretion (Amortization) of Discounts and Premiums, Investments",
        "negatedLabel": "Net accretion of premium and discount on investments",
        "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r160"
     ]
    },
    "fgen_AccruedAndOtherCurrentLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AccruedAndOtherCurrentLiabilitiesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued and other current liabilities.",
        "label": "Accrued And Other Current Liabilities [Member]",
        "terseLabel": "Accrued and Other Current Liabilities [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AccruedApiAndBulkDrugProductPriceTrueUpCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AccruedApiAndBulkDrugProductPriceTrueUpCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued API and bulk drug product price true-up current.",
        "label": "Accrued API and bulk drug product price true-up current",
        "terseLabel": "API and bulk drug product price true-up"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AccruedCoPromotionExpensesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AccruedCoPromotionExpensesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued co-promotion expenses - current.",
        "label": "Accrued Co Promotion Expenses Current",
        "terseLabel": "Accrued co-promotion expenses - current"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedLiabilitiesAndOtherLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesAndOtherLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued and other current liabilities ($39,814 and $63,886 to a related party)",
        "label": "Accrued Liabilities and Other Liabilities",
        "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities, Current",
        "totalLabel": "Total accrued and other current 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": [
      "r35"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedLiabilitiesCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrentAndNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Accrued Liabilities, Total",
        "label": "Accrued Liabilities",
        "terseLabel": "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."
       }
      }
     },
     "auth_ref": [
      "r125"
     ]
    },
    "us-gaap_AccruedLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities [Member]",
        "terseLabel": "Accrued Liabilities",
        "documentation": "This item represents 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."
       }
      }
     },
     "auth_ref": [
      "r35"
     ]
    },
    "fgen_AccruedLitigationSettlement": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AccruedLitigationSettlement",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued litigation settlement",
        "label": "Accrued Litigation Settlement",
        "documentation": "accrued litigation settlement."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AccruedPreclinicalAndClinicalTrialCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AccruedPreclinicalAndClinicalTrialCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to pre-clinical and clinical trial activities, including those performed by third parties. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Preclinical And Clinical Trial Current",
        "terseLabel": "Preclinical and clinical trial accruals"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AccruedProductDevelopmentCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AccruedProductDevelopmentCosts",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the long-term portion of the outstanding principal and accrued interest of advances in the form note agreements received by the entity to fund various product development efforts.",
        "label": "Accrued Product Development Costs",
        "terseLabel": "Product development obligations"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AccruedProductDevelopmentCostsExcludingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AccruedProductDevelopmentCostsExcludingInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued Product Development Costs Excluding Interest.",
        "label": "Accrued Product Development Costs Excluding Interest",
        "terseLabel": "Accrued product development costs excluding interest"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedProfessionalFeesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedProfessionalFeesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Professional Fees, Current",
        "terseLabel": "Professional services",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r35"
     ]
    },
    "fgen_AccruedProfitShareCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AccruedProfitShareCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued profit share current.",
        "label": "Accrued Profit Share Current",
        "terseLabel": "Roxadustat profit share to AstraZeneca"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AccruedRestructuringChargeCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AccruedRestructuringChargeCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued restructuring charge",
        "label": "Accrued Restructuring Charge Current",
        "documentation": "Accrued restructuring charge current."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AccruedRestructuringCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AccruedRestructuringCharges",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued restructuring charges",
        "label": "Accrued Restructuring Charges",
        "documentation": "Accrued restructuring charges."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Less: accumulated depreciation",
        "totalLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Total",
        "periodStartLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Beginning Balance",
        "periodEndLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Ending Balance",
        "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": [
      "r75",
      "r266",
      "r815"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss",
        "totalLabel": "Accumulated Other Comprehensive Income (Loss), Net of Tax, Total",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r45",
      "r144",
      "r272",
      "r810",
      "r842",
      "r846"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive Loss [Member]",
        "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": [
      "r6",
      "r19",
      "r45",
      "r658",
      "r661",
      "r732",
      "r837",
      "r838",
      "r1091",
      "r1092",
      "r1093",
      "r1107",
      "r1108",
      "r1109"
     ]
    },
    "fgen_AcquiredInProcessResearchAndDevelopmentAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AcquiredInProcessResearchAndDevelopmentAsset",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Acquired in process research and development asset.",
        "label": "Acquired In Process Research And Development Asset",
        "terseLabel": "Acquired in-process research and development asset"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AcquiredInProcessResearchAndDevelopmentExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AcquiredInProcessResearchAndDevelopmentExpenses",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquired In-process Research and Development Expenses",
        "documentation": "Acquired in-process research and development expenses."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AcquisitionAndVariableInterestEntityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AcquisitionAndVariableInterestEntityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Acquisition and variable interest entity abstract.",
        "label": "Acquisition And Variable Interest Entity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AcquisitionAndVariableInterestEntityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AcquisitionAndVariableInterestEntityLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Acquisition and variable interest entity line items.",
        "label": "Acquisition And Variable Interest Entity [Line Items]",
        "terseLabel": "Acquisition And Variable Interest Entity [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AcquisitionAndVariableInterestEntityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AcquisitionAndVariableInterestEntityTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Acquisition and variable interest entity table.",
        "label": "Acquisition And Variable Interest Entity [Table]",
        "terseLabel": "Acquisition And Variable Interest Entity [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AdditionalConsiderationBasedOnNetSales": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AdditionalConsiderationBasedOnNetSales",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of additional consideration based on net sales of product as defined under a collaboration agreement.",
        "label": "Additional Consideration Based On Net Sales",
        "terseLabel": "Additional consideration based on net sales description"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid in Capital",
        "terseLabel": "Additional paid-in capital",
        "totalLabel": "Additional Paid in Capital, Total",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r1038",
      "r1211"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital [Member]",
        "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": [
      "r594",
      "r595",
      "r596",
      "r865",
      "r1107",
      "r1108",
      "r1109",
      "r1186",
      "r1213"
     ]
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update [Axis]",
        "terseLabel": "Accounting Standards Update",
        "documentation": "Information by amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r325",
      "r326",
      "r327",
      "r328",
      "r339",
      "r390",
      "r391",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r480",
      "r594",
      "r595",
      "r596",
      "r626",
      "r627",
      "r628",
      "r629",
      "r641",
      "r642",
      "r643",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r686",
      "r687",
      "r689",
      "r690",
      "r691",
      "r692",
      "r702",
      "r703",
      "r706",
      "r707",
      "r708",
      "r709",
      "r728",
      "r729",
      "r730",
      "r731",
      "r732",
      "r779",
      "r780",
      "r781",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "terseLabel": "Stock-based compensation",
        "totalLabel": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition, Total",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r95",
      "r561"
     ]
    },
    "fgen_AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Adjustments to additional paid in capital shares issued from stock plans net of payroll taxes paid.",
        "label": "Adjustments To Additional Paid In Capital Shares Issued From Stock Plans Net Of Payroll Taxes Paid",
        "terseLabel": "Shares issued from stock plans, net of payroll taxes paid"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustments to reconcile net loss to net cash used in operating activities:",
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AgencyBondsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AgencyBondsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency bonds.",
        "label": "Agency Bonds [Member]",
        "terseLabel": "Agency bonds [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AllOtherMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AllOtherMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All other.",
        "label": "All Other [Member]",
        "terseLabel": "All other [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expense",
        "terseLabel": "Total stock-based compensation expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r592",
      "r601"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "terseLabel": "Reductions to gross accounts receivable",
        "periodStartLabel": "Accounts Receivable, Allowance for Credit Loss, Beginning Balance",
        "periodEndLabel": "Accounts Receivable, Allowance for Credit Loss, Ending Balance",
        "documentation": "Amount of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r273",
      "r388",
      "r443",
      "r447",
      "r448",
      "r1206"
     ]
    },
    "us-gaap_AlternativeInvestmentMeasurementInput": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AlternativeInvestmentMeasurementInput",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Alternative Investment, Measurement Input",
        "terseLabel": "Discount rate applied",
        "documentation": "Value of input used to measure alternative investment."
       }
      }
     },
     "auth_ref": [
      "r682"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance costs and related transaction costs, amortised",
        "label": "Amortization of Debt Issuance Costs and Related Transaction Costs",
        "documentation": "Amortization of debt issuance costs and related transaction costs."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Anti-dilutive securities excluded from computation of net loss 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": [
      "r349"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities [Axis]",
        "terseLabel": "Antidilutive Securities",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "terseLabel": "Antidilutive Securities Excluded From Computation Of Earnings Per Share [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_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities, Name [Domain]",
        "terseLabel": "Antidilutive Securities, Name",
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ArrangementsAndNonarrangementTransactionsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Domain]",
        "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative",
        "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r645"
     ]
    },
    "fgen_AssetAcquisitionPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AssetAcquisitionPolicyPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset Acquisition",
        "label": "Asset Acquisition Policy [Policy Text Block]",
        "documentation": "Asset acquisition policy."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetBackedSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetBackedSecuritiesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset-Backed Securities [Member]",
        "terseLabel": "Asset-backed securities [Member]",
        "documentation": "Securities that are primarily serviced by the cash flows of a discrete pool of receivables or other financial assets for example, but not limited to, credit card receivables, car loans, recreational vehicle loans, and mobile home loans."
       }
      }
     },
     "auth_ref": [
      "r1026",
      "r1115",
      "r1117",
      "r1118"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r189",
      "r268",
      "r307",
      "r360",
      "r370",
      "r375",
      "r429",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r647",
      "r651",
      "r688",
      "r805",
      "r909",
      "r1038",
      "r1054",
      "r1140",
      "r1141",
      "r1195"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "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.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "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": [
      "r261",
      "r278",
      "r307",
      "r429",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r647",
      "r651",
      "r688",
      "r1038",
      "r1140",
      "r1141",
      "r1195"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Fair Value Disclosure",
        "terseLabel": "Total fair value of financial assets",
        "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": [
      "r116"
     ]
    },
    "fgen_AstellasAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AstellasAgreementMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Astellas Agreement [Member]",
        "documentation": "Astellas agreement.",
        "label": "Astellas Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AstellasAndAstraZenecaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AstellasAndAstraZenecaMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Astellas and AstraZeneca.",
        "label": "Astellas And Astra Zeneca [Member]",
        "terseLabel": "Astellas and AstraZeneca [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AstellasCollaborationAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AstellasCollaborationAgreementMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Astellas agreements.",
        "label": "Astellas Collaboration Agreement [Member]",
        "terseLabel": "Astellas Agreement [Member]",
        "verboseLabel": "Astellas-Related party [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AstellasEuropeAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AstellasEuropeAgreementMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Astellas Europe Agreement.",
        "label": "Astellas Europe Agreement [Member]",
        "terseLabel": "Astellas Europe Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AstellasJapanAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AstellasJapanAgreementMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Astellas Japan Agreement.",
        "label": "Astellas Japan Agreement [Member]",
        "terseLabel": "Astellas Japan Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AstellasMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AstellasMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Astellas.",
        "label": "Astellas [Member]",
        "terseLabel": "Astellas [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AstraZenecaABMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AstraZenecaABMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "AstraZeneca AB.",
        "label": "Astra Zeneca A B [Member]",
        "terseLabel": "AstraZenecaAB [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AstraZenecaAgreementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AstraZenecaAgreementsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Astra Zeneca agreements.",
        "label": "Astra Zeneca Agreements [Member]",
        "terseLabel": "AstraZeneca Agreements [Member]",
        "verboseLabel": "AstraZeneca [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AstraZenecaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AstraZenecaMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "AstraZeneca.",
        "label": "Astra Zeneca [Member]",
        "terseLabel": "Astra Zeneca"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_AtmProgramMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "AtmProgramMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ATM Program [Member]",
        "documentation": "ATM Program."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "terseLabel": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r1059",
      "r1060",
      "r1061"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location",
        "terseLabel": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r1059",
      "r1060",
      "r1061"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name",
        "terseLabel": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r1059",
      "r1060",
      "r1061"
     ]
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax",
        "terseLabel": "Gross Unrealized Holding Gains",
        "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r397"
     ]
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax",
        "negatedLabel": "Gross Unrealized Holding Losses",
        "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r398"
     ]
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Amortized Cost",
        "totalLabel": "Amortized Cost",
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r394",
      "r459",
      "r804"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position [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": [
      "r464",
      "r1009"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtSecurities",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale",
        "totalLabel": "Total investments",
        "verboseLabel": "Investments",
        "terseLabel": "Estimated Fair Value",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r395",
      "r459",
      "r795",
      "r1113"
     ]
    },
    "us-gaap_AwardDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardDateAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Date [Axis]",
        "documentation": "Information by date or year award under share-based payment arrangement is granted."
       }
      }
     },
     "auth_ref": [
      "r1149",
      "r1150",
      "r1151",
      "r1152",
      "r1153",
      "r1154",
      "r1155",
      "r1156",
      "r1157",
      "r1158",
      "r1159",
      "r1160",
      "r1161",
      "r1162",
      "r1163",
      "r1164",
      "r1165",
      "r1166",
      "r1167",
      "r1168",
      "r1169",
      "r1170",
      "r1171",
      "r1172",
      "r1173",
      "r1174"
     ]
    },
    "us-gaap_AwardDateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardDateDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Date [Domain]",
        "documentation": "Date or year award under share-based payment arrangement is granted."
       }
      }
     },
     "auth_ref": [
      "r1149",
      "r1150",
      "r1151",
      "r1152",
      "r1153",
      "r1154",
      "r1155",
      "r1156",
      "r1157",
      "r1158",
      "r1159",
      "r1160",
      "r1161",
      "r1162",
      "r1163",
      "r1164",
      "r1165",
      "r1166",
      "r1167",
      "r1168",
      "r1169",
      "r1170",
      "r1171",
      "r1172",
      "r1173",
      "r1174"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r563",
      "r564",
      "r565",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591"
     ]
    },
    "fgen_BalanceInOtherReceivablesRelatedToStockOptionExercise": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "BalanceInOtherReceivablesRelatedToStockOptionExercise",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Balance in other receivables related to stock option exercise",
        "label": "Balance In Other Receivables Related To Stock Option Exercise",
        "documentation": "Balance in other receivables related to stock option exercise."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Axis]",
        "terseLabel": "Balance Sheet Location",
        "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.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Domain]",
        "terseLabel": "Balance Sheet Location",
        "documentation": "Location in the balance sheet (statement of financial position)."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r115"
     ]
    },
    "fgen_BankOfFinlandInterestRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "BankOfFinlandInterestRateMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Bank of Finland interest rate.",
        "label": "Bank Of Finland Interest Rate [Member]",
        "terseLabel": "Bank of Finland Interest Rate [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of Presentation",
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_BeijingEconomicTechnologicalDevelopmentAreaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "BeijingEconomicTechnologicalDevelopmentAreaMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Beijing economic-technological development area.",
        "label": "Beijing Economic Technological Development Area [Member]",
        "terseLabel": "Beijing Economic-Technological Development Area [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_BeijingFalikangPharmaceuticalCoLtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "BeijingFalikangPharmaceuticalCoLtdMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Beijing Falikang Pharmaceutical Co. Ltd.",
        "label": "Beijing Falikang Pharmaceutical Co Ltd [Member]",
        "terseLabel": "Beijing Falikang Pharmaceutical Co Ltd",
        "verboseLabel": "Beijing Falikang Pharmaceutical Co. Ltd [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_BeijingKangdaYongfuPharmaceuticalCoLTDMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "BeijingKangdaYongfuPharmaceuticalCoLTDMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Beijing Kangda Yongfu Pharmaceutical Co., LTD.",
        "label": "Beijing Kangda Yongfu Pharmaceutical Co L T D [Member]",
        "terseLabel": "Beijing Kangda Yongfu Pharmaceutical Co., LTD [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BilledContractReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BilledContractReceivables",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Billed Contracts Receivable",
        "documentation": "Amounts due for billed services rendered or to be rendered, actions taken or to be taken, or a promise to refrain from taking certain actions in accordance with the terms of a legally binding agreement between the Company and, at a minimum, one other party. An example would be amounts billed to customers under contracts or programs but not paid as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r775"
     ]
    },
    "fgen_BiosyntheticCorneaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "BiosyntheticCorneaMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "biosynthetic Cornea [Member]",
        "documentation": "Biosynthetic Cornea."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_BondAndMutualFundsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "BondAndMutualFundsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Bond and mutual funds.",
        "label": "Bond And Mutual Funds [Member]",
        "terseLabel": "Bond and mutual funds [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BondsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BondsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Bonds [Member]",
        "terseLabel": "Agency bonds [Member]",
        "documentation": "Debt security, in which the authorized issuer owes the holder a debt and is obliged to repay the principal and interest (the coupon)."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_BulkDrugProductMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "BulkDrugProductMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Bulk Drug Product [Member]",
        "documentation": "Bulk drug product.",
        "label": "Bulk Drug Product [Member]",
        "terseLabel": "Bulk Drug Product"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionAcquireeDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Acquiree [Domain]",
        "terseLabel": "Business Acquisition, Acquiree",
        "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": [
      "r639",
      "r1029",
      "r1030"
     ]
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition [Axis]",
        "terseLabel": "Business Acquisition",
        "documentation": "Information by business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r103",
      "r639",
      "r1029",
      "r1030"
     ]
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r639"
     ]
    },
    "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Percentage of Voting Interests Acquired",
        "terseLabel": "Percentage of outstanding shares acquired",
        "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationConsiderationTransferred1",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchase consideration",
        "label": "Business Combination, Consideration Transferred",
        "totalLabel": "Business Combination, Consideration Transferred, Total",
        "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": [
      "r2",
      "r3",
      "r16"
     ]
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationContingentConsiderationLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Business Combination, Contingent Consideration, Liability, Total",
        "label": "Business Combination, Contingent Consideration, Liability",
        "verboseLabel": "Contingent payments after acquisition",
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r106",
      "r644"
     ]
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationDisclosureTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeutics1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exclusive License and Option to Acquire Fortis Therapeutics",
        "label": "Business Combination Disclosure [Text Block]",
        "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": [
      "r184",
      "r640"
     ]
    },
    "us-gaap_BusinessCombinationPriceOfAcquisitionExpected": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationPriceOfAcquisitionExpected",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Price of Acquisition, Expected",
        "verboseLabel": "Business acquisition payment if exercises the option",
        "documentation": "Purchase price of expected business acquisition prior to consideration being transferred. Excludes asset acquisition."
       }
      }
     },
     "auth_ref": [
      "r1068"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total assets",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets",
        "documentation": "Amount of assets acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r105"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Assets",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued and other current liabilities",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed Business Combination, Accrued and other current liabilities",
        "documentation": "Business combination, recognized identifiable assets acquired and liabilities assumed business combination, accrued and other current liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and cash equivalents",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and 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": [
      "r105"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prepaid expenses and other current assets",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other 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": [
      "r105"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, 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": [
      "r105"
     ]
    },
    "fgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "IPR&amp;D assets",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed In-Process Research and Development",
        "documentation": "Business combination, recognized identifiable assets acquired and liabilities assumed in-process research and development."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities",
        "documentation": "Amount of liabilities assumed at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r105"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Liabilities",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net identifiable assets, liabilities and non-controlling interests",
        "terseLabel": "Net identifiable assets, liabilities and non-controlling interests",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net",
        "documentation": "Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r105"
     ]
    },
    "us-gaap_BusinessCombinationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combinations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureTheCompany"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Description and Basis of Presentation [Text Block]",
        "terseLabel": "The Company",
        "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. 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)."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r161",
      "r162"
     ]
    },
    "stpr_CA": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/stpr/2023",
     "localname": "CA",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CALIFORNIA",
        "terseLabel": "California [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "country_CN": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "CN",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CHINA",
        "terseLabel": "China [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital Expenditures Incurred but Not yet Paid",
        "terseLabel": "Balance in accounts payable and accrued liabilities related to purchases of property and equipment",
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r55",
      "r56"
     ]
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Cash",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail": {
       "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash",
        "terseLabel": "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": [
      "r209",
      "r807",
      "r876",
      "r904",
      "r1038",
      "r1054",
      "r1082"
     ]
    },
    "us-gaap_CashAcquiredFromAcquisition": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAcquiredFromAcquisition",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash acquired from consolidation of Fortis",
        "label": "Cash Acquired from Acquisition",
        "documentation": "The cash inflow associated with the acquisition of business during the period (for example, cash that was held by the acquired business)."
       }
      }
     },
     "auth_ref": [
      "r48"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash and cash equivalents and restricted time deposits policy.",
        "label": "Cash And Cash Equivalents And Restricted Time Deposits Policy Policy [Text Block]",
        "terseLabel": "Cash, Cash Equivalents and Restricted Time Deposits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 0.0
      },
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents",
        "totalLabel": "Total 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": [
      "r53",
      "r264",
      "r994"
     ]
    },
    "us-gaap_CashAndCashEquivalentsFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, Fair Value Disclosure",
        "terseLabel": "Assets fair value disclosure",
        "documentation": "Fair value portion 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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "periodEndLabel": "Total cash and cash equivalents at end of period",
        "periodStartLabel": "Total cash and cash equivalents at beginning of period",
        "totalLabel": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations, Total",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; 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": [
      "r53",
      "r158",
      "r304"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net 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": [
      "r5",
      "r158"
     ]
    },
    "fgen_CashConsiderationReceivedUnderCollaborationAgreement": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CashConsiderationReceivedUnderCollaborationAgreement",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The total cash consideration received under a collaboration agreement that has been allocated to the different significant units of accounting and includes the portion that has been deferred for revenue recognition.",
        "label": "Cash Consideration Received Under Collaboration Agreement",
        "totalLabel": "Total Consideration"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash paid for amounts included in the measurement of lease liabilities.",
        "label": "Cash Paid For Amounts Included In Measurement Of Lease Liabilities [Abstract]",
        "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ChinaPerformanceObligationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ChinaPerformanceObligationMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "China performance obligation.",
        "label": "China Performance Obligation [Member]",
        "terseLabel": "China performance obligation [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "terseLabel": "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.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Domain]",
        "terseLabel": "Class of Stock",
        "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": [
      "r225",
      "r269",
      "r270",
      "r271",
      "r307",
      "r343",
      "r344",
      "r346",
      "r348",
      "r354",
      "r355",
      "r429",
      "r493",
      "r495",
      "r496",
      "r497",
      "r500",
      "r501",
      "r532",
      "r533",
      "r535",
      "r536",
      "r539",
      "r688",
      "r854",
      "r855",
      "r856",
      "r857",
      "r865",
      "r866",
      "r867",
      "r868",
      "r869",
      "r870",
      "r871",
      "r872",
      "r873",
      "r874",
      "r875",
      "r877",
      "r896",
      "r918",
      "r941",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974",
      "r1066",
      "r1097",
      "r1110"
     ]
    },
    "us-gaap_ClassOfStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfStockLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Line Items]",
        "terseLabel": "Class Of Stock [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": [
      "r269",
      "r270",
      "r271",
      "r354",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r538",
      "r539",
      "r854",
      "r855",
      "r856",
      "r857",
      "r1016",
      "r1066",
      "r1097"
     ]
    },
    "fgen_ClassOfWarrantOrRightNumberOfWarrantsOrRightsExercisedDuringPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ClassOfWarrantOrRightNumberOfWarrantsOrRightsExercisedDuringPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationWarrantsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class of warrant or right number of warrants or rights exercised during period.",
        "label": "Class Of Warrant Or Right Number Of Warrants Or Rights Exercised During Period",
        "terseLabel": "Warrants to purchase common stock exercised"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfWarrantOrRightOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfWarrantOrRightOutstanding",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationWarrantsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Warrant or Right, Outstanding",
        "verboseLabel": "Warrants to purchase common stock outstanding",
        "documentation": "Number of warrants or rights outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ClinicalDevelopmentMilestonesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ClinicalDevelopmentMilestonesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Clinical development milestone.",
        "label": "Clinical Development Milestones [Member]",
        "terseLabel": "Clinical and Development Milestone [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ClinicalTrialAccrualPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ClinicalTrialAccrualPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Clinical trial accrual.",
        "label": "Clinical Trial Accrual Policy [Text Block]",
        "terseLabel": "Clinical Trial Accruals"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CoDevelopmentInformationSharingAndCommitteeServicesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CoDevelopmentInformationSharingAndCommitteeServicesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Co development information sharing and committee services.",
        "label": "Co Development Information Sharing And Committee Services [Member]",
        "terseLabel": "Co-development, information sharing &amp; committee services [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CoDevelopmentServicesRelatedToCDKContinuedOverDevelopmentYear",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Co-development services related to CDK continued over development year.",
        "label": "Co Development Services Related To C D K Continued Over Development Year",
        "terseLabel": "Co-development services related to CDK continued over development year"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod": {
     "xbrltype": "gYearMonthItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CoDevelopmentServicesRelatedToCKDContinuedOverDevelopmentPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Co-development services related to CKD continued over development period.",
        "label": "Co Development Services Related To C K D Continued Over Development Period",
        "terseLabel": "Co-development services related to CKD continued over development period"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CoPromotionExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CoPromotionExpenses",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Co-promotion expenses.",
        "label": "Co Promotion Expenses",
        "terseLabel": "Co-promotion expenses"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CollaborationServicesAndOtherRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CollaborationServicesAndOtherRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue recognized from co-development services, manufacturing of clinical supplies, committee services and information services and other revenue.",
        "label": "Collaboration Services And Other Revenue",
        "terseLabel": "Collaboration services and other revenue from a related party"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CollaborativeArrangementAdditionalUpfrontPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CollaborativeArrangementAdditionalUpfrontPayments",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional upfront payments",
        "label": "Collaborative Arrangement Additional Upfront Payments",
        "documentation": "Collaborative arrangement additional upfront payments."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CollaborativeArrangementAggregateConsideration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CollaborativeArrangementAggregateConsideration",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collaborative arrangement aggregate consideration.",
        "label": "Collaborative Arrangement Aggregate Consideration",
        "terseLabel": "Aggregate considerations received"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of aggregate consideration receivable under collaborative arrangement excluding drug product revenue.",
        "label": "Collaborative Arrangement Aggregate Consideration Excluding Drug Product Revenue",
        "terseLabel": "Aggregate considerations received excluding drug product revenue"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Aggregate consideration received for milestone and upfront payments",
        "documentation": "Collaborative arrangement aggregate consideration for milestone and upfront payments.",
        "label": "Collaborative Arrangement Aggregate Consideration For Milestone And Upfront Payments",
        "terseLabel": "Upfront payment"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CollaborativeArrangementAndRevenuesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CollaborativeArrangementAndRevenuesDisclosureTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenues1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Collaboration Agreements, License Agreement and Revenues",
        "documentation": "Collaborative arrangement and revenues.",
        "label": "Collaborative Arrangement And Revenues Disclosure [Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CollaborativeArrangementAndRevenuesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CollaborativeArrangementAndRevenuesPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collaborative arrangement and revenues.",
        "label": "Collaborative Arrangement And Revenues Policy [Text Block]",
        "terseLabel": "Collaboration Arrangements and Revenues"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CollaborativeArrangementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CollaborativeArrangementMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement [Member]",
        "terseLabel": "Collaborative Arrangement [Member]",
        "documentation": "Contractual arrangement that involves two or more parties that both: (i) actively participate in a joint operating activity and (ii) are exposed to significant risks and rewards that depend on the commercial success of the joint operating activity."
       }
      }
     },
     "auth_ref": [
      "r645"
     ]
    },
    "us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]",
        "terseLabel": "Collaborative Arrangements and Non-collaborative Arrangement Transactions [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": [
      "r645"
     ]
    },
    "fgen_CommercialMilestone": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CommercialMilestone",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commercial milestone.",
        "label": "Commercial Milestone",
        "terseLabel": "Commercial milestone"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommercialPaperAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommercialPaperAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail": {
       "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commercial Paper, at Carrying Value",
        "terseLabel": "Commercial paper",
        "documentation": "Unsecured short-term debt instrument issued by corporations which are 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. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommercialPaperMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommercialPaperMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commercial Paper [Member]",
        "terseLabel": "Commercial paper [Member]",
        "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r1045",
      "r1046",
      "r1047",
      "r1048"
     ]
    },
    "fgen_CommercialSalesAndOtherEventsMilestone": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CommercialSalesAndOtherEventsMilestone",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commercial sales and other events milestone.",
        "label": "Commercial Sales And Other Events Milestone",
        "terseLabel": "Commercial sales and other events milestone"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CommercialSalesMilestone": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CommercialSalesMilestone",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of milestone payments related to commercial sales under the collaborative agreement.",
        "label": "Commercial Sales Milestone",
        "terseLabel": "Commercial sales milestone"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and Contingencies (Note 12)",
        "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": [
      "r40",
      "r127",
      "r806",
      "r895"
     ]
    },
    "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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingencies"
     ],
     "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": [
      "r168",
      "r485",
      "r486",
      "r978",
      "r1134"
     ]
    },
    "fgen_CommitmentsAndContingenciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CommitmentsAndContingenciesLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commitments and contingencies.",
        "label": "Commitments And Contingencies [Line Items]",
        "terseLabel": "Commitments And Contingencies [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CommitmentsAndContingenciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CommitmentsAndContingenciesTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commitments and contingencies.",
        "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",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail": {
       "parentTag": "fgen_CommonStockSharesReserved",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "terseLabel": "Shares reserved for future ESPP offering",
        "verboseLabel": "Number of common stock reserved for issuance",
        "documentation": "Aggregate number of common shares reserved for future issuance."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r1041",
      "r1042",
      "r1043",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1107",
      "r1108",
      "r1186",
      "r1209",
      "r1213"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "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": [
      "r135"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "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": [
      "r135",
      "r896"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r135"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail": {
       "parentTag": "fgen_CommonStockSharesReserved",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, shares outstanding",
        "verboseLabel": "Common stock outstanding",
        "periodStartLabel": "Common Stock, Shares, Outstanding, Beginning Balance",
        "periodEndLabel": "Common Stock, Shares, Outstanding, Ending Balance",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r135",
      "r896",
      "r915",
      "r1213",
      "r1214"
     ]
    },
    "fgen_CommonStockSharesReserved": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CommonStockSharesReserved",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common stock shares reserved.",
        "label": "Common Stock Shares Reserved",
        "totalLabel": "Total shares of common stock reserved"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, $0.01 par value; 225,000 shares authorized at December 31, 2023 and 2022; 98,770 and 94,166 shares issued and outstanding at December 31, 2023 and 2022",
        "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": [
      "r135",
      "r809",
      "r1038"
     ]
    },
    "us-gaap_CommonStockVotingRights": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockVotingRights",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationCommonStockAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Voting Rights",
        "terseLabel": "Common stock voting rights",
        "documentation": "Description of voting rights of common stock. Includes eligibility to vote and votes per share owned. Include also, if any, unusual voting rights."
       }
      }
     },
     "auth_ref": [
      "r86"
     ]
    },
    "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Deferred Tax Assets and Liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Income Tax Expense (Benefit), Continuing Operations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive loss",
        "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": [
      "r46",
      "r285",
      "r287",
      "r295",
      "r797",
      "r823"
     ]
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income, Policy [Policy Text Block]",
        "terseLabel": "Comprehensive Income (Loss)",
        "documentation": "Disclosure of accounting policy for comprehensive income."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComputerEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComputerEquipmentMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Computer Equipment [Member]",
        "terseLabel": "Computer Equipment [Member]",
        "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "terseLabel": "Concentration Risk Benchmark",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r61",
      "r117",
      "r118",
      "r383",
      "r977"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "terseLabel": "Concentration Risk Benchmark",
        "verboseLabel": "Percentage of Accounts Receivable [Member]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r61",
      "r117",
      "r118",
      "r383",
      "r847",
      "r977"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "terseLabel": "Concentration Risk Type",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r61",
      "r117",
      "r118",
      "r383",
      "r977",
      "r1070"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentration of Credit Risk",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r214"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Concentration risk, percentage",
        "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": [
      "r59",
      "r61",
      "r117",
      "r118",
      "r383"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Domain]",
        "terseLabel": "Concentration Risk Type",
        "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": [
      "r59",
      "r61",
      "r117",
      "r118",
      "r383",
      "r977"
     ]
    },
    "us-gaap_ConsolidationVariableInterestEntityPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationVariableInterestEntityPolicy",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Variable Interest Entity, Policy [Policy Text Block]",
        "terseLabel": "Equity Method Investment - Variable Interest Entity",
        "documentation": "Disclosure of accounting policy for consolidation to describe the significant judgments and assumptions made in determining whether a variable interest held by the entity requires the variable interest entity to be consolidated and (or) disclose information about its involvement with the variable interest entity; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; and the significant factors considered and judgments made in determining that the power to direct the activities that significantly impact the economic performance of the variable interest entity are shared (as defined)."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r110",
      "r111"
     ]
    },
    "us-gaap_ConstructionInProgressExpendituresIncurredButNotYetPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConstructionInProgressExpendituresIncurredButNotYetPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Balance in accrued liabilities related to issuance costs of secured term loan facilities",
        "label": "Construction in Progress Expenditures Incurred but Not yet Paid",
        "documentation": "Future cash outflow to pay for construction in progress expenditures that have occurred."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r55",
      "r56"
     ]
    },
    "us-gaap_ConstructionInProgressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConstructionInProgressMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Construction in Progress [Member]",
        "terseLabel": "Construction in progress [Member]",
        "documentation": "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": []
    },
    "fgen_ContractLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ContractLiabilitiesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract liabilities,",
        "label": "Contract Liabilities [Member]",
        "terseLabel": "Contract Liabilities [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "terseLabel": "Roll-forward of Related Contract Liabilities",
        "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": [
      "r1145"
     ]
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetNetCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract asset",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Current",
        "totalLabel": "Contract with Customer, Asset, after Allowance for Credit Loss, Current, Total",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current."
       }
      }
     },
     "auth_ref": [
      "r541",
      "r543",
      "r547"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail": {
       "parentTag": "fgen_CashConsiderationReceivedUnderCollaborationAgreement",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedPeriodEndLabel": "Balance at December 31, 2023",
        "negatedPeriodStartLabel": "Balance at December 31, 2022",
        "label": "Contract with Customer, Liability",
        "terseLabel": "Deferred revenue",
        "verboseLabel": "Deferred Revenue",
        "negatedLabel": "Deferred revenues from associated contracts",
        "totalLabel": "Contract with Customer, Liability, Total",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r541",
      "r542",
      "r547"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability [Abstract]",
        "terseLabel": "Contract with Customer, Liability [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ContractWithCustomerLiabilityAdditions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ContractWithCustomerLiabilityAdditions",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer liability additions.",
        "label": "Contract With Customer Liability Additions",
        "negatedLabel": "Additions"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Changes in revenue from changes to estimated variable consideration",
        "label": "Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized",
        "documentation": "Amount of revenue recognized arising from contract liability from change in timeframe for performance obligation to be satisfied."
       }
      }
     },
     "auth_ref": [
      "r1018"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price",
        "terseLabel": "Amount constrained related to drug product shipment",
        "documentation": "Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from change in estimate of transaction price which (increases) decreases obligation to transfer good or service to customer for which consideration from customer has been received or is due. Includes, but is not limited to, change in assessment of whether estimate of variable consideration is constrained."
       }
      }
     },
     "auth_ref": [
      "r1017"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenue ($7,220 and $9,259 to related parties)",
        "verboseLabel": "Deferred Revenue",
        "label": "Profit share liability",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r541",
      "r542",
      "r547"
     ]
    },
    "fgen_ContractWithCustomerLiabilityDeduction": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ContractWithCustomerLiabilityDeduction",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer liability deduction.",
        "label": "Contract With Customer Liability Deduction",
        "terseLabel": "Deduction"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer, liability, increase (decrease) from current translation and other.",
        "label": "Contract With Customer Liability Increase Decrease From Current Translation And Other",
        "terseLabel": "Currency Translation and Other"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer liability increase decrease in revenue due to changes to estimated variable consideration.",
        "label": "Contract With Customer Liability Increase Decrease In Revenue Due To Changes To Estimated Variable Consideration",
        "terseLabel": "Contract with customer liability increase decrease in revenue due to changes to estimated variable consideration"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ContractWithCustomerLiabilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ContractWithCustomerLiabilityLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer liability.",
        "label": "Contract With Customer Liability [Line Items]",
        "terseLabel": "Contract with Customer Liability [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ContractWithCustomerLiabilityNetOfBalancePresentedAgainstContractAsset",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer liability net of balance presented against contract asset.",
        "label": "Contract with customer liability net of balance presented against contract asset",
        "terseLabel": "Balance Presented NetAgainst Contract Asset"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenue, net of current ($9,705 and $31,044 to a related party)",
        "label": "Contract with Customer, Liability, Noncurrent",
        "verboseLabel": "Deferred revenue, net of current",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r541",
      "r542",
      "r547"
     ]
    },
    "fgen_ContractWithCustomerLiabilityReclassifiedToAccruedLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ContractWithCustomerLiabilityReclassifiedToAccruedLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer liability reclassified to accrued liability.",
        "label": "Contract With Customer Liability Reclassified to Accrued Liability",
        "terseLabel": "Reclassified to accrued liability / accounts payable"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Royalty revenue recognized as drug product revenue",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "terseLabel": "Recognized as Revenue",
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due."
       }
      }
     },
     "auth_ref": [
      "r548"
     ]
    },
    "fgen_ContractWithCustomerLiabilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ContractWithCustomerLiabilityTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract With Customer Liability [Table]",
        "label": "Contract With Customer Liability [Table]",
        "terseLabel": "Contract With Customer Liability [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ContractWithCustomerMilestoneMethodTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ContractWithCustomerMilestoneMethodTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer milestone method.",
        "label": "Contract With Customer Milestone Method Table [Text Block]",
        "terseLabel": "Summary of License Revenue and Development Revenue Recognized under Agreement"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ContractualSalesRebateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ContractualSalesRebateMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual sales rebate.",
        "label": "Contractual Sales Rebate [Member]",
        "terseLabel": "Contractual Sales Rebate [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ConversionOfSubsidiarysConvertibleNotePayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ConversionOfSubsidiarysConvertibleNotePayable",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Conversion of subsidiary's convertible note payable(Note 13)",
        "documentation": "Conversion of subsidiary's convertible note payable.",
        "label": "Conversion Of Subsidiarys Convertible Note Payable"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Conversion of subsidiary's convertible note payable to non-controlling interests",
        "label": "Conversion Of Subsidiarys Convertible Note Payable To Non Controlling Interests",
        "documentation": "Conversion of subsidiary's convertible note payable to non-controlling interests."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConvertibleDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConvertibleDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Debt",
        "terseLabel": "Convertible promissory note",
        "totalLabel": "Convertible Debt, Total",
        "documentation": "Including the current and noncurrent portions, carrying amount of debt identified as being convertible into another form of financial instrument (typically the entity's common stock) as of the balance sheet date, which originally required full repayment more than twelve months after issuance or greater than the normal operating cycle of the company."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r191",
      "r1205"
     ]
    },
    "us-gaap_ConvertibleDebtSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConvertibleDebtSecuritiesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Debt Securities [Member]",
        "terseLabel": "Convertible promissory note",
        "documentation": "Debt securities that can be exchanged for equity of the debt issuer at the option of the issuer or the holder."
       }
      }
     },
     "auth_ref": [
      "r1148"
     ]
    },
    "us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConvertiblePreferredStockSharesIssuedUponConversion",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Preferred Stock, Shares Issued upon Conversion",
        "verboseLabel": "Conversion rights, shares issued upon conversion of each preferred share",
        "documentation": "Number of shares issued for each share of convertible preferred stock that is converted."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r86",
      "r134",
      "r173",
      "r537"
     ]
    },
    "fgen_ConvertiblePromissoryNoteMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ConvertiblePromissoryNoteMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Convertible promissory note [Member]",
        "documentation": "Convertible promissory note.",
        "label": "Convertible promissory note [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CorneaProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CorneaProductsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cornea products.",
        "label": "Cornea Products [Member]",
        "terseLabel": "Cornea Products [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_CorporateAlternativeMinimumTaxPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CorporateAlternativeMinimumTaxPercentage",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Corporate alternative minimum tax percentage.",
        "label": "Corporate Alternative Minimum Tax Percentage",
        "terseLabel": "Corporate alternative minimum tax percentage"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CorporateBondSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CorporateBondSecuritiesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Corporate Bond Securities [Member]",
        "terseLabel": "Corporate bonds [Member]",
        "documentation": "This category includes information about long-term debt securities that are issued by either a domestic or foreign corporate business entity with a date certain promise of repayment and a return to the holder for the time value of money (for example, variable or fixed interest, original issue discount)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Revenue",
        "terseLabel": "Cost of goods sold",
        "totalLabel": "Cost of Revenue, Total",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r307",
      "r429",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r688",
      "r1140"
     ]
    },
    "us-gaap_CostsAndExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostsAndExpenses",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and Expenses",
        "totalLabel": "Total operating costs and expenses",
        "documentation": "Total costs of sales and operating expenses for the period."
       }
      }
     },
     "auth_ref": [
      "r149"
     ]
    },
    "srt_CounterpartyNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "CounterpartyNameAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Axis]",
        "documentation": "Information by name of counterparty. A counterparty is the other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution."
       }
      }
     },
     "auth_ref": [
      "r254",
      "r310",
      "r311",
      "r506",
      "r534",
      "r738",
      "r998",
      "r1000"
     ]
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cover",
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditConcentrationRiskMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Concentration Risk [Member]",
        "terseLabel": "Credit Concentration Risk [Member]",
        "documentation": "Reflects the percentage that a specified receivable or amount at risk from a counterparty under a contractual arrangement is to a specified benchmark, such as total receivables, net revenues, pretax results. Risk is the materially adverse effects of loss attributable to (a) the failure to collect a significant receivable from a major customer or group of homogeneous accounts, or (b) a failure by a counterparty to perform under terms of a contractual arrangement."
       }
      }
     },
     "auth_ref": [
      "r188"
     ]
    },
    "us-gaap_CreditLossFinancialInstrumentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditLossFinancialInstrumentPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Loss, Financial Instrument [Policy Text Block]",
        "terseLabel": "Credit Losses \u2013 Available-For-Sale Debt Securities",
        "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": [
      "r222",
      "r440",
      "r441",
      "r442",
      "r444",
      "r445",
      "r449",
      "r451",
      "r452",
      "r453",
      "r454",
      "r456",
      "r457",
      "r458",
      "r460",
      "r461",
      "r462",
      "r468"
     ]
    },
    "srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "CumulativeEffectPeriodOfAdoptionAdjustmentMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative Effect, Period of Adoption, Adjustment [Member]",
        "terseLabel": "Cumulative Effect, Period of Adoption, Adjustment [Member]",
        "documentation": "Increase (decrease) to financial statements for cumulative-effect adjustment in period of adoption of amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r257",
      "r324",
      "r332",
      "r339",
      "r433",
      "r439",
      "r594",
      "r595",
      "r596",
      "r628",
      "r629",
      "r656",
      "r658",
      "r659",
      "r661",
      "r662",
      "r663",
      "r668",
      "r671",
      "r673",
      "r674",
      "r730"
     ]
    },
    "srt_CumulativeEffectPeriodOfAdoptionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "CumulativeEffectPeriodOfAdoptionAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative Effect, Period of Adoption [Axis]",
        "terseLabel": "Cumulative Effect, Period of Adoption",
        "documentation": "Information by cumulative-effect adjustment to financial statements in period of adoption of amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r257",
      "r324",
      "r332",
      "r339",
      "r433",
      "r439",
      "r594",
      "r595",
      "r596",
      "r628",
      "r629",
      "r656",
      "r658",
      "r659",
      "r661",
      "r662",
      "r663",
      "r668",
      "r671",
      "r673",
      "r674",
      "r730"
     ]
    },
    "srt_CumulativeEffectPeriodOfAdoptionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "CumulativeEffectPeriodOfAdoptionDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative Effect, Period of Adoption [Domain]",
        "terseLabel": "Cumulative Effect, Period of Adoption",
        "documentation": "Cumulative-effect adjustment to financial statements in period of adoption of amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r257",
      "r324",
      "r332",
      "r339",
      "r433",
      "r439",
      "r594",
      "r595",
      "r596",
      "r628",
      "r629",
      "r656",
      "r658",
      "r659",
      "r661",
      "r662",
      "r663",
      "r668",
      "r671",
      "r673",
      "r674",
      "r730"
     ]
    },
    "fgen_CumulativeRevenueLicenseAndDevelopmentRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CumulativeRevenueLicenseAndDevelopmentRevenueRecognized",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail": {
       "parentTag": "fgen_CashConsiderationReceivedUnderCollaborationAgreement",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total amount of revenue recognized for license and development services under the collaboration agreement as of a given date.",
        "label": "Cumulative Revenue License And Development Revenue Recognized",
        "terseLabel": "Cumulative Revenue"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalStateAndLocalTaxExpenseBenefitAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Federal, State and Local, Tax Expense (Benefit) [Abstract]",
        "terseLabel": "Current:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Federal Tax Expense (Benefit)",
        "terseLabel": "Federal",
        "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r1073",
      "r1100",
      "r1184"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentForeignTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentForeignTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Foreign Tax Expense (Benefit)",
        "terseLabel": "Foreign",
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r1073",
      "r1100"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit)",
        "totalLabel": "Total current",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r183",
      "r625",
      "r633",
      "r1100"
     ]
    },
    "fgen_CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Less: Current Portion classified to accrued and other current liabilities",
        "label": "Current Portion Classified to Accrued and Other Current Liabilities",
        "documentation": "Current portion classified to accrued and other current liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current State and Local Tax Expense (Benefit)",
        "terseLabel": "State",
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r1073",
      "r1100",
      "r1184"
     ]
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer Concentration Risk [Member]",
        "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": [
      "r60",
      "r383"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Senior Secured Term Loan Facilities",
        "label": "Debt Disclosure [Text Block]",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r169",
      "r306",
      "r502",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r518",
      "r525",
      "r526",
      "r528"
     ]
    },
    "fgen_DebtFinancingAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DebtFinancingAgreementMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Financing Agreement [Member]",
        "documentation": "Debt financing agreement."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DebtInstrumentAccruedInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DebtInstrumentAccruedInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued interest",
        "label": "Debt Instrument Accrued Interest",
        "documentation": "Debt instrument accrued interest."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r132",
      "r133",
      "r190",
      "r191",
      "r312",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r509",
      "r514",
      "r515",
      "r516",
      "r517",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r705",
      "r1011",
      "r1012",
      "r1013",
      "r1014",
      "r1015",
      "r1098"
     ]
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentCarryingAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Principal of senior secured term loan facilities",
        "verboseLabel": "Amount received",
        "terseLabel": "Term loan 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": [
      "r30",
      "r191",
      "r529"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateDuringPeriod": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateDuringPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest rate per annum",
        "label": "Debt Instrument, Interest Rate During Period",
        "documentation": "The average effective interest rate during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r120",
      "r521"
     ]
    },
    "fgen_DebtInstrumentInterestRatePayableCashStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DebtInstrumentInterestRatePayableCashStatedPercentage",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt instrument interest rate payable cash stated percentage.",
        "label": "Debt Instrument Interest Rate Payable Cash Stated Percentage",
        "terseLabel": "interest rate payable in cash"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DebtInstrumentInterestRatePayableKindStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DebtInstrumentInterestRatePayableKindStatedPercentage",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt instrument interest rate payable kind stated percentage.",
        "label": "Debt Instrument Interest Rate Payable Kind Stated Percentage",
        "terseLabel": "interest rate payable in kind"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Interest rate on product development advances",
        "verboseLabel": "debt interest rate",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r504"
     ]
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail"
     ],
     "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": [
      "r312",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r509",
      "r514",
      "r515",
      "r516",
      "r517",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r527",
      "r705",
      "r1011",
      "r1012",
      "r1013",
      "r1014",
      "r1015",
      "r1098"
     ]
    },
    "us-gaap_DebtInstrumentMaturityDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentMaturityDate",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maturity date",
        "label": "Debt Instrument, Maturity Date",
        "documentation": "Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r224",
      "r1011",
      "r1188"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r38",
      "r312",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r509",
      "r514",
      "r515",
      "r516",
      "r517",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r705",
      "r1011",
      "r1012",
      "r1013",
      "r1014",
      "r1015",
      "r1098"
     ]
    },
    "us-gaap_DebtInstrumentRedemptionDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentRedemptionDescription",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Redemption, Description",
        "verboseLabel": "Debt instrument redemption, description",
        "documentation": "Description of debt redemption features under terms of the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r24"
     ]
    },
    "us-gaap_DebtInstrumentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Long-Term Debt Instruments [Table]",
        "terseLabel": "Debt Instrument [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": [
      "r38",
      "r86",
      "r89",
      "r119",
      "r120",
      "r122",
      "r128",
      "r172",
      "r174",
      "r312",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r509",
      "r514",
      "r515",
      "r516",
      "r517",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r527",
      "r705",
      "r1011",
      "r1012",
      "r1013",
      "r1014",
      "r1015",
      "r1098"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim": {
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer",
        "verboseLabel": "Available for sale securities in continual unrealized loss position, 12 months or more, estimated fair value",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for more than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r467",
      "r1009"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim1": {
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss",
        "verboseLabel": "Available for sale securities in continual unrealized loss position, 12 months or more, gross unrealized holding losses",
        "negatedLabel": "Available for sale securities in continual unrealized loss position, 12 months or more, gross unrealized holding losses",
        "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for 12 months or longer, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r467"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim": {
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months",
        "terseLabel": "Available for sale securities in continual unrealized loss position, less than 12 months, estimated fair value",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r467",
      "r1009"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim1": {
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss",
        "terseLabel": "Available for sale securities in continual unrealized loss position, less than 12 months, gross unrealized holding losses",
        "negatedLabel": "Available for sale securities in continual unrealized loss position, less than 12 months, gross unrealized holding losses",
        "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r467"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Realized Gain (Loss), Excluding Other-than-temporary Impairment",
        "negatedLabel": "Realized loss on sales of available-for-sale securities",
        "documentation": "Amount of realized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), excluding other-than-temporary impairment (OTTI)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtSecuritiesAvailableForSaleTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale [Table]",
        "documentation": "Disclosure of information about investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPosition",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position",
        "verboseLabel": "Available for sale securities in continual unrealized loss position, estimated fair value",
        "totalLabel": "Available for sale securities in continual unrealized loss position, estimated fair value",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position without allowance for credit loss."
       }
      }
     },
     "auth_ref": [
      "r205",
      "r465",
      "r1009"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim1": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss, Total",
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss",
        "verboseLabel": "Available for sale securities in continual unrealized loss position, gross unrealized holding losses",
        "negatedLabel": "Available for sale securities in continual unrealized loss position, gross unrealized holding losses",
        "negatedTotalLabel": "Available for sale securities in continual unrealized loss position, gross unrealized holding losses",
        "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r206",
      "r466"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Fair Value [Table]",
        "documentation": "Disclosure of information about investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r464",
      "r1009"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Fair Value [Table Text Block]",
        "verboseLabel": "Summary of Available for Sale Securities in Unrealized Loss Position, Fair Value and Gross Unrealized Loss By Length of Time Security in Continual Unrealized Loss Position",
        "documentation": "Tabular disclosure of fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r204",
      "r1009",
      "r1126"
     ]
    },
    "fgen_DeferredApprovalMilestoneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DeferredApprovalMilestoneMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred approval milestone.",
        "label": "Deferred Approval Milestone [Member]",
        "terseLabel": "Deferred Approval Milestone [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]",
        "terseLabel": "Schedule of 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_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "terseLabel": "Federal",
        "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r1100",
      "r1183",
      "r1184"
     ]
    },
    "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFederalStateAndLocalTaxExpenseBenefitAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Federal, State and Local, Tax Expense (Benefit) [Abstract]",
        "terseLabel": "Deferred:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFinanceCostsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance cost",
        "label": "Debt Issuance Costs, Net",
        "totalLabel": "Debt Issuance Costs, Net, Total",
        "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs."
       }
      }
     },
     "auth_ref": [
      "r121",
      "r1143"
     ]
    },
    "fgen_DeferredForFutureRecognitionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DeferredForFutureRecognitionMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred for future recognition.",
        "label": "Deferred For Future Recognition [Member]",
        "terseLabel": "Constrained for Future Recognition [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredForeignIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Foreign Income Tax Expense (Benefit)",
        "terseLabel": "Foreign",
        "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r183",
      "r1100",
      "r1183"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit)",
        "totalLabel": "Total deferred",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r183",
      "r220",
      "r632",
      "r633",
      "r1100"
     ]
    },
    "us-gaap_DeferredRevenueByArrangementDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenueByArrangementDisclosureTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Revenue, by Arrangement, Disclosure [Table Text Block]",
        "terseLabel": "Summary of Amounts Recognized as Revenue",
        "documentation": "Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DeferredRevenuesFromAssociatedContracts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DeferredRevenuesFromAssociatedContracts",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail": {
       "parentTag": "fgen_SuppliesNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred revenues from associated contracts.",
        "label": "Deferred Revenues From Associated Contracts",
        "terseLabel": "Deferred revenues from associated contracts"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "terseLabel": "State",
        "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r1100",
      "r1183",
      "r1184"
     ]
    },
    "us-gaap_DeferredTaxAssetIntraEntityTransferAssetOtherThanInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetIntraEntityTransferAssetOtherThanInventory",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Asset, Intra-entity Transfer, Asset Other than Inventory",
        "terseLabel": "Deferred tax asset for temporary difference",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from intra-entity transfer of asset within consolidated group. Excludes intra-entity transfer of inventory."
       }
      }
     },
     "auth_ref": [
      "r1182"
     ]
    },
    "us-gaap_DeferredTaxAssetsDeferredIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsDeferredIncome",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Deferred Income",
        "terseLabel": "Deferred revenue",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r1182"
     ]
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Subtotal",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r620"
     ]
    },
    "fgen_DeferredTaxAssetsIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DeferredTaxAssetsIntangibleAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred tax assets intangible assets.",
        "label": "Deferred Tax Assets Intangible Assets",
        "terseLabel": "Intangible assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net",
        "totalLabel": "Total net deferred tax assets",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r1181"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "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": [
      "r1181"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "terseLabel": "Federal and state net operating loss carryforwards",
        "totalLabel": "Deferred Tax Assets, Operating Loss Carryforwards, Total",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r1182"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsForeign",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Operating Loss Carryforwards, Foreign",
        "terseLabel": "Foreign net operating loss carryforwards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible foreign operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r1182"
     ]
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOther",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Other",
        "terseLabel": "Other",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r1182"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxCreditCarryforwards",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Credit Carryforwards",
        "terseLabel": "Tax credit carryforwards",
        "totalLabel": "Deferred Tax Assets, Tax Credit Carryforwards, Total",
        "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": [
      "r98",
      "r99",
      "r1182"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxCreditCarryforwardsOther",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Credit Carryforwards, Other",
        "terseLabel": "Other tax credit carryforwards",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible tax credit carryforwards, classified as other."
       }
      }
     },
     "auth_ref": [
      "r98",
      "r99",
      "r1182"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost",
        "terseLabel": "Stock-based compensation",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r1182"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals",
        "terseLabel": "Reserves and accruals",
        "totalLabel": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Total",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from reserves and accruals."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r1182"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Deferred Rent",
        "terseLabel": "Lease obligations",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred rent."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r1182"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r621"
     ]
    },
    "fgen_DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred tax assets tax capitalized research and development expenses.",
        "label": "Deferred Tax AssetsTax Capitalized Research And Development Expenses",
        "terseLabel": "Capitalized research and development expenses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Net",
        "negatedTotalLabel": "Net deferred tax liabilities",
        "totalLabel": "Deferred Tax Liabilities, Net, Total",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r1181"
     ]
    },
    "fgen_DeferredTaxLiabilitiesFixedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DeferredTaxLiabilitiesFixedAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred tax liabilities fixed assets.",
        "label": "Deferred Tax Liabilities Fixed Assets",
        "negatedLabel": "Fixed assets"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-deductible accrued expenses",
        "documentation": "Deferred tax liabilities non deductibale accrued expenses.",
        "label": "Deferred Tax Liabilities Non Deductibale Accrued Expenses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesOther",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfSignificantComponentsOfDeferredTaxAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Other",
        "negatedLabel": "Other",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r1182"
     ]
    },
    "fgen_DelayedDrawTermLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DelayedDrawTermLoanMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Delayed Draw Term Loan [Member]",
        "documentation": "Delayed draw term loan."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DelayedDrawTermLoanTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DelayedDrawTermLoanTwoMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Delayed Draw Term Loan 2",
        "label": "Delayed Draw Term Loan Two [Member]",
        "documentation": "Delayed draw term loan two."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Depreciation",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation",
        "terseLabel": "Depreciation",
        "verboseLabel": "Depreciation expense",
        "totalLabel": "Depreciation, Total",
        "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": [
      "r11",
      "r74"
     ]
    },
    "us-gaap_DerivativeFixedInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeFixedInterestRate",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative, Fixed Interest Rate",
        "terseLabel": "Convertible promissory note interest rate",
        "documentation": "Fixed interest rate related to the interest rate derivative."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DescriptionOfSalesReturn": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DescriptionOfSalesReturn",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of sales return.",
        "label": "Description Of Sales Return",
        "terseLabel": "Description of sales return"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DevelopmentAndOtherRevenueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DevelopmentAndOtherRevenueMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Development and other revenue.",
        "terseLabel": "Development and Other Revenue [Member]",
        "verboseLabel": "Development Revenue [Member]",
        "label": "Other Revenue - Contract Manufacturing [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DevelopmentAndRegulatoryApprovalMilestones": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DevelopmentAndRegulatoryApprovalMilestones",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the potential amount of milestone payments related to development and regulatory approval under the collaborative agreement.",
        "label": "Development And Regulatory Approval Milestones",
        "terseLabel": "Development and regulatory approval milestones"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DevelopmentRevenueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DevelopmentRevenueMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Development Revenue [Member]",
        "documentation": "Development revenue."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DirectSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DirectSalesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Direct sales.",
        "label": "Direct Sales [Member]",
        "terseLabel": "Direct Sales [Member]"
       }
      }
     },
     "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.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "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": [
      "r546",
      "r1019",
      "r1020",
      "r1021",
      "r1022",
      "r1023",
      "r1024",
      "r1025"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table]",
        "terseLabel": "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": [
      "r546",
      "r1019",
      "r1020",
      "r1021",
      "r1022",
      "r1023",
      "r1024",
      "r1025"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table Text Block]",
        "terseLabel": "Transaction Price Related to Consideration Received and Accounts Receivable Allocated to Performance Obligations along with Associated Deferred Revenue and Product Revenue Net",
        "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": [
      "r1146"
     ]
    },
    "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": []
    },
    "fgen_DiscountsAndRebatesCurrentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DiscountsAndRebatesCurrentMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discounts and rebates current.",
        "label": "Discounts And Rebates Current [Member]",
        "terseLabel": "Discounts And Rebates Current"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DiscountsAndRebatesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DiscountsAndRebatesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Discounts and Rebates [Member]",
        "documentation": "Discounts and rebates.",
        "label": "Discounts And Rebates [Member]",
        "verboseLabel": "Discounts And Rebates"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DividendReceivedFromUnconsolidatedVariableInterestEntity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DividendReceivedFromUnconsolidatedVariableInterestEntity",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividend received from unconsolidated variable interest entity",
        "label": "Dividend Received from Unconsolidated Variable Interest Entity",
        "documentation": "Dividend received from unconsolidated variable interest entity."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "terseLabel": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r1059",
      "r1060",
      "r1061"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r1059",
      "r1060",
      "r1061",
      "r1063"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "terseLabel": "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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "terseLabel": "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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "terseLabel": "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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "terseLabel": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r1062"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "terseLabel": "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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "terseLabel": "Documents Incorporated by Reference",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r1057"
     ]
    },
    "us-gaap_DomesticCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DomesticCountryMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Domestic Tax Authority [Member]",
        "terseLabel": "Federal [Member]",
        "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": []
    },
    "fgen_DrugProductRevenueFromRelatedParty": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DrugProductRevenueFromRelatedParty",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Drug product revenue from related party.",
        "label": "Drug Product Revenue From Related Party",
        "terseLabel": "Drug product revenue from a related party"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DrugProductRevenueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DrugProductRevenueMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Drug Product Revenue [Member]",
        "terseLabel": "Drug Product Revenue, Net [Member]",
        "documentation": "Drug product revenue.",
        "label": "Drug Product Revenue [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DrugProductRevenuePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DrugProductRevenuePolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Drug Product Revenue, Net",
        "documentation": "Drug product revenue.",
        "label": "Drug Product Revenue Policy [Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DueToRelatedPartiesDeferredRevenueCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DueToRelatedPartiesDeferredRevenueCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due to related parties deferred revenue current.",
        "label": "Due To Related Parties Deferred Revenue Current",
        "terseLabel": "Deferred revenue current to related party"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_DueToRelatedPartiesDeferredRevenueNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "DueToRelatedPartiesDeferredRevenueNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due to related parties deferred revenue noncurrent.",
        "label": "Due To Related Parties Deferred Revenue Noncurrent",
        "terseLabel": "Deferred revenue non-current to related party"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_EUSupplyAndAstellasAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "EUSupplyAndAstellasAgreementMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "E U supply and Astellas agreement.",
        "label": "E U Supply And Astellas Agreement [Member]",
        "terseLabel": "E U Supply And Astellas Agreement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarliestTaxYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarliestTaxYearMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earliest Tax Year [Member]",
        "terseLabel": "Earliest Tax Year [Member]",
        "documentation": "Earliest identified tax year."
       }
      }
     },
     "auth_ref": [
      "r1179"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Earnings Per Share, Basic, Total",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Net loss per share - 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": [
      "r296",
      "r329",
      "r330",
      "r332",
      "r333",
      "r335",
      "r341",
      "r343",
      "r346",
      "r347",
      "r348",
      "r352",
      "r674",
      "r675",
      "r798",
      "r824",
      "r1003"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Earnings Per Share, Diluted, Total",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Net loss per share - 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": [
      "r296",
      "r329",
      "r330",
      "r332",
      "r333",
      "r335",
      "r343",
      "r346",
      "r347",
      "r348",
      "r352",
      "r674",
      "r675",
      "r798",
      "r824",
      "r1003"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Net Loss Per Share",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r340",
      "r349",
      "r350",
      "r351"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "terseLabel": "Effect of exchange rate change 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",
        "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": [
      "r1190"
     ]
    },
    "fgen_EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Annual Interest Rate Related To Sale Of Future Revenues",
        "label": "Effective Annual Interest Rate Related To Sale Of Future Revenues",
        "terseLabel": "Effective annual interest rate related to sale of future revenues"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "totalLabel": "Total",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r610"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "verboseLabel": "Tax at statutory federal rate",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r309",
      "r610",
      "r635"
     ]
    },
    "fgen_EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconciliation deduction expense share based compensation cost.",
        "label": "Effective Income Tax Rate Reconciliation Deduction Expense Share Based Compensation Cost",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationDeductions": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationDeductions",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Deduction, Percent",
        "terseLabel": "Deduction limitation on executive compensation",
        "totalLabel": "Effective Income Tax Rate Reconciliation, Deduction, Percent, Total",
        "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 operations attributable to deduction. Includes, but is not limited to, dividend deduction, deduction for dividend paid to employee stock ownership plan (ESOP), Medicare prescription drug benefit subsidy deduction, and other deductions."
       }
      }
     },
     "auth_ref": [
      "r1177",
      "r1185"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent",
        "terseLabel": "Foreign net operating losses not benefitted",
        "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": [
      "r1177",
      "r1185"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationGiltiPercent",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, GILTI, Percent",
        "terseLabel": "Global intangible low-taxed income",
        "negatedLabel": "Global intangible low-taxed income",
        "documentation": "Percentage of reported income tax expense 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 global intangible low-taxed income (GILTI)."
       }
      }
     },
     "auth_ref": [
      "r1177"
     ]
    },
    "fgen_EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconciliation net operating losses not benefitted.",
        "label": "Effective Income Tax Rate Reconciliation Net Operating Losses Not Benefitted",
        "terseLabel": "Net operating losses not benefitted"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail"
     ],
     "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": [
      "r1177",
      "r1185"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfReconciliationBetweenStatutoryFederalIncomeTaxRateAndEffectiveTaxRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "terseLabel": "State 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": [
      "r1177",
      "r1185"
     ]
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee-related Liabilities, Current",
        "terseLabel": "Payroll and related accruals",
        "totalLabel": "Employee-related Liabilities, Current, Total",
        "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": [
      "r35"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Non-vested stock option awards granted that will be recognized on a straight-line basis over the weighted-average 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": [
      "r593"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount",
        "terseLabel": "Unrecognized compensation costs",
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r1175"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount",
        "terseLabel": "Unrecognized compensation costs",
        "documentation": "Amount of cost to be recognized for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1175"
     ]
    },
    "us-gaap_EmployeeStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock [Member]",
        "terseLabel": "ESPP [Member]",
        "documentation": "An Employee Stock Purchase Plan is a tax-efficient means by which employees of a corporation can purchase the corporation's stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee stock options [Member]",
        "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": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "terseLabel": "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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "terseLabel": "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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "terseLabel": "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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "terseLabel": "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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "terseLabel": "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": [
      "r1056"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "verboseLabel": "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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "terseLabel": "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.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity [Domain]",
        "terseLabel": "Entity",
        "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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r1056"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "terseLabel": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "terseLabel": "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": [
      "r1056"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "terseLabel": "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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "terseLabel": "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": [
      "r1064"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "terseLabel": "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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "terseLabel": "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": [
      "r1056"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "terseLabel": "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": [
      "r1056"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "terseLabel": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r1056"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "terseLabel": "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": [
      "r1056"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "terseLabel": "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.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "terseLabel": "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": [
      "r1065"
     ]
    },
    "us-gaap_EntityWideRevenueMajorCustomerLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EntityWideRevenueMajorCustomerLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Major Customer [Line Items]",
        "terseLabel": "Entity Wide Revenue Major 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_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.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component",
        "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": [
      "r20",
      "r257",
      "r289",
      "r290",
      "r291",
      "r321",
      "r322",
      "r323",
      "r326",
      "r336",
      "r338",
      "r353",
      "r433",
      "r439",
      "r540",
      "r594",
      "r595",
      "r596",
      "r628",
      "r629",
      "r656",
      "r658",
      "r659",
      "r660",
      "r661",
      "r663",
      "r673",
      "r694",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r732",
      "r837",
      "r838",
      "r839",
      "r865",
      "r941"
     ]
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "EquityMethodInvesteeNameDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Domain]",
        "documentation": "Name of investment including named security. Excludes entity that is consolidated."
       }
      }
     },
     "auth_ref": [
      "r426",
      "r427",
      "r428"
     ]
    },
    "fgen_EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity method investment increase (decrease) from currency translation.",
        "label": "Equity Method Investment Increase Decrease From Currency Translation",
        "terseLabel": "Currency Translation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentNonconsolidatedInvesteeAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investment, Nonconsolidated Investee [Axis]",
        "terseLabel": "Equity Method Investment, Nonconsolidated Investee",
        "documentation": "Information by nonconsolidated equity method investee. Excludes information consolidated by reporting entity."
       }
      }
     },
     "auth_ref": [
      "r260",
      "r307",
      "r429",
      "r688"
     ]
    },
    "us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentNonconsolidatedInvesteeDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investment, Nonconsolidated Investee [Domain]",
        "terseLabel": "Equity Method Investment, Nonconsolidated Investee",
        "documentation": "Nonconsolidated equity method investee. Excludes information consolidated by reporting entity."
       }
      }
     },
     "auth_ref": [
      "r260",
      "r307",
      "r429",
      "r688"
     ]
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investment, Ownership Percentage",
        "terseLabel": "Ownership Percentage",
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting."
       }
      }
     },
     "auth_ref": [
      "r426"
     ]
    },
    "us-gaap_EquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestments",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "terseLabel": "Equity method investment in unconsolidated variable interest entity",
        "documentation": "This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized."
       }
      }
     },
     "auth_ref": [
      "r366",
      "r424",
      "r1083",
      "r1124"
     ]
    },
    "us-gaap_EquityMethodInvestmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentsTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments [Table Text Block]",
        "terseLabel": "Summary of Equity Method Investment",
        "documentation": "Tabular disclosure of equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial information."
       }
      }
     },
     "auth_ref": [
      "r425"
     ]
    },
    "us-gaap_EquitySecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquitySecuritiesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Securities [Member]",
        "terseLabel": "Equity investments [Member]",
        "documentation": "Ownership interest or right to acquire or dispose of ownership interest in corporations and other legal entities for which ownership interest is represented by shares of common or preferred stock, convertible securities, stock rights, or stock warrants."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r1049",
      "r1050",
      "r1051",
      "r1216"
     ]
    },
    "srt_EuropeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "EuropeMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Europe [Member]",
        "terseLabel": "Europe [Member]",
        "documentation": "Continent of Europe."
       }
      }
     },
     "auth_ref": [
      "r1215",
      "r1217",
      "r1218",
      "r1219"
     ]
    },
    "fgen_ExperienceHistoricalOwnershipChanges": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ExperienceHistoricalOwnershipChanges",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Experience historical ownership changes.",
        "label": "Experience Historical Ownership Changes",
        "terseLabel": "Percentage of ownership changes"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ExpirationYearTwoThousandTwentySixMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ExpirationYearTwoThousandTwentySixMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expiration Year 2026 [Member]",
        "label": "Expiration Year Two Thousand Twenty Six [Member]",
        "documentation": "Expiration year two thousand twenty six."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]",
        "terseLabel": "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": [
      "r678",
      "r679",
      "r684"
     ]
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Recurring and Nonrecurring [Table]",
        "terseLabel": "Fair Value Assets And Liabilities Measured On Recurring And Nonrecurring Basis [Table]",
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis."
       }
      }
     },
     "auth_ref": [
      "r678",
      "r679",
      "r684"
     ]
    },
    "fgen_FairValueAssetsLevel1ToLevel2TransferAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FairValueAssetsLevel1ToLevel2TransferAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value assets level1 to level2 transfer amount.",
        "label": "Fair Value Assets Level1 To Level2 Transfer Amount",
        "terseLabel": "Transfers of assets from level 1 to 2"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_FairValueAssetsLevel2ToLevel1TransferAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FairValueAssetsLevel2ToLevel1TransferAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value assets level2 to level1 transfer amount.",
        "label": "Fair Value Assets Level2 To Level1 Transfer Amount",
        "terseLabel": "Transfers of assets from level 2 to 1"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]",
        "terseLabel": "Fair Values of Financial Assets Measured on Recurring Basis",
        "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class 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": [
      "r116",
      "r187"
     ]
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "terseLabel": "Fair Value Hierarchy and NAV",
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient."
       }
      }
     },
     "auth_ref": [
      "r516",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r679",
      "r746",
      "r747",
      "r748",
      "r1012",
      "r1013",
      "r1026",
      "r1027",
      "r1028"
     ]
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByMeasurementFrequencyAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Frequency [Axis]",
        "terseLabel": "Measurement Frequency",
        "documentation": "Information by measurement frequency."
       }
      }
     },
     "auth_ref": [
      "r678",
      "r679",
      "r681",
      "r682",
      "r685"
     ]
    },
    "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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Text Block]",
        "terseLabel": "Fair Value Measurements",
        "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": [
      "r677"
     ]
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel1Member",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Inputs, Level 1 [Member]",
        "terseLabel": "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": [
      "r516",
      "r551",
      "r556",
      "r679",
      "r746",
      "r1026",
      "r1027",
      "r1028"
     ]
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel2Member",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Inputs, Level 2 [Member]",
        "terseLabel": "Level 2 [Member]",
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets."
       }
      }
     },
     "auth_ref": [
      "r516",
      "r551",
      "r556",
      "r679",
      "r747",
      "r1012",
      "r1013",
      "r1026",
      "r1027",
      "r1028"
     ]
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel3Member",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "terseLabel": "Level 3 [Member]",
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r516",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r679",
      "r748",
      "r1012",
      "r1013",
      "r1026",
      "r1027",
      "r1028"
     ]
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementFrequencyDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Frequency [Domain]",
        "terseLabel": "Measurement Frequency",
        "documentation": "Measurement frequency."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Measurement, Policy [Policy Text Block]",
        "terseLabel": "Fair Value Measurements",
        "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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Transfers Into Level 3",
        "terseLabel": "Transfers of assets into level 3",
        "documentation": "Amount of transfer of financial instrument classified as an asset into level 3 of the fair value hierarchy."
       }
      }
     },
     "auth_ref": [
      "r683"
     ]
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Transfers out of Level 3",
        "terseLabel": "Transfers of assets out of level 3",
        "documentation": "Amount of transfers of financial instrument classified as an asset out of level 3 of the fair value hierarchy."
       }
      }
     },
     "auth_ref": [
      "r683"
     ]
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "terseLabel": "Fair Value Hierarchy and NAV",
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value."
       }
      }
     },
     "auth_ref": [
      "r516",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r746",
      "r747",
      "r748",
      "r1012",
      "r1013",
      "r1026",
      "r1027",
      "r1028"
     ]
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementsRecurringMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Recurring [Member]",
        "terseLabel": "Fair Value, Measurements, 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": [
      "r677",
      "r685"
     ]
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]",
        "terseLabel": "Fair Value of Financial Instruments",
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r28"
     ]
    },
    "fgen_FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair value of the acquired IPR&amp;D assets",
        "label": "Fair value of the acquired in process research and development assets",
        "documentation": "Fair value of the acquired in process research and development assets."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_FalikangCollaborationAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FalikangCollaborationAgreementMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Falikang collaboration agreement.",
        "label": "Falikang Collaboration Agreement [Member]",
        "verboseLabel": "Falikang\u2014Related party",
        "terseLabel": "Falikang - Related Party [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_FalikangMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FalikangMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Falikang.",
        "label": "Falikang [Member]",
        "terseLabel": "Falikang"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_FederalAndStateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FederalAndStateMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Federal and state.",
        "label": "Federal And State [Member]",
        "terseLabel": "Federal and State [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_FibroGenBeijingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FibroGenBeijingMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "FibroGen Beijing.",
        "label": "Fibro Gen Beijing [Member]",
        "terseLabel": "FibroGen Beijing [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_FibroGenCaymanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FibroGenCaymanMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "FibroGen Cayman.",
        "label": "Fibro Gen Cayman [Member]",
        "terseLabel": "FibroGen Cayman [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_FibroGenIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FibroGenIncMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "FibroGen, Inc.",
        "label": "Fibro Gen Inc [Member]",
        "terseLabel": "FibroGen, Inc. [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_FibrogenEuropeOyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FibrogenEuropeOyMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fibro Gen Europe Oy.",
        "label": "Fibrogen Europe Oy [Member]",
        "terseLabel": "FibroGen Europe [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_FinanceLeaseAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FinanceLeaseAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_FinanceLeaseRightOfUseAsset",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance lease accumulated amortization.",
        "label": "Finance Lease Accumulated Amortization",
        "negatedLabel": "Accumulated amortization"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_FinanceLeaseAndOperatingLeaseAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FinanceLeaseAndOperatingLeaseAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance lease and operating lease assets.",
        "label": "Finance Lease And Operating Lease Assets",
        "totalLabel": "Total lease assets"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_FinanceLeaseAndOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FinanceLeaseAndOperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance lease and operating lease liability.",
        "label": "Finance Lease And Operating Lease Liability",
        "totalLabel": "Total lease liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseInterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Interest Expense",
        "terseLabel": "Interest on lease liabilities",
        "documentation": "Amount of interest expense on finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r713",
      "r720",
      "r1037"
     ]
    },
    "us-gaap_FinanceLeaseInterestPaymentOnLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseInterestPaymentOnLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Interest Payment on Liability",
        "terseLabel": "Operating cash flows from finance leases",
        "documentation": "Amount of interest paid on finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r714",
      "r723"
     ]
    },
    "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]",
        "terseLabel": "Finance Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability",
        "terseLabel": "Finance lease liability",
        "verboseLabel": "Present value of lease liabilities",
        "totalLabel": "Finance Lease, Liability, Total",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease."
       }
      }
     },
     "auth_ref": [
      "r711",
      "r727"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail": {
       "parentTag": "fgen_FinanceLeaseAndOperatingLeaseLiability",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Current",
        "terseLabel": "Finance lease liabilities, current",
        "verboseLabel": "Finance lease liabilities",
        "negatedLabel": "Finance lease liabilities, current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r711"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes current finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r712"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail": {
       "parentTag": "fgen_FinanceLeaseAndOperatingLeaseLiability",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Noncurrent",
        "terseLabel": "Finance lease liabilities, non-current",
        "verboseLabel": "Finance lease liabilities",
        "negatedLabel": "Finance lease liabilities, non-current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r711"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes noncurrent finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r712"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, to be Paid",
        "totalLabel": "Total future lease payments",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, to be Paid, after Year Five",
        "terseLabel": "Beyond 2027",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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": [
      "r727"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Finance Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": [
      "r727"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Finance Lease, Liability, to be Paid, Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": [
      "r727"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Finance Lease, Liability, to be Paid, Year Four",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": [
      "r727"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Finance Lease, Liability, to be Paid, Year Three",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": [
      "r727"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Finance Lease, Liability, to be Paid, Year Two",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": [
      "r727"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less: Interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail": {
       "parentTag": "fgen_FinanceLeaseAndOperatingLeaseAssets",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization",
        "terseLabel": "Finance lease right-of-use assets",
        "totalLabel": "Finance lease right-of-use assets, net",
        "verboseLabel": "Total finance lease right-of-use assets",
        "negatedLabel": "Finance lease right-of-use assets",
        "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r710"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 0.0
      },
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Right-of-Use Asset, Amortization",
        "terseLabel": "Amortization of finance lease right-of-use assets",
        "verboseLabel": "Amortization of right-of-use assets",
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r713",
      "r720",
      "r1037"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r712"
     ]
    },
    "fgen_FinanceLeaseRightOfUseAssetsCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FinanceLeaseRightOfUseAssetsCost",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_FinanceLeaseRightOfUseAsset",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance lease, right-of-use assets - cost.",
        "label": "Finance Lease Right Of Use Assets Cost",
        "terseLabel": "Right-of-use assets cost"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseTermAndDiscountRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Finance leases",
        "documentation": "Weighted average discount rate for finance lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r726",
      "r1037"
     ]
    },
    "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseTermAndDiscountRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Finance leases",
        "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r725",
      "r1037"
     ]
    },
    "us-gaap_FinancialInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialInstrumentAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instrument [Axis]",
        "terseLabel": "Financial Instrument",
        "documentation": "Information by type of financial instrument."
       }
      }
     },
     "auth_ref": [
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r445",
      "r446",
      "r449",
      "r450",
      "r455",
      "r463",
      "r468",
      "r469",
      "r527",
      "r538",
      "r664",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r750",
      "r751",
      "r752",
      "r753",
      "r754",
      "r755",
      "r756",
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765",
      "r766",
      "r767",
      "r768",
      "r769",
      "r770",
      "r771",
      "r772",
      "r822",
      "r1009",
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1119",
      "r1120",
      "r1121",
      "r1122"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "terseLabel": "Finite-Lived Intangible Assets by Major Class",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r475",
      "r476",
      "r477",
      "r478",
      "r778",
      "r782"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name",
        "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": [
      "r72",
      "r73"
     ]
    },
    "us-gaap_ForeignCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCountryMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Tax Authority [Member]",
        "terseLabel": "Foreign net operating loss [Member]",
        "documentation": "Designated tax departments of governments entitled to levy and collect income taxes from the entity outside the entity's country of domicile."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "terseLabel": "Foreign Currency Translation",
        "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": [
      "r693"
     ]
    },
    "us-gaap_ForeignGovernmentDebtMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignGovernmentDebtMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Government Debt [Member]",
        "terseLabel": "Foreign government bonds [Member]",
        "documentation": "Debt securities (such as bonds) issued by a national, local, or municipal government not within the country of domicile of the entity."
       }
      }
     },
     "auth_ref": [
      "r1114",
      "r1116"
     ]
    },
    "fgen_FortisTherapeuticsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FortisTherapeuticsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fortis Therapeutics [Member]",
        "documentation": "Fortis Therapeutics.",
        "label": "Fortis Therapeutics [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FurnitureAndFixturesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Furniture and Fixtures [Member]",
        "terseLabel": "Furniture and Fixtures [Member]",
        "documentation": "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": []
    },
    "fgen_FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Future manufacturing clinical regulatory and commercial milestone payments.",
        "label": "Future Manufacturing Clinical Regulatory And Commercial Milestone Payments",
        "terseLabel": "Future manufacturing clinical regulatory and commercial milestone payments"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_FutureRevenueGranted": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "FutureRevenueGranted",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Future revenue granted.",
        "label": "Future revenue granted"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnDispositionOfAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnDispositionOfAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Loss (gain) on disposal of property and equipment",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r1096",
      "r1129",
      "r1130"
     ]
    },
    "us-gaap_GeographicDistributionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeographicDistributionAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographic Distribution [Axis]",
        "terseLabel": "Geographic Distribution",
        "documentation": "Information by geographic distribution of business activity identified as either domestic or foreign. Excludes names of countries, states and provinces, and cities."
       }
      }
     },
     "auth_ref": [
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r799",
      "r800",
      "r1007"
     ]
    },
    "us-gaap_GeographicDistributionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeographicDistributionDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographic Distribution [Domain]",
        "terseLabel": "Geographic Distribution",
        "documentation": "Allocation of business activity identified as domestic or foreign. Excludes names of countries, states and provinces, and cities."
       }
      }
     },
     "auth_ref": [
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r799",
      "r800"
     ]
    },
    "us-gaap_GeographicDistributionForeignMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeographicDistributionForeignMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographic Distribution, Foreign [Member]",
        "terseLabel": "Foreign subsidiaries [Member]",
        "documentation": "Allocation of business activity identified as foreign."
       }
      }
     },
     "auth_ref": [
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r799",
      "r800",
      "r1008"
     ]
    },
    "fgen_GrossAccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "GrossAccountsReceivableMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross accounts receivable.",
        "label": "Gross Accounts Receivable [Member]",
        "terseLabel": "Gross Accounts Receivable [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_GrossProceedsFromSaleOfFutureRevenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "GrossProceedsFromSaleOfFutureRevenues",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross proceeds from sale of future revenues.",
        "label": "Gross Proceeds From Sale Of Future Revenues",
        "terseLabel": "Proceeds from sale of future revenues, gross"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_GrossProceedsReceivedFromSaleOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "GrossProceedsReceivedFromSaleOfRevenue",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross proceeds received from sale of revenue.",
        "label": "Gross proceeds received from sale of revenue"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_HiFiBiOAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "HiFiBiOAgreementMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "HiFiBiO agreement.",
        "label": "Hi Fi Bi O Agreement [Member]",
        "terseLabel": "HiFiBiO Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_HiFiBiOAgreementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "HiFiBiOAgreementsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "HiFiBiO Agreement.",
        "label": "Hi Fi Bi O Agreements [Member]",
        "terseLabel": "HiFiBiO Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_HighlyLiquidInvestmentMaturityPeriod": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "HighlyLiquidInvestmentMaturityPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Highly liquid investment maturity period.",
        "label": "Highly Liquid Investment Maturity Period",
        "terseLabel": "Highly liquid investment maturity period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IPOMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IPOMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "IPO [Member]",
        "terseLabel": "IPO [Member]",
        "documentation": "First sale of stock by a private company to the public."
       }
      }
     },
     "auth_ref": []
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag",
        "terseLabel": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r1059",
      "r1060",
      "r1061"
     ]
    },
    "fgen_ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ImpactOfChangeInAccountingPrincipleUponAdoptionOfASU201802Member",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Impact of change in accounting principle upon adoption of ASU 2018-02.",
        "label": "Impact Of Change In Accounting Principle Upon Adoption Of A S U201802 [Member]",
        "terseLabel": "Impact of change in accounting principle upon adoption of ASU 2018-02 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ImpairmentOfIntangibleAssetsFinitelived": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOfIntangibleAssetsFinitelived",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment of Intangible Assets, Finite-Lived",
        "terseLabel": "Impairment of inatangible assets finite lived",
        "documentation": "The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of a finite-lived intangible asset to fair value."
       }
      }
     },
     "auth_ref": [
      "r1096",
      "r1128"
     ]
    },
    "us-gaap_ImpairmentOfInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOfInvestments",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment of investment",
        "label": "Other than Temporary Impairment Losses, Investments",
        "documentation": "The amount by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive income."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOfLongLivedAssetsToBeDisposedOf",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment of Long-Lived Assets to be Disposed of",
        "terseLabel": "Impairment of long-lived assets",
        "documentation": "The aggregate amount of write-downs for impairments recognized during the period for long-lived assets held for abandonment, exchange or sale."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r165"
     ]
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "terseLabel": "Impairment of Long-Lived Assets",
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r167"
     ]
    },
    "us-gaap_InProcessResearchAndDevelopmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InProcessResearchAndDevelopmentMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "In Process Research and Development [Member]",
        "terseLabel": "IPR&amp;D Asset [Member]",
        "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesComponentsOfLossBeforeIncomeTaxesDetail": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesComponentsOfLossBeforeIncomeTaxesDetail"
     ],
     "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": [
      "r308",
      "r634"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesComponentsOfLossBeforeIncomeTaxesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesComponentsOfLossBeforeIncomeTaxesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Loss before provision for 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": [
      "r1",
      "r146",
      "r197",
      "r360",
      "r369",
      "r374",
      "r377",
      "r800",
      "r818",
      "r1005"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesComponentsOfLossBeforeIncomeTaxesDetail": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesComponentsOfLossBeforeIncomeTaxesDetail"
     ],
     "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": [
      "r308",
      "r634"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest",
        "totalLabel": "Loss before income taxes",
        "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments."
       }
      }
     },
     "auth_ref": [
      "r360",
      "r369",
      "r374",
      "r377",
      "r826",
      "r1005"
     ]
    },
    "us-gaap_IncomeLossFromEquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromEquityMethodInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share of Net Income",
        "label": "Income (Loss) from Equity Method Investments",
        "verboseLabel": "Investment income (loss)",
        "documentation": "Amount of income (loss) for proportionate share of equity method investee's income (loss)."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r147",
      "r196",
      "r364",
      "r424",
      "r817"
     ]
    },
    "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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Axis]",
        "terseLabel": "Income Statement Location",
        "documentation": "Information by location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r479",
      "r482",
      "r925"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location",
        "documentation": "Location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r482",
      "r925"
     ]
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Axis]",
        "terseLabel": "Income Tax Authority",
        "documentation": "Information by tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Domain]",
        "terseLabel": "Income Tax Authority",
        "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_IncomeTaxContingencyLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxContingencyLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Contingency [Line Items]",
        "terseLabel": "Income Tax Contingency [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_IncomeTaxContingencyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxContingencyTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Contingency [Table]",
        "terseLabel": "Income Tax Contingency [Table]",
        "documentation": "Disclosure of information about tax positions taken in the tax returns filed or to be filed for which it is more likely than not that the tax position will not be sustained upon examination by taxing authorities and other income tax contingencies. Includes, but is not limited to, interest and penalties, reconciliation of unrecognized tax benefits, unrecognized tax benefits that would affect the effective tax rate, tax years that remain subject to examination by tax jurisdictions, and information about positions for which it is reasonably possible that amounts unrecognized will significantly change within 12 months."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r100",
      "r181",
      "r182"
     ]
    },
    "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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxes"
     ],
     "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": [
      "r309",
      "r605",
      "r611",
      "r617",
      "r623",
      "r630",
      "r636",
      "r637",
      "r638",
      "r859"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      },
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesScheduleOfComponentsOfProvisionForIncomeTaxesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense (Benefit)",
        "terseLabel": "Provision for income taxes",
        "totalLabel": "Total provision for income taxes",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r208",
      "r223",
      "r337",
      "r338",
      "r365",
      "r609",
      "r631",
      "r827"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "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": [
      "r288",
      "r607",
      "r608",
      "r617",
      "r618",
      "r622",
      "r624",
      "r853"
     ]
    },
    "fgen_IncomeTaxesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "IncomeTaxesLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income taxes line items.",
        "label": "Income Taxes [Line Items]",
        "terseLabel": "Income Taxes [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_IncomeTaxesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "IncomeTaxesTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income taxes.",
        "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.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 20.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable ($0, $0 and $(1,118) from a related party)",
        "label": "Increase (Decrease) in Accounts Payable",
        "totalLabel": "Increase (Decrease) in Accounts Payable, Total",
        "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": [
      "r10"
     ]
    },
    "fgen_IncreaseDecreaseInAccountsPayableFromRelatedParty": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "IncreaseDecreaseInAccountsPayableFromRelatedParty",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase decrease in accounts payable from related party.",
        "label": "Increase Decrease In Accounts Payable From Related Party",
        "terseLabel": "Accounts payable from related party"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableRelatedParties": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayableRelatedParties",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accounts Payable, Related Parties",
        "terseLabel": "Accrued and other liabilities from related party",
        "documentation": "The increase (decrease) during the reporting period in the obligations due for goods and services provided by the following types of related parties: a parent company and its subsidiaries, subsidiaries of a common parent, an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entities' management, an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts receivable, net ($6,009, $(1,158) and $(6,803) from related parties)",
        "label": "Increase (Decrease) in 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": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivableRelatedParties": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivableRelatedParties",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accounts Receivable, Related Parties",
        "terseLabel": "Accounts receivable from related parties",
        "documentation": "The increase (decrease) during the reporting period in the amount due to the reporting entity for good and services provided to the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management, an entity and its principal owners, management, member of their immediate families, affiliates, or other parties with the ability to exert significant influence."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "fgen_IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 24.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (decrease) in accrued interest for finance lease liabilities.",
        "label": "Increase Decrease In Accrued Interest For Finance Lease Liabilities",
        "terseLabel": "Accrued interest for finance lease liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 21.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued and other liabilities ($(24,072), $63,882 and $(20) from a related party)",
        "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities",
        "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other."
       }
      }
     },
     "auth_ref": [
      "r1095"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 23.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenue ($(23,378), $11,211 and $21,549 from related parties)",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r774",
      "r1095"
     ]
    },
    "us-gaap_IncreaseDecreaseInDeferredRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInDeferredRevenue",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Deferred Revenue",
        "terseLabel": "Deferred revenue from related parties",
        "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r990"
     ]
    },
    "fgen_IncreaseDecreaseInDeferredRevenueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "IncreaseDecreaseInDeferredRevenueMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Decrease (Increase) in Deferred Revenue [Member]",
        "documentation": "Increase decrease in deferred revenue.",
        "label": "Increase Decrease In Deferred Revenue [Member]",
        "terseLabel": "Decrease (Increase) in Deferred Revenue"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories",
        "totalLabel": "Increase (Decrease) in Inventories, Total",
        "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": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 22.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (decrease) in operating lease liabilities, current.",
        "label": "Increase Decrease In Operating Lease Liabilities Current",
        "terseLabel": "Operating lease liabilities, current"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 25.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (decrease) in operating lease liabilities, non-current.",
        "label": "Increase Decrease In Operating Lease Liabilities Non Current",
        "terseLabel": "Operating lease liabilities, non-current"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_IncreaseDecreaseInOperatingLeaseRightOfUseAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "IncreaseDecreaseInOperatingLeaseRightOfUseAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (decrease) in operating lease right-of-use assets.",
        "label": "Increase Decrease In Operating Lease Right Of Use Assets",
        "negatedLabel": "Operating lease right-of-use assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 26.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Other Noncurrent Liabilities",
        "terseLabel": "Other 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.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 19.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Other Operating Assets",
        "negatedLabel": "Other assets",
        "totalLabel": "Increase (Decrease) in Other Operating Assets, Total",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid expenses and other current assets ($0, $0 and $889 from a related party)",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "fgen_IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase decrease in prepaid expenses and other current assets related parties.",
        "label": "Increase Decrease In Prepaid Expenses And Other Current Assets Related Parties",
        "terseLabel": "Prepaid expenses and other current assets from related party"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_IncreaseInDeferredRevenueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "IncreaseInDeferredRevenueMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase in deferred revenue.",
        "label": "Increase In Deferred Revenue [Member]",
        "terseLabel": "Increase In Deferred Revenue"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_InitialIssuanceCostsRelatedToSaleOfFutureRevenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "InitialIssuanceCostsRelatedToSaleOfFutureRevenues",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Initial issuance costs related to sale of future revenues.",
        "label": "Initial Issuance Costs Related To Sale Of Future Revenues",
        "terseLabel": "Less: Initial issuance costs"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_InitialTermLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "InitialTermLoanMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Initial Term Loan [Member]",
        "documentation": "Initial Term Loan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_InitialUpfrontPayment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "InitialUpfrontPayment",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Upfront payment.",
        "label": "Initial Upfront Payment",
        "terseLabel": "Initial upfront payment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_InterestIncomeExpenseNonoperatingNet",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Expense",
        "negatedLabel": "Interest expense",
        "totalLabel": "Interest Expense, Total",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense."
       }
      }
     },
     "auth_ref": [
      "r121",
      "r199",
      "r292",
      "r363",
      "r704",
      "r926",
      "r1052",
      "r1212"
     ]
    },
    "us-gaap_InterestExpenseDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestExpenseDebt",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest expense",
        "label": "Interest Expense, Debt",
        "totalLabel": "Interest Expense, Debt, Total",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense for debt."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r522",
      "r531",
      "r1014",
      "r1015"
     ]
    },
    "us-gaap_InterestIncomeExpenseNonoperatingNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestIncomeExpenseNonoperatingNet",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Income (Expense), Nonoperating, Net",
        "totalLabel": "Total interest and other, net",
        "documentation": "The net amount of nonoperating interest income (expense)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "terseLabel": "Interest payments",
        "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": [
      "r299",
      "r302",
      "r303"
     ]
    },
    "us-gaap_InterestPayableCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPayableCurrentAndNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Payable",
        "terseLabel": "Accrued Interest",
        "documentation": "Amount of interest payable on debt, including, but not limited to, trade payables."
       }
      }
     },
     "auth_ref": [
      "r125",
      "r1204"
     ]
    },
    "fgen_InterestRateOptionOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "InterestRateOptionOneMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest Rate Option One",
        "label": "Interest Rate Option One [member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_InterestRateOptionTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "InterestRateOptionTwoMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate option two.",
        "label": "Interest Rate Option Two [member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_InventoryByGeographicAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "InventoryByGeographicAreasTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventory by geographic areas.",
        "label": "Inventory By Geographic Areas Table [Text Block]",
        "terseLabel": "Schedule of Inventory by Geographic Area"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Finished Goods, Gross",
        "terseLabel": "Finished goods",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r1086"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Net",
        "terseLabel": "Inventories",
        "totalLabel": "Total inventories",
        "verboseLabel": "Total inventory",
        "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": [
      "r275",
      "r995",
      "r1038"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "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": [
      "r211",
      "r263",
      "r274",
      "r470",
      "r471",
      "r472",
      "r776",
      "r1001"
     ]
    },
    "us-gaap_InventoryRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterials",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Raw Materials, Gross",
        "terseLabel": "Raw materials",
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r1088"
     ]
    },
    "us-gaap_InventoryWorkInProcess": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryWorkInProcess",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfInventoryDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Work in Process, Gross",
        "terseLabel": "Work-in-progress",
        "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r1087"
     ]
    },
    "fgen_InvestmentGainLossInUnconsolidatedVariableInterestEntity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "InvestmentGainLossInUnconsolidatedVariableInterestEntity",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Investment (gain) loss in unconsolidated variable interest entity.",
        "label": "Investment Gain Loss In Unconsolidated Variable Interest Entity",
        "negatedLabel": "Investment income in unconsolidated variable interest entity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InvestmentIncomeDividend": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentIncomeDividend",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Dividend Received",
        "terseLabel": "Dividend received",
        "label": "Investment Income, Dividend",
        "documentation": "Amount of dividend income on nonoperating securities."
       }
      }
     },
     "auth_ref": [
      "r153"
     ]
    },
    "us-gaap_InvestmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Policy [Policy Text Block]",
        "terseLabel": "Investments",
        "documentation": "Disclosure of accounting policy for investment in financial asset."
       }
      }
     },
     "auth_ref": [
      "r825",
      "r849",
      "r850",
      "r851",
      "r852",
      "r951",
      "r952"
     ]
    },
    "us-gaap_InvestmentTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentTypeAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Type [Axis]",
        "documentation": "Information by type of investments."
       }
      }
     },
     "auth_ref": [
      "r878",
      "r880",
      "r881",
      "r883",
      "r885",
      "r947",
      "r950",
      "r955",
      "r959",
      "r960",
      "r961",
      "r962",
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r1043"
     ]
    },
    "us-gaap_InvestmentTypeCategorizationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentTypeCategorizationMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments [Domain]",
        "documentation": "Asset obtained to generate income or appreciate in value."
       }
      }
     },
     "auth_ref": [
      "r878",
      "r880",
      "r881",
      "r883",
      "r885",
      "r947",
      "r950",
      "r955",
      "r959",
      "r960",
      "r961",
      "r962",
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r1043"
     ]
    },
    "us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentsDebtAndEquitySecuritiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments, Debt and Equity Securities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "country_JP": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "JP",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "JAPAN",
        "terseLabel": "Japan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LaboratoryEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LaboratoryEquipmentMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Laboratory equipment.",
        "label": "Laboratory Equipment [Member]",
        "terseLabel": "Laboratory Equipment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LatestTaxYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LatestTaxYearMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Latest Tax Year [Member]",
        "terseLabel": "Latest Tax Year [Member]",
        "documentation": "Latest identified tax year."
       }
      }
     },
     "auth_ref": [
      "r1179"
     ]
    },
    "fgen_LeaseAmendmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LeaseAmendmentMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease amendment.",
        "label": "Lease Amendment [Member]",
        "terseLabel": "Lease Amendment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseContractualTermAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseContractualTermAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease Contractual Term [Axis]",
        "terseLabel": "Lease Contractual Term",
        "documentation": "Information by contractual term of lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r1071"
     ]
    },
    "us-gaap_LeaseContractualTermDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseContractualTermDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease Contractual Term [Domain]",
        "terseLabel": "Lease Contractual Term",
        "documentation": "Contractual term of lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r1071"
     ]
    },
    "us-gaap_LeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease, Cost",
        "totalLabel": "Total lease cost",
        "documentation": "Amount of lease cost recognized by lessee for lease contract."
       }
      }
     },
     "auth_ref": [
      "r719",
      "r1037"
     ]
    },
    "us-gaap_LeaseCostAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCostAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease, Cost [Abstract]",
        "terseLabel": "Finance lease cost:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCostTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease, Cost [Table Text Block]",
        "terseLabel": "Components of Lease Expense",
        "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": [
      "r1193"
     ]
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "terseLabel": "Leasehold improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r166"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LeasesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LeasesDisclosureTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Leases.",
        "label": "Leases Disclosure [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "auth_ref": []
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "terseLabel": "Legal Entity",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LesseeFinanceLeaseAdditionalLeaseExpirationPeriod": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LesseeFinanceLeaseAdditionalLeaseExpirationPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, finance lease, additional lease expiration period.",
        "label": "Lessee Finance Lease Additional Lease Expiration Period",
        "terseLabel": "Lessee, finance lease, additional lease expiration period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeFinanceLeaseExistenceOfOptionToExtend",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Finance Lease, Existence of Option to Extend [true false]",
        "terseLabel": "Lessee, finance lease, existence of option to extend",
        "documentation": "Indicates (true false) whether lessee has option to extend finance lease."
       }
      }
     },
     "auth_ref": [
      "r718"
     ]
    },
    "fgen_LesseeFinanceLeaseExpirationPeriod": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LesseeFinanceLeaseExpirationPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, finance lease, expiration period.",
        "label": "Lessee Finance Lease Expiration Period",
        "terseLabel": "Lessee, finance lease, expiration period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeFinanceLeaseOptionToExtend": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeFinanceLeaseOptionToExtend",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Finance Lease, Option to Extend",
        "terseLabel": "Lessee, finance lease, option to extend",
        "documentation": "Description of terms and conditions of option to extend lessee's finance lease. Includes, but is not limited to, information about option recognized as part of right-of-use asset and lease liability."
       }
      }
     },
     "auth_ref": [
      "r718"
     ]
    },
    "fgen_LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, finance lease, option to extend the additional lease term.",
        "label": "Lessee Finance Lease Option To Extend Additional Lease Term",
        "terseLabel": "Lessee, finance lease, option to extend the additional lease term"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeFinanceLeaseTermOfContract1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeFinanceLeaseTermOfContract1",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Finance Lease, Term of Contract",
        "terseLabel": "Lessee, finance lease, initial lease term",
        "documentation": "Term of lessee's finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r1192"
     ]
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Line Items]",
        "terseLabel": "Lessee Lease Description [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": [
      "r717"
     ]
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Table]",
        "terseLabel": "Lessee Lease Description [Table]",
        "documentation": "Disclosure of information about lessee's leases."
       }
      }
     },
     "auth_ref": [
      "r717"
     ]
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeasesPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Leases [Policy Text Block]",
        "terseLabel": "Leases",
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee."
       }
      }
     },
     "auth_ref": [
      "r716"
     ]
    },
    "fgen_LesseeOperatingLeaseExpirationPeriod": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LesseeOperatingLeaseExpirationPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, operating lease, expiration period.",
        "label": "Lessee Operating Lease Expiration Period",
        "terseLabel": "Lessee, operating lease, expiration period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total future lease payments",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "terseLabel": "Beyond 2027",
        "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": [
      "r727"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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": [
      "r727"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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": [
      "r727"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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": [
      "r727"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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": [
      "r727"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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": [
      "r727"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less: Interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseTermOfContract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Term of Contract",
        "terseLabel": "Lessee, operating lease, lease term",
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r1192"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "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": [
      "r34",
      "r307",
      "r429",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r648",
      "r651",
      "r652",
      "r688",
      "r894",
      "r1004",
      "r1054",
      "r1140",
      "r1195",
      "r1196"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities, redeemable non-controlling interests and deficit",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r140",
      "r193",
      "r813",
      "r1038",
      "r1099",
      "r1125",
      "r1189"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Liabilities, redeemable non-controlling interests and deficit",
        "label": "Liabilities and Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r36",
      "r262",
      "r307",
      "r429",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r648",
      "r651",
      "r652",
      "r688",
      "r1038",
      "r1140",
      "r1195",
      "r1196"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LiabilityRelatedToSaleOfFutureRevenueTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LiabilityRelatedToSaleOfFutureRevenueTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenues"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liability related to sale of future revenue.",
        "label": "Liability Related To Sale of Future Revenue [Text Block]",
        "terseLabel": "Liability Related to Sale of Future Revenues"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LiabilityRelatedToSaleOfFutureRevenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LiabilityRelatedToSaleOfFutureRevenues",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liability related to sale of future revenues.",
        "label": "Liability Related To Sale Of Future Revenues",
        "periodStartLabel": "Liability related to sale of future revenues - beginning balance",
        "periodEndLabel": "Liability related to sale of future revenues - ending balance"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LiabilityRelatedToSaleOfFutureRevenuesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LiabilityRelatedToSaleOfFutureRevenuesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current portion of liability related to sale of future revenues",
        "label": "Liability Related To Sale Of Future Revenues Current",
        "documentation": "Liability related to sale of future revenues current."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LiabilityRelatedToSaleOfFutureRevenuesNonCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LiabilityRelatedToSaleOfFutureRevenuesNonCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liability related to sale of future revenues non current.",
        "label": "Liability Related To Sale Of Future Revenues Non Current",
        "terseLabel": "Liability related to sale of future revenues, non-current"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liability related to sale of future revenues.",
        "label": "Liability Related To Sale Of Future Revenues [Policy Text Block]",
        "terseLabel": "Liability Related to Sale of Future Revenues"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LiabilityRelatedToSaleOfFutureRoyaltiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LiabilityRelatedToSaleOfFutureRoyaltiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liability related to sale of future royalties.",
        "label": "Liability Related to Sale of Future Royalties [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LiabilityRelatedToSaleOfFutureRoyaltiesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LiabilityRelatedToSaleOfFutureRoyaltiesTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenues"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liability related to sale of future royalties.",
        "label": "Liability Related To Sale Of Future Royalties [Text Block]",
        "terseLabel": "Liability Related to Sale of Future Royalties"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LiabilityRelatedToSaleOfRevenueCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LiabilityRelatedToSaleOfRevenueCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Current portion classified to accrued and other current liabilities",
        "terseLabel": "Less: Current portion classified to accrued and other current liabilities",
        "documentation": "Liability related to sale of revenue current.",
        "label": "Liability Related To Sale Of Revenue Current"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LiabilityRelatedToSaleOfRevenuesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LiabilityRelatedToSaleOfRevenuesNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liability related to sale of revenues noncurrent.",
        "label": "Liability Related To Sale Of Revenues NonCurrent",
        "terseLabel": "Liability related to sale of future revenues, non-current"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LicenseAcquisitionAgreementPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LicenseAcquisitionAgreementPolicyPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "License acquisition agreement policy.",
        "label": "License Acquisition Agreement Policy Policy [Text Block]",
        "terseLabel": "License Acquisition Agreement"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LicenseAgreementWithEluminexMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LicenseAgreementWithEluminexMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Eluminex [Member]",
        "documentation": "License agreement with Eluminex.",
        "label": "License Agreement With Eluminex [Member]",
        "terseLabel": "Eluminex Agreements [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LicenseAndDevelopmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LicenseAndDevelopmentMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "License and development.",
        "label": "License And Development [Member]",
        "terseLabel": "License and Development [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LicenseFeesAndMilestonesRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LicenseFeesAndMilestonesRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from multiple-deliverable arrangements that include licensing fees and services revenue and the amount of consideration recognized during the period for milestones. Licensing revenue is consideration received from another party for the right to use, but not own, certain of the entity's intangible assets. Licensing arrangements include, but are not limited to, rights to use a patent, copyright, technology, manufacturing process, software or trademark. Licensing fees are generally, but not always, fixed as to amount and not dependent upon the revenue generated by the licensing party. An entity may receive licensing fees for licenses that also generate royalty payments to the entity. Services revenue may be derived by providing other, non-specified, services during the reporting period.",
        "label": "License Fees And Milestones Revenue",
        "terseLabel": "License and milestone revenue from a related party"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LicenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LicenseMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "License [Member]",
        "label": "License [Member]",
        "terseLabel": "License Revenue [Member]",
        "documentation": "Right to use intangible asset. Intangible asset includes, but is not limited to, patent, copyright, technology, manufacturing process, software or trademark."
       }
      }
     },
     "auth_ref": [
      "r1147"
     ]
    },
    "fgen_LicenseRevenueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LicenseRevenueMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "License Revenue [Member]",
        "documentation": "License revenue."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LitigationSettlementCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LitigationSettlementCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Litigation settlement",
        "label": "Litigation Settlement Current",
        "documentation": "Litigation settlement current."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LoansReceivableBasisSpreadOnVariableRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LoansReceivableBasisSpreadOnVariableRate",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loans Receivable, Basis Spread on Variable Rate",
        "terseLabel": "Percentage points deducted to reference rate to compute effective interest rate",
        "documentation": "Percentage added to reference rate used to compute variable rate on loan receivable."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongLivedAssetsByGeographicAreasTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Assets by Geographic Areas [Table Text Block]",
        "terseLabel": "Schedule of Long Lived Assets by Geographic Area",
        "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "us-gaap_LongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Senior secured term loan facilities, ending balance",
        "periodEndLabel": "Senior secured term loan facilities, ending balance",
        "terseLabel": "Term loan",
        "label": "Long-Term Debt",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r191",
      "r515",
      "r530",
      "r1012",
      "r1013",
      "r1205"
     ]
    },
    "us-gaap_LongTermDebtContingentPaymentOfPrincipalOrInterest": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtContingentPaymentOfPrincipalOrInterest",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt, Contingent Payment of Principal or Interest",
        "terseLabel": "Conditions of payment of interest, convertible promissory note",
        "documentation": "Description of conditions, facts and circumstances that would trigger a payment of principal or interest which was not otherwise immediately due and payable."
       }
      }
     },
     "auth_ref": [
      "r279"
     ]
    },
    "fgen_LongTermInvestmentExcludingEquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LongTermInvestmentExcludingEquityMethodInvestments",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long term investment excluding equity method investments.",
        "label": "Long Term Investment Excluding Equity Method Investments",
        "terseLabel": "Long-term investments"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_LongTermInvestmentsMinimumMaturityPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LongTermInvestmentsMinimumMaturityPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long term investments minimum maturity period.",
        "label": "Long Term Investments Minimum Maturity Period",
        "terseLabel": "Long term Investments Maturity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Category of Item Purchased [Axis]",
        "terseLabel": "Category of Item Purchased",
        "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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Purchase Commitment, Category of Item Purchased [Domain]",
        "terseLabel": "Long-term Purchase Commitment, Category of Item Purchased",
        "documentation": "General description of the goods or services to be purchased from the counterparty to the long-term purchase commitment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongtermDebtTypeAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt, Type [Axis]",
        "documentation": "Information by type of long-term debt."
       }
      }
     },
     "auth_ref": [
      "r38"
     ]
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongtermDebtTypeDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt, Type [Domain]",
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r76"
     ]
    },
    "us-gaap_LossContingencyAccrualAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LossContingencyAccrualAtCarryingValue",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Litigation settlement amount",
        "label": "Loss Contingency Accrual",
        "periodEndLabel": "Loss Contingency Accrual, Ending Balance",
        "periodStartLabel": "Loss Contingency Accrual, Beginning Balance",
        "documentation": "Amount of loss contingency liability."
       }
      }
     },
     "auth_ref": [
      "r488",
      "r1067"
     ]
    },
    "us-gaap_LossContingencyNewClaimsFiledNumber": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LossContingencyNewClaimsFiledNumber",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of complaints filed",
        "label": "Loss Contingency, New Claims Filed, Number",
        "documentation": "The total number of new claims filed pertaining to a loss contingency during the period."
       }
      }
     },
     "auth_ref": [
      "r1135",
      "r1136"
     ]
    },
    "us-gaap_LossContingencyReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LossContingencyReceivableCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Litigation settlement receivable",
        "terseLabel": "Insurance proceeds receivable for litigation settlement",
        "label": "Loss Contingency, Receivable, Current",
        "documentation": "Amount of receivable related to a loss contingency accrual that is expected to be collected within one year or the normal operating cycle, if longer. For example, an insurance recovery receivable."
       }
      }
     },
     "auth_ref": [
      "r1139"
     ]
    },
    "fgen_LossOnAssetAcquisition": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "LossOnAssetAcquisition",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Loss on asset acquisition",
        "label": "Loss on asset acquisition",
        "documentation": "Loss on asset acquisition"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Machinery and Equipment [Member]",
        "terseLabel": "Machinery [Member]",
        "documentation": "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": []
    },
    "fgen_ManufactureAndSupplyOfPamrevlumabMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ManufactureAndSupplyOfPamrevlumabMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Manufacture and supply of pamrevlumab.",
        "label": "Manufacture And Supply Of Pamrevlumab [Member]",
        "terseLabel": "Manufacture and Supply of Pamrevlumab [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ManufactureAndSupplyOfRoxadustatMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ManufactureAndSupplyOfRoxadustatMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Manufacture and Supply of Roxadustat.",
        "label": "Manufacture And Supply Of Roxadustat [Member]",
        "terseLabel": "Manufacture and Supply of Roxadustat [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ManufacturingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ManufacturingCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Manufacturing Costs",
        "terseLabel": "Burdened manufacturing costs",
        "documentation": "The aggregate costs incurred in the production of goods for sale."
       }
      }
     },
     "auth_ref": [
      "r150"
     ]
    },
    "fgen_ManufacturingRelatedMilestonePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ManufacturingRelatedMilestonePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Manufacturing related milestone payments",
        "label": "Manufacturing Related Milestone Payments",
        "documentation": "Manufacturing related milestone payment."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "MaximumAdditionalFutureClinicalRegulatoryAndCommercialMilestonePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum additional future clinical regulatory and commercial milestone payments.",
        "label": "Maximum Additional Future Clinical Regulatory And Commercial Milestone Payments",
        "verboseLabel": "Maximum additional future clinical, regulatory, and commercial milestone payments"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_MaximumFutureMilestonePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "MaximumFutureMilestonePayments",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum future milestone payments.",
        "label": "Maximum Future Milestone Payments",
        "terseLabel": "Maximum future milestone payments"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum [Member]",
        "documentation": "Upper limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r489",
      "r490",
      "r491",
      "r492",
      "r558",
      "r773",
      "r834",
      "r886",
      "r887",
      "r948",
      "r953",
      "r957",
      "r958",
      "r963",
      "r988",
      "r989",
      "r1006",
      "r1016",
      "r1031",
      "r1040",
      "r1142",
      "r1197",
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202"
     ]
    },
    "fgen_MaximumPaymentCapAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "MaximumPaymentCapAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum payment cap amount.",
        "label": "Maximum payment cap amount"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum R&amp;D and regulatory milestone payments receivable",
        "label": "Maximum Research and Development and Regulatory Milestone Payments Receivable",
        "documentation": "Maximum Research and Development and Regulatory Milestone Payments Receivable"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_MaximumSalesMilestonesReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "MaximumSalesMilestonesReceivable",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum sales milestones receivable",
        "label": "Maximum Sales Milestones Receivable",
        "documentation": "Maximum sales milestones receivable."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MeasurementInputDiscountRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputDiscountRateMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Input, Discount Rate [Member]",
        "terseLabel": "Measurement Input Discount Rate [Member]",
        "documentation": "Measurement input using interest rate to determine present value of future cash flows."
       }
      }
     },
     "auth_ref": [
      "r1187"
     ]
    },
    "us-gaap_MeasurementInputTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputTypeAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Input Type [Axis]",
        "terseLabel": "Measurement Input Type",
        "documentation": "Information by type of measurement input used to determine value of asset and liability."
       }
      }
     },
     "auth_ref": [
      "r680"
     ]
    },
    "us-gaap_MeasurementInputTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputTypeDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Input Type [Domain]",
        "terseLabel": "Measurement Input Type",
        "documentation": "Measurement input used to determine value of asset and liability."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_MilestonePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "MilestonePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Milestone Payments",
        "documentation": "Milestone payments."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_MilestonePaymentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "MilestonePaymentsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Milestone payments.",
        "label": "Milestone payments [Member]",
        "terseLabel": "Milestone Payments [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "MinimumCashOrCashEquivalentsRequiredDuringTermLoanOutstanding",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum cash or cash equivalents required during term loan outstanding.",
        "label": "Minimum Cash Or Cash Equivalents Required During Term Loan Outstanding",
        "verboseLabel": "Minimum cash or cash equivalents required during term loan outstanding"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum [Member]",
        "documentation": "Lower limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r489",
      "r490",
      "r491",
      "r492",
      "r558",
      "r773",
      "r834",
      "r886",
      "r887",
      "r948",
      "r953",
      "r957",
      "r958",
      "r963",
      "r988",
      "r989",
      "r1006",
      "r1016",
      "r1031",
      "r1040",
      "r1142",
      "r1197",
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202"
     ]
    },
    "us-gaap_MinorityInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MinorityInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity, Attributable to Noncontrolling Interest",
        "terseLabel": "Non-controlling interests",
        "totalLabel": "Stockholders' Equity Attributable to Noncontrolling Interest, Total",
        "periodStartLabel": "Stockholders' Equity Attributable to Noncontrolling Interest, Beginning Balance",
        "periodEndLabel": "Stockholders' Equity Attributable to Noncontrolling Interest, Ending Balance",
        "documentation": "Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r192",
      "r307",
      "r429",
      "r493",
      "r495",
      "r496",
      "r497",
      "r500",
      "r501",
      "r688",
      "r812",
      "r898"
     ]
    },
    "fgen_MiscellaneousReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "MiscellaneousReceivables",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Miscellaneous receivables.",
        "label": "Miscellaneous Receivables",
        "terseLabel": "Miscellaneous receivables"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MoneyMarketFundsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MoneyMarketFundsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail": {
       "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Money Market Funds, at Carrying Value",
        "terseLabel": "Money market funds",
        "documentation": "Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MoneyMarketFundsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MoneyMarketFundsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Money Market Funds [Member]",
        "terseLabel": "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": [
      "r1148"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "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": [
      "r301"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "Financing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash provided by (used in) investing activities",
        "label": "Net Cash Provided by (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": [
      "r301"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "Investing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in operating activities",
        "label": "Net Cash Provided by (Used in) 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": [
      "r158",
      "r159",
      "r160"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Operating activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 0.0
      },
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations",
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss)",
        "terseLabel": "Net loss",
        "totalLabel": "Net loss",
        "verboseLabel": "Net loss",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r160",
      "r198",
      "r260",
      "r283",
      "r286",
      "r291",
      "r307",
      "r325",
      "r329",
      "r330",
      "r332",
      "r333",
      "r337",
      "r338",
      "r345",
      "r360",
      "r369",
      "r374",
      "r377",
      "r429",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r675",
      "r688",
      "r820",
      "r917",
      "r939",
      "r940",
      "r1005",
      "r1052",
      "r1140"
     ]
    },
    "fgen_NetTransferPriceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "NetTransferPriceMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net Transfer Price [Member]",
        "documentation": "Net transfer price.",
        "label": "Net Transfer Price [Member]",
        "terseLabel": "Net Transfer Price"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_NonCashAcquisitionInFortis": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "NonCashAcquisitionInFortis",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non cash acquisition in Fortis",
        "documentation": "Non cash acquisition in Fortis"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "NonCashIncreaseDecreaseResultingFromLeaseModificationAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-cash: Increase (decrease) resulting from lease modification:",
        "label": "Non Cash Increase Decrease Resulting From Lease Modification [Abstract]",
        "documentation": "Non cash increase decrease resulting from lease modification."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_NonCashInterestExpenseRelatedToDrugProductRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "NonCashInterestExpenseRelatedToDrugProductRevenue",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non-cash interest expense related to drug product revenue",
        "label": "Non-cash interest expense related to drug product revenue"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_NonCashInterestExpenseRelatedToSaleOfFutureRevenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "NonCashInterestExpenseRelatedToSaleOfFutureRevenues",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non cash interest expense related to sale of future revenues.",
        "label": "Non Cash Interest Expense Related To Sale Of Future Revenues",
        "terseLabel": "Non-cash interest expense related to sale of future revenues",
        "verboseLabel": "Interest expense recognized"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "NonCashRightOfUseAssetsObtainedInExchangeForNewLeaseLiabilitiesAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non cash right of use assets obtained in exchange for new lease liabilities.",
        "label": "Non Cash Right Of Use Assets Obtained In Exchange For New Lease Liabilities [Abstract]",
        "terseLabel": "Non-cash: Right-of-use assets obtained in exchange for new lease liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_NonKeyAccountHospitalListingAwardMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "NonKeyAccountHospitalListingAwardMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non-key account hospital listing award.",
        "label": "Non Key Account Hospital Listing Award [Member]",
        "terseLabel": "Non-key Account Hospital Listing Award [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_NoncashInterestExpenseRelatedToSaleOfFutureRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "NoncashInterestExpenseRelatedToSaleOfFutureRevenue",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Noncash interest expense related to sale of future revenue.",
        "label": "Noncash Interest Expense Related To Sale Of Future Revenue",
        "terseLabel": "Interest expense recognized"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncontrollingInterestMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncontrollingInterestMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest [Member]",
        "terseLabel": "Noncontrolling Interests [Member]",
        "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest."
       }
      }
     },
     "auth_ref": [
      "r107",
      "r540",
      "r1107",
      "r1108",
      "r1109",
      "r1213"
     ]
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_InterestIncomeExpenseNonoperatingNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense)",
        "terseLabel": "Interest income and other income (expenses), net",
        "totalLabel": "Nonoperating Income (Expense), Total",
        "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": [
      "r154"
     ]
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpenseAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense) [Abstract]",
        "terseLabel": "Interest and other, net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NonredeemableNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonredeemableNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Nonredeemable non-controlling interests",
        "label": "Nonredeemable Noncontrolling Interest",
        "documentation": "Portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent entity which is not redeemable by the parent entity."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_NovaquestCapitalManagementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "NovaquestCapitalManagementMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "NovaQuest Capital Management [Member]",
        "documentation": "NovaQuest Capital Management.",
        "label": "NovaQuest Capital Management [Member]",
        "terseLabel": "NovaQuest [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of identified performance obligation at inception of agreement.",
        "label": "Number Of Identified Performance Obligation At Inception Of Agreement",
        "terseLabel": "Number of identified performance obligation at inception of agreement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Operating Segments",
        "terseLabel": "Number of operating segment",
        "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": [
      "r1112"
     ]
    },
    "fgen_NumberOfOptionalRightsToExtendLease": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "NumberOfOptionalRightsToExtendLease",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of optional rights to extend lease.",
        "label": "Number Of Optional Rights To Extend Lease",
        "terseLabel": "Optional rights to extend lease"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_NumberOfProductDevelopmentObligations": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "NumberOfProductDevelopmentObligations",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of product development obligations.",
        "label": "Number Of Product Development Obligations",
        "terseLabel": "Number of product development obligations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OfficeEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OfficeEquipmentMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Office Equipment [Member]",
        "terseLabel": "Office Equipment [Member]",
        "documentation": "Tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_OfficeSpacesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OfficeSpacesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Office spaces.",
        "label": "Office Spaces [Member]",
        "terseLabel": "Office Spaces"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OpenTaxYear": {
     "xbrltype": "gYearListItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OpenTaxYear",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Open Tax Year",
        "terseLabel": "Foreign statute of limitation generally remains open in the year",
        "documentation": "Tax year that remains open to examination under enacted tax laws, in YYYY format."
       }
      }
     },
     "auth_ref": [
      "r612"
     ]
    },
    "fgen_OperatingAndFinanceLeasePaymentObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OperatingAndFinanceLeasePaymentObligations",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operating and finance lease payment obligations.",
        "label": "Operating And Finance Lease Payment Obligations",
        "verboseLabel": "Operating and finance lease payment obligations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingCostsAndExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingCostsAndExpensesAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Costs and Expenses [Abstract]",
        "terseLabel": "Operating costs and expenses:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Income (Loss)",
        "totalLabel": "Loss from operations",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r360",
      "r369",
      "r374",
      "r377",
      "r1005"
     ]
    },
    "fgen_OperatingLeaseAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OperatingLeaseAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_OperatingLeaseRightOfUseAsset",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operating lease, accumulated amortization.",
        "label": "Operating Lease Accumulated Amortization",
        "negatedLabel": "Accumulated amortization"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail"
     ],
     "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": [
      "r721",
      "r1037"
     ]
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]",
        "terseLabel": "Operating Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability",
        "terseLabel": "Operating lease liability",
        "verboseLabel": "Present value of lease liabilities",
        "totalLabel": "Operating Lease, Liability, Total",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r711"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail": {
       "parentTag": "fgen_FinanceLeaseAndOperatingLeaseLiability",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liabilities, current",
        "verboseLabel": "Operating lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r711"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]",
        "terseLabel": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]",
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r712"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail": {
       "parentTag": "fgen_FinanceLeaseAndOperatingLeaseLiability",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liabilities, non-current",
        "verboseLabel": "Operating lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r711"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]",
        "terseLabel": "Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]",
        "documentation": "Indicates line item in statement of financial position that includes noncurrent operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r712"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Payments",
        "terseLabel": "Operating cash flows from operating leases",
        "verboseLabel": "Cash payment related to lease",
        "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": [
      "r715",
      "r723"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail": {
       "parentTag": "fgen_FinanceLeaseAndOperatingLeaseAssets",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease right-of-use assets",
        "totalLabel": "Operating lease right-of-use assets, net",
        "verboseLabel": "Total operating lease right-of-use assets",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r710"
     ]
    },
    "fgen_OperatingLeaseRightOfUseAssetsCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OperatingLeaseRightOfUseAssetsCost",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail": {
       "parentTag": "us-gaap_OperatingLeaseRightOfUseAsset",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operating lease, right-of-use assets - cost.",
        "label": "Operating Lease Right Of Use Assets Cost",
        "terseLabel": "Right-of-use assets cost"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseTermAndDiscountRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Operating leases",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r726",
      "r1037"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseTermAndDiscountRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Operating leases",
        "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": [
      "r725",
      "r1037"
     ]
    },
    "fgen_OperatingLossCarryforwardsExpirationYear": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OperatingLossCarryforwardsExpirationYear",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operating loss carryforwards expiration year.",
        "label": "Operating Loss Carryforwards Expiration Year",
        "terseLabel": "Operating loss carryforwards expiration year"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail"
     ],
     "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": [
      "r35"
     ]
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets, Current",
        "terseLabel": "Other current assets",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r277",
      "r1038"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other assets",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r267"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentNetOfTaxPeriodIncreaseDecreaseAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax [Abstract]",
        "terseLabel": "Available-for-sale investments:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax",
        "terseLabel": "Change in unrealized gain or loss on investments",
        "totalLabel": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax, Total",
        "documentation": "Amount, after tax and adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale."
       }
      }
     },
     "auth_ref": [
      "r280",
      "r281",
      "r282"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss",
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "terseLabel": "Foreign currency translation adjustments",
        "verboseLabel": "Foreign currency translation adjustments",
        "totalLabel": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total",
        "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": [
      "r7"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax",
        "totalLabel": "Other comprehensive gain (loss), net of taxes",
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r27",
      "r284",
      "r287",
      "r294",
      "r694",
      "r695",
      "r700",
      "r796",
      "r821",
      "r1091",
      "r1092"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]",
        "terseLabel": "Other comprehensive income (loss):"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax",
        "terseLabel": "Unrealized gain (loss) on investments, net of tax effect",
        "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale."
       }
      }
     },
     "auth_ref": [
      "r280",
      "r282",
      "r423"
     ]
    },
    "fgen_OtherDiscountsAndRebatesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OtherDiscountsAndRebatesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other discounts and rebates.",
        "label": "Other Discounts And Rebates [Member]",
        "terseLabel": "Other Discounts and Rebates [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherInvesteesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherInvesteesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Nonredeemable NCI [Member]",
        "label": "Nonconsolidated Investees, Other [Member]",
        "documentation": "Investment in group of nonconsolidated investees classified as other."
       }
      }
     },
     "auth_ref": [
      "r1123"
     ]
    },
    "fgen_OtherInvestorsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OtherInvestorsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Investors [Member]",
        "documentation": "Other investors."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Due to related parties",
        "label": "Other Liabilities",
        "totalLabel": "Other Liabilities, Total",
        "documentation": "Amount of liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r803",
      "r890",
      "r891",
      "r1054",
      "r1210"
     ]
    },
    "fgen_OtherLiabilitiesCurrentDueToRelatedParties": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OtherLiabilitiesCurrentDueToRelatedParties",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued and other current liabilities to related party",
        "label": "Other Liabilities Current Due to Related Parties",
        "documentation": "Other liabilities current due to related parties."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other long-term liabilities",
        "terseLabel": "Other long-term liabilities ($656 and $0 to a related party)",
        "label": "Other Liabilities, Noncurrent",
        "totalLabel": "Total other long-term liabilities",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "fgen_OtherLiabilitiesNoncurrentDueToRelatedParties": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OtherLiabilitiesNoncurrentDueToRelatedParties",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Due to related parties, noncurrent",
        "label": "Other Liabilities Noncurrent Due to Related Parties",
        "documentation": "Other liabilities noncurrent due to related parties."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherNoncurrentLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNoncurrentLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Noncurrent Liabilities [Table Text Block]",
        "terseLabel": "Schedule of Other Long-term Liabilities",
        "documentation": "Tabular disclosure of other noncurrent liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_OtherPurchasesAndProgramsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OtherPurchasesAndProgramsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other purchases and programs.",
        "label": "Other Purchases And Programs Member",
        "verboseLabel": "Other Purchases and Programs [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_OtherRevenueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OtherRevenueMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other Revenue.",
        "label": "Other Revenue [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_OtherRevenuePatentTransferMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OtherRevenuePatentTransferMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Revenue - Patent Transfer [Member]",
        "label": "Other Revenue Patent Transfer [Member]",
        "documentation": "Other revenue patent transfer ."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_OtherRisksAndUncertaintiesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OtherRisksAndUncertaintiesPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other Risks and Uncertainties.",
        "label": "Other Risks And Uncertainties Policy [Text Block]",
        "terseLabel": "Other Risks and Uncertainties"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_OtherTaxCreditCarryforwardsExpirationYear": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OtherTaxCreditCarryforwardsExpirationYear",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other tax credit carryforwards expiration year.",
        "label": "Other Tax Credit Carryforwards Expiration Year",
        "terseLabel": "Other tax credit carryforwards expiration year"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other-than-temporary Impairment Loss, Debt Securities, Available-for-Sale",
        "terseLabel": "Other-than-temporary impairment loss",
        "documentation": "Amount of other-than-temporary impairment (OTTI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), recognized in earnings and other comprehensive loss (OCI)."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "srt_OwnershipAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "OwnershipAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Axis]",
        "documentation": "Information by name of entity in which ownership interest is disclosed. Excludes equity method investee and named security investment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_OwnershipDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "OwnershipDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Domain]",
        "documentation": "Name of entity in which ownership interest is disclosed. Excludes equity method investee and named security investment."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_OwnershipInChinaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OwnershipInChinaMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByInventoryOwnershipDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ownership in China.",
        "label": "Ownership In China [Member]",
        "terseLabel": "China [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_OwnershipInUnitedStatesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "OwnershipInUnitedStatesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByInventoryOwnershipDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ownership in United States.",
        "label": "Ownership In United States [Member]",
        "verboseLabel": "United States [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payment cap date after January one two thousand thirty.",
        "label": "Payment cap date after January one two thousand thirty [Member]",
        "terseLabel": "Payment Cap Date after January 1, 2030 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PaymentCapDateInTwoThousandThirtyOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PaymentCapDateInTwoThousandThirtyOneMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payment cap date in two thousand thirty one.",
        "label": "Payment cap date in two thousand thirty one [Member]",
        "terseLabel": "Payment Cap Date in 2031 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payment cap date on or after January one two thousand twenty nine.",
        "label": "Payment cap date on or after January one two thousand twenty nine [Member]",
        "terseLabel": "Payment Cap Date on or after January 1, 2029 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payment cap date on or before December thirty one two thousand twenty eight.",
        "label": "Payment cap date on or before December thirty one two thousand twenty eight [Member]",
        "terseLabel": "Payment Cap Date on or before December 31, 2028 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentForContingentConsiderationLiabilityInvestingActivities",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingent payment associated with business acquisition",
        "label": "Payment for Contingent Consideration Liability, Investing Activities",
        "documentation": "Amount of cash outflow, made soon after acquisition date of business combination, to settle contingent consideration liability."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "fgen_PaymentPeriodOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PaymentPeriodOneMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Payment Period One [Member]",
        "documentation": "Payment Period One [Member]",
        "label": "Payment Period One [Member]",
        "terseLabel": "Before December 31, 2028 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PaymentPeriodTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PaymentPeriodTwoMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Payment Period Two [Member]",
        "documentation": "Payment period two.",
        "label": "Payment Period Two [Member]",
        "terseLabel": "No Later Than December 31, 2030 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PaymentToOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PaymentToOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Payment to options exercised",
        "label": "Payment to Options Exercised",
        "documentation": "Payment to options exercised"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsForRestructuring": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRestructuring",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash payments for restructuring",
        "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": [
      "r481",
      "r1094"
     ]
    },
    "fgen_PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments for transaction costs related to sale of future revenues.",
        "label": "Payments For Transaction Costs Related To Sale Of Future Revenues",
        "terseLabel": "Cash paid for transaction costs related to sale of future revenues",
        "verboseLabel": "Transaction costs related to sale of future revenues",
        "negatedLabel": "Cash paid for transaction costs related to sale of future revenues"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payment, Tax Withholding, Share-Based Payment Arrangement",
        "negatedLabel": "Cash paid for payroll taxes on restricted stock unit releases",
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r298"
     ]
    },
    "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Debt Securities, Available-for-Sale",
        "negatedLabel": "Purchases of available-for-sale securities",
        "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r297",
      "r392"
     ]
    },
    "us-gaap_PaymentsToAcquireInProcessResearchAndDevelopment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireInProcessResearchAndDevelopment",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire in Process Research and Development",
        "negatedLabel": "Payment made for acquired in-process research and development asset",
        "verboseLabel": "Business acquistion payment to support continued development obligations",
        "documentation": "The cash outflows from the purchase of net carrying value allocated to in-process research and development costs and materials acquired in a business combination."
       }
      }
     },
     "auth_ref": [
      "r50"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchases of property and equipment",
        "totalLabel": "Payments to Acquire Property, Plant, and Equipment, Total",
        "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": [
      "r157"
     ]
    },
    "fgen_PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage increases on anniversary of rent commencement date option two.",
        "label": "Percentage Increases On Anniversary Of Rent Commencement Date Option Two",
        "terseLabel": "Percentage increases on each anniversary of rent commencement date 2028"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PercentageIncreasesOnEachAnniversaryOfRentCommencementDate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PercentageIncreasesOnEachAnniversaryOfRentCommencementDate",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage increases on each anniversary of rent commencement date.",
        "label": "Percentage Increases On Each Anniversary Of Rent Commencement Date",
        "terseLabel": "Percentage increases on each anniversary of rent commencement date 2023"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PercentageOfExciseTaxOnStockBuyback": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PercentageOfExciseTaxOnStockBuyback",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of excise tax on stock buyback.",
        "label": "Percentage Of Excise Tax On Stock Buyback",
        "terseLabel": "Percentage of excise tax on stock buyback"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PercentageOfFundingForCosts": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PercentageOfFundingForCosts",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of costs that will be funded by the other party under a collaborative agreement for development costs.",
        "label": "Percentage Of Funding For Costs",
        "terseLabel": "Percentage of joint development costs committed to fund"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PercentageOfPreLaunchInventoryCapitalizedOfAggregateInventoryBalance",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of pre-launch inventory capitalized of aggregate inventory balance.",
        "label": "Percentage Of Pre Launch Inventory Capitalized Of Aggregate Inventory Balance",
        "terseLabel": "Percentage of pre-launch inventory capitalized of aggregate inventory balance"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of product manufacturing costs until manufacturing technology fully transferred.",
        "label": "Percentage Of Product Manufacturing Costs Until Manufacturing Technology Fully Transferred",
        "terseLabel": "Percentage of product manufacturing costs until manufacturing technology fully transferred"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PercentageOfRevenueInterestOnGlobalNetSales": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PercentageOfRevenueInterestOnGlobalNetSales",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of revenue interest on global net sales.",
        "label": "Percentage Of Revenue Interest On Global Net Sales",
        "terseLabel": "Percentage of revenue interest on global net sales"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PercentageOfRevenueSold": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PercentageOfRevenueSold",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of revenue sold.",
        "label": "Percentage of revenue sold"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PercentageOfRoyaltyPaymentOnGlobalNetSales": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PercentageOfRoyaltyPaymentOnGlobalNetSales",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of royalty payment on global net sales.",
        "label": "Percentage of royalty payment on global net sales"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PercentageOfTieredRoyaltiesReceivable": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PercentageOfTieredRoyaltiesReceivable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Percentage of tiered royalties receivable",
        "label": "Percentage of Tiered Royalties Receivable",
        "documentation": "Percentage of tiered royalties receivable."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PerformanceBasedRestrictedStockAwardsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PerformanceBasedRestrictedStockAwardsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance based restricted stock awards.",
        "label": "Performance Based Restricted Stock Awards [Member]",
        "terseLabel": "PRSUs [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "terseLabel": "Plan Name",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1149",
      "r1150",
      "r1151",
      "r1152",
      "r1153",
      "r1154",
      "r1155",
      "r1156",
      "r1157",
      "r1158",
      "r1159",
      "r1160",
      "r1161",
      "r1162",
      "r1163",
      "r1164",
      "r1165",
      "r1166",
      "r1167",
      "r1168",
      "r1169",
      "r1170",
      "r1171",
      "r1172",
      "r1173",
      "r1174"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "terseLabel": "Plan Name",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1149",
      "r1150",
      "r1151",
      "r1152",
      "r1153",
      "r1154",
      "r1155",
      "r1156",
      "r1157",
      "r1158",
      "r1159",
      "r1160",
      "r1161",
      "r1162",
      "r1163",
      "r1164",
      "r1165",
      "r1166",
      "r1167",
      "r1168",
      "r1169",
      "r1170",
      "r1171",
      "r1172",
      "r1173",
      "r1174"
     ]
    },
    "fgen_PotentialMilestones": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PotentialMilestones",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the total potential amount of milestone payments related to development, regulatory approval and commercial sales under the collaborative agreement.",
        "label": "Potential Milestones",
        "terseLabel": "Potential milestone payments"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PreferredSharesIssuedPricePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PreferredSharesIssuedPricePerShare",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred shares issued, price per share.",
        "label": "Preferred Shares Issued Price Per Share",
        "terseLabel": "Preferred shares issued, price per share"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PreferredStockDividendRatePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockDividendRatePercentage",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Dividend Rate, Percentage",
        "verboseLabel": "Cash dividend percentage",
        "documentation": "The percentage rate used to calculate dividend payments on preferred stock."
       }
      }
     },
     "auth_ref": [
      "r533",
      "r949",
      "r954",
      "r956",
      "r964"
     ]
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "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": [
      "r134",
      "r532"
     ]
    },
    "us-gaap_PreferredStockRedemptionTerms": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockRedemptionTerms",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Redemption Terms",
        "terseLabel": "Preferred stock redemption percentage",
        "documentation": "The redemption terms of preferred stock of an entity that has priority over common stock in the distribution of dividends and in the event of liquidation of the entity. The redemption features of this capital stock are solely within the control of the issuer."
       }
      }
     },
     "auth_ref": [
      "r85",
      "r86"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "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": [
      "r134",
      "r896"
     ]
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r134",
      "r532"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Outstanding",
        "terseLabel": "Preferred stock, shares outstanding",
        "periodStartLabel": "Preferred Stock, Shares Outstanding, Beginning Balance",
        "periodEndLabel": "Preferred Stock, Shares Outstanding, Ending Balance",
        "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": [
      "r134",
      "r896",
      "r915",
      "r1213",
      "r1214"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, $0.01 par value; 125,000 shares authorized; no shares issued and outstanding at December 31, 2023 and 2022",
        "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": [
      "r134",
      "r808",
      "r1038"
     ]
    },
    "us-gaap_PreferredStockVotingRights": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockVotingRights",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Voting Rights",
        "terseLabel": "Preferred stock, voting rights",
        "documentation": "Description of voting rights of nonredeemable preferred stock. Includes eligibility to vote and votes per share owned. Include also, if any, unusual voting rights."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r134"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      },
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense and Other Assets, Current",
        "totalLabel": "Total prepaid expenses and other current 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."
       }
      }
     },
     "auth_ref": [
      "r1090"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsCurrentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense and Other Assets, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidExpenseCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense, Current",
        "terseLabel": "Prepaid assets",
        "totalLabel": "Prepaid Expense, Current, Total",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r276",
      "r473",
      "r474",
      "r996"
     ]
    },
    "fgen_PrepaymentAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PrepaymentAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Prepayment amount.",
        "label": "Prepayment amount",
        "terseLabel": "Prepayment amount of 2024 to 2030"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_PriceAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PriceAdjustmentMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Price adjustment.",
        "label": "Price Adjustment [Member]",
        "terseLabel": "Price Adjustment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromIssuanceInitialPublicOffering": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceInitialPublicOffering",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from issuance of common stock under ATM Program, net of commissions",
        "label": "Proceeds from Issuance Initial Public Offering",
        "documentation": "The cash inflow associated with the amount received from entity's first offering of stock to the public."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Proceeds from sale of common stock",
        "terseLabel": "Proceeds from issuance of common stock under employee stock plans",
        "label": "Proceeds from Issuance of Common Stock",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfSecuredDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfSecuredDebt",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from senior secured term loan facilities, net of issuance costs",
        "label": "Proceeds from Issuance of Secured Debt",
        "documentation": "The cash inflow from amounts received from issuance of long-term debt that is wholly or partially secured by collateral. Excludes proceeds from tax exempt secured debt."
       }
      }
     },
     "auth_ref": [
      "r51"
     ]
    },
    "fgen_ProceedsFromNonContingentUpfrontPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ProceedsFromNonContingentUpfrontPayments",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of non-contingent upfront payments included under the collaborative agreement as arrangement consideration.",
        "label": "Proceeds From Non Contingent Upfront Payments",
        "terseLabel": "Non-contingent upfront payments received"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleMaturityAndCollectionsOfInvestments",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Sale, Maturity and Collection of Investments",
        "terseLabel": "Proceeds from maturities of investments",
        "totalLabel": "Proceeds from Sale, Maturity and Collection of Investments, Total",
        "documentation": "The cash inflow associated with the sale, maturity and collection of all investments such as debt, security and so forth during the period."
       }
      }
     },
     "auth_ref": [
      "r47"
     ]
    },
    "fgen_ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds from sale of future revenues net of issuance costs.",
        "label": "Proceeds From Sale Of Future Revenues Net Of Issuance Costs",
        "terseLabel": "Proceeds from sale of future revenues, net of issuance costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "terseLabel": "Proceeds from sale of property and equipment",
        "totalLabel": "Proceeds from Sale of Property, Plant, and Equipment, Total",
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r156"
     ]
    },
    "fgen_ProceedsFromSalesOfAvailableForSaleSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ProceedsFromSalesOfAvailableForSaleSecurities",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds from sales of available for sale securities",
        "label": "Proceeds From Sales Of Available For Sale Securities",
        "terseLabel": "Proceeds from sales of available-for-sale securities"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ProceedsFromUpfrontNonContingentAndNonRefundablePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ProceedsFromUpfrontNonContingentAndNonRefundablePayments",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the total amount of non-contingent, non-refundable, upfront payments included under the collaborative agreement as arrangement consideration.",
        "label": "Proceeds From Upfront Non Contingent And Non Refundable Payments",
        "terseLabel": "Proceeds from upfront, non-contingent and non-refundable payments"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ProceedsFromUpfrontNonContingentAndTimeBasedPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ProceedsFromUpfrontNonContingentAndTimeBasedPayments",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of fixed and determinable non-contingent upfront payments included under the collaborative agreement as arrangement consideration.",
        "label": "Proceeds From Upfront Non Contingent And Time Based Payments",
        "terseLabel": "Upfront, non-contingent and time-based payments received"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the total amount of non-contingent, non-refundable, upfront payments included under the collaborative agreement as arrangement consideration.",
        "label": "Proceeds From Upfront Non Contingent Non Refundable And Time Based Payments",
        "terseLabel": "Upfront, non-contingent, non-refundable and time-based payments"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ProductDevelopmentCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ProductDevelopmentCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product development obligations",
        "label": "Product Development Costs",
        "documentation": "Product Development Costs"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ProductDevelopmentObligationsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ProductDevelopmentObligationsDisclosureTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product development obligation disclosure.",
        "label": "Product Development Obligations Disclosure [Text Block]",
        "terseLabel": "Product Development Obligations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product [Member]",
        "terseLabel": "Product Revenue, Net [Member]",
        "verboseLabel": "Product [Member]",
        "documentation": "Article or substance produced by nature, labor or machinery."
       }
      }
     },
     "auth_ref": [
      "r1019"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "terseLabel": "Product and Service",
        "documentation": "Information by product and service, or group of similar products and similar services."
       }
      }
     },
     "auth_ref": [
      "r379",
      "r777",
      "r828",
      "r829",
      "r830",
      "r831",
      "r832",
      "r833",
      "r992",
      "r1019",
      "r1039",
      "r1072",
      "r1137",
      "r1138",
      "r1146",
      "r1207"
     ]
    },
    "fgen_ProductRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ProductRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product revenue from a related party.",
        "label": "Product Revenue",
        "terseLabel": "Product revenue from a related party"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ProductRevenuePolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ProductRevenuePolicyPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product revenue policy.",
        "label": "Product Revenue Policy Policy [Text Block]",
        "terseLabel": "Product Revenue, Net"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]",
        "terseLabel": "Product and Service",
        "documentation": "Product or service, or a group of similar products or similar services."
       }
      }
     },
     "auth_ref": [
      "r379",
      "r777",
      "r828",
      "r829",
      "r830",
      "r831",
      "r832",
      "r833",
      "r992",
      "r1019",
      "r1039",
      "r1072",
      "r1137",
      "r1138",
      "r1146",
      "r1207"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Net loss",
        "totalLabel": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r260",
      "r283",
      "r286",
      "r300",
      "r307",
      "r325",
      "r337",
      "r338",
      "r360",
      "r369",
      "r374",
      "r377",
      "r429",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r646",
      "r649",
      "r650",
      "r675",
      "r688",
      "r800",
      "r819",
      "r864",
      "r917",
      "r939",
      "r940",
      "r1005",
      "r1035",
      "r1036",
      "r1053",
      "r1093",
      "r1140"
     ]
    },
    "fgen_ProfitShareMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ProfitShareMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Profit Share [Member]",
        "documentation": "Profit share.",
        "label": "Profit Share [Member]",
        "terseLabel": "Profit Share"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ProfitSharePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ProfitSharePercent",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Profit share percent.",
        "label": "Profit Share Percent",
        "terseLabel": "Profit share percent"
       }
      }
     },
     "auth_ref": []
    },
    "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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "terseLabel": "Long-Lived Tangible Asset",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Gross",
        "terseLabel": "Property and equipment, gross",
        "totalLabel": "Property, Plant and Equipment, Gross, Total",
        "periodStartLabel": "Property, Plant and Equipment, Gross, Beginning Balance",
        "periodEndLabel": "Property, Plant and Equipment, Gross, Ending Balance",
        "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": [
      "r166",
      "r265",
      "r816"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail"
     ],
     "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.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Net",
        "terseLabel": "Property and equipment, net",
        "totalLabel": "Property 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": [
      "r12",
      "r802",
      "r816",
      "r1038"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property and 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": [
      "r12",
      "r215",
      "r219",
      "r814"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table Text Block]",
        "terseLabel": "Schedule of Property 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": [
      "r12"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Domain]",
        "terseLabel": "Long-Lived Tangible Asset",
        "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": [
      "r166"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Useful Life",
        "terseLabel": "Property and equipment 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": []
    },
    "fgen_PropertyTaxesAndOtherCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "PropertyTaxesAndOtherCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfAccruedAndOtherCurrentLiabilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Property taxes and other current.",
        "label": "Property Taxes And Other Current",
        "terseLabel": "Property taxes and other taxes"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ProvisionForCoDevelopmentServices": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ProvisionForCoDevelopmentServices",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Provision for co-development services.",
        "label": "Provision For Co Development Services",
        "terseLabel": "Provision for co-development services"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Statistical Measurement",
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r489",
      "r490",
      "r491",
      "r492",
      "r550",
      "r558",
      "r588",
      "r589",
      "r590",
      "r749",
      "r773",
      "r834",
      "r886",
      "r887",
      "r948",
      "r953",
      "r957",
      "r958",
      "r963",
      "r988",
      "r989",
      "r1006",
      "r1016",
      "r1031",
      "r1040",
      "r1043",
      "r1131",
      "r1142",
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Statistical Measurement",
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r489",
      "r490",
      "r491",
      "r492",
      "r550",
      "r558",
      "r588",
      "r589",
      "r590",
      "r749",
      "r773",
      "r834",
      "r886",
      "r887",
      "r948",
      "r953",
      "r957",
      "r958",
      "r963",
      "r988",
      "r989",
      "r1006",
      "r1016",
      "r1031",
      "r1040",
      "r1043",
      "r1131",
      "r1142",
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202"
     ]
    },
    "fgen_RebatesAndDiscountsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RebatesAndDiscountsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rebates and discounts.",
        "label": "Rebates And Discounts [Member]",
        "terseLabel": "Rebates and Discounts [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ReceivedFromSaleOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ReceivedFromSaleOfRevenue",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Received from sale of revenue.",
        "label": "Received From Sale of Revenue",
        "terseLabel": "Received from sale of revenue"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Recently issued accounting guidance not yet adopted.",
        "label": "Recently Issued Accounting Guidance Not Yet Adopted Policy [Text Block]",
        "terseLabel": "Recently Issued Accounting Guidance Not Yet Adopted"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RecentlyIssuedAndAdoptedAccountingGuidancePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RecentlyIssuedAndAdoptedAccountingGuidancePolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Recently issued and adopted accounting guidance.",
        "label": "Recently Issued And Adopted Accounting Guidance Policy [Text Block]",
        "terseLabel": "Recently Issued and Adopted Accounting Guidance"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RecordedUnconditionalPurchaseObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RecordedUnconditionalPurchaseObligation",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recorded Unconditional Purchase Obligation",
        "totalLabel": "Total",
        "documentation": "Amount of the recorded obligation to transfer funds in the future for fixed or minimum amounts or quantities of goods or services at fixed or minimum prices (for example, as in take-or-pay contracts or throughput contracts)."
       }
      }
     },
     "auth_ref": [
      "r487"
     ]
    },
    "us-gaap_RecordedUnconditionalPurchaseObligationDueInSecondYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RecordedUnconditionalPurchaseObligationDueInSecondYear",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail": {
       "parentTag": "us-gaap_RecordedUnconditionalPurchaseObligation",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchase obligations due 2025",
        "label": "Recorded Unconditional Purchase Obligation, to be Paid, Year Two",
        "documentation": "Amount of recorded unconditional purchase obligation 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": [
      "r487"
     ]
    },
    "us-gaap_RecordedUnconditionalPurchaseObligationDueWithinOneYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RecordedUnconditionalPurchaseObligationDueWithinOneYear",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail": {
       "parentTag": "us-gaap_RecordedUnconditionalPurchaseObligation",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchase obligations due 2024",
        "label": "Recorded Unconditional Purchase Obligation, to be Paid, Year One",
        "documentation": "Amount of recorded unconditional purchase 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": [
      "r487"
     ]
    },
    "us-gaap_RecordedUnconditionalPurchaseObligationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RecordedUnconditionalPurchaseObligationLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recorded Unconditional Purchase Obligation [Line Items]",
        "terseLabel": "Recorded Unconditional Purchase Obligation [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": [
      "r487"
     ]
    },
    "us-gaap_RecordedUnconditionalPurchaseObligationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RecordedUnconditionalPurchaseObligationTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfOutstandingNonCancelablePurchaseObligationsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recorded Unconditional Purchase Obligation [Table]",
        "terseLabel": "Recorded Unconditional Purchase Obligation [Table]",
        "documentation": "Describes each recorded unconditional purchase obligation arrangement to purchase goods and services that extend over multiple periods, any assets pledged to secure payment, and the fixed or determinable amount of payments due in each of the next five years and thereafter."
       }
      }
     },
     "auth_ref": [
      "r487"
     ]
    },
    "us-gaap_RecordedUnconditionalPurchaseObligationsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RecordedUnconditionalPurchaseObligationsTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recorded Unconditional Purchase Obligations [Table Text Block]",
        "terseLabel": "Summary of Outstanding Non-cancelable Purchase Obligations",
        "documentation": "Tabular disclosure of unconditional purchase obligation recognized as liability."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r1133"
     ]
    },
    "fgen_RedeemableNonControllingInterests": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RedeemableNonControllingInterests",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Redeemable non-controlling interests",
        "label": "Redeemable non-controlling interests",
        "documentation": "Redeemable non-controlling interests."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RedeemableNoncontrollingInterestEquityCarryingAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Redeemable non-controlling interests",
        "label": "Redeemable Noncontrolling Interest, Equity, Carrying Amount",
        "totalLabel": "Redeemable Noncontrolling Interest, Equity, Carrying Amount, Total",
        "documentation": "As of the reporting date, the aggregate carrying amount of all noncontrolling interests which are redeemable by the (parent) entity (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control of the (parent) entity. This item includes noncontrolling interest holder's ownership (or holders' ownership) regardless of the type of equity interest (common, preferred, other) including all potential organizational (legal) forms of the investee entity."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r80",
      "r81",
      "r82"
     ]
    },
    "us-gaap_RedeemablePreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RedeemablePreferredStockMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Redeemable Preferred Stock Member",
        "label": "Redeemable Preferred Stock [Member]",
        "documentation": "Description of type or class of redeemable preferred stock. For instance, cumulative preferred stock, noncumulative preferred stock, convertible or series."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r77",
      "r307",
      "r429",
      "r493",
      "r495",
      "r496",
      "r497",
      "r500",
      "r501",
      "r688"
     ]
    },
    "fgen_RegulatoryMilestonesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RegulatoryMilestonesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Regulatory milestone.",
        "label": "Regulatory Milestones [Member]",
        "terseLabel": "Regulatory Milestone [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party, Type [Domain]",
        "terseLabel": "Related Party",
        "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": [
      "r557",
      "r736",
      "r737",
      "r889",
      "r890",
      "r891",
      "r892",
      "r893",
      "r914",
      "r916",
      "r946"
     ]
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "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": [
      "r921",
      "r922",
      "r925"
     ]
    },
    "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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntityAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party, Type [Axis]",
        "terseLabel": "Related Party",
        "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": [
      "r557",
      "r736",
      "r737",
      "r783",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r889",
      "r890",
      "r891",
      "r892",
      "r893",
      "r914",
      "r916",
      "r946",
      "r1194"
     ]
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactions"
     ],
     "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": [
      "r733",
      "r734",
      "r735",
      "r737",
      "r739",
      "r860",
      "r861",
      "r862",
      "r923",
      "r924",
      "r925",
      "r944",
      "r945"
     ]
    },
    "fgen_RepaymentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RepaymentDescription",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Repayment description",
        "label": "Repayment Description",
        "documentation": "Repayment description."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RepaymentsOfDebtAndCapitalLeaseObligations",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repayments of Debt and Lease Obligation",
        "negatedLabel": "Repayments of lease obligations",
        "documentation": "Amount of cash outflow for short-term and long-term debt and lease obligation."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RepaymentsOfFinanceLeaseLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RepaymentsOfFinanceLeaseLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Repayments of finance lease liabilities.",
        "label": "Repayments Of Finance Lease Liabilities",
        "terseLabel": "Financing cash flows from finance leases",
        "negatedLabel": "Repayments of finance lease liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RepaymentsOfSecuredDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RepaymentsOfSecuredDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Cash paid for transaction costs for senior secured term loan facilities",
        "label": "Repayments of Secured Debt",
        "documentation": "The cash outflow to repay long-term debt that is wholly or partially secured by collateral. Excludes repayments of tax exempt secured debt."
       }
      }
     },
     "auth_ref": [
      "r52"
     ]
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Domain]",
        "documentation": "Named other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution."
       }
      }
     },
     "auth_ref": [
      "r310",
      "r311",
      "r506",
      "r534",
      "r738",
      "r999",
      "r1000"
     ]
    },
    "fgen_RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Required minimum shareholder percentage to call for redemption of preferred shares.",
        "label": "Required Minimum Shareholder Percentage To Call For Redemption Of Preferred Shares",
        "terseLabel": "Minimum percentage of shareholder's approval to call for redemption of preferred shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development Arrangement, Contract to Perform for Others, Type [Axis]",
        "terseLabel": "Research and Development Arrangement, Contract to Perform for Others, Type",
        "documentation": "Information by form of arrangement related to research and development."
       }
      }
     },
     "auth_ref": [
      "r604",
      "r1176"
     ]
    },
    "us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development Arrangement, Contract to Perform for Others, Type [Domain]",
        "terseLabel": "Research and Development Arrangement, Contract to Perform for Others, Type",
        "documentation": "Listing of significant agreements under research and development arrangements accounted for as a contract to perform research and development for others."
       }
      }
     },
     "auth_ref": [
      "r604",
      "r1176"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development Expense",
        "terseLabel": "Research and development",
        "totalLabel": "Research and Development Expense, Total",
        "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": [
      "r130",
      "r603",
      "r1203"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpenseMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development Expense [Member]",
        "terseLabel": "Research and development [Member]",
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development Expense, Policy [Policy Text Block]",
        "terseLabel": "Research and Development Expenses",
        "documentation": "Disclosure of accounting policy for costs it has 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."
       }
      }
     },
     "auth_ref": [
      "r602"
     ]
    },
    "fgen_ResearchAndPreClinicalStageDevelopmentProgramsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ResearchAndPreClinicalStageDevelopmentProgramsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Research and pre-clinical stage development programs.",
        "label": "Research And Pre Clinical Stage Development Programs [Member]",
        "terseLabel": "Research and Preclinical Stage Development Programs [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RestatementAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RestatementAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revision of Prior Period [Axis]",
        "documentation": "Information by adjustment to previously issued financial statements. Includes, but is not limited to, adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision."
       }
      }
     },
     "auth_ref": [
      "r258",
      "r321",
      "r322",
      "r323",
      "r325",
      "r326",
      "r329",
      "r330",
      "r331",
      "r332",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r352",
      "r434",
      "r435",
      "r629",
      "r669",
      "r673",
      "r674",
      "r675",
      "r709",
      "r731",
      "r732",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r848"
     ]
    },
    "srt_RestatementDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RestatementDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revision of Prior Period [Domain]",
        "documentation": "Adjustment to previously issued financial statements. Includes, but is not limited to, adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision."
       }
      }
     },
     "auth_ref": [
      "r258",
      "r321",
      "r322",
      "r323",
      "r325",
      "r326",
      "r329",
      "r330",
      "r331",
      "r332",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r352",
      "r434",
      "r435",
      "r629",
      "r669",
      "r673",
      "r674",
      "r675",
      "r709",
      "r731",
      "r732",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r848"
     ]
    },
    "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashAndCashEquivalentsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Cash and Cash Equivalents, Noncurrent",
        "terseLabel": "Restricted time deposits",
        "totalLabel": "Restricted Cash and Cash Equivalents, Noncurrent, Total",
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r210",
      "r304"
     ]
    },
    "us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock, Shares Issued Net of Shares for Tax Withholdings",
        "terseLabel": "RSUs released and issued net of shares withheld for taxes",
        "documentation": "Number, after shares used to satisfy grantee's tax withholding obligation for award under share-based payment arrangement, of restricted shares issued. Excludes cash used to satisfy grantee's tax withholding obligation."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restricted stock units perfomance based restricted stock units and total shareholders return.",
        "label": "Restricted Stock Units Perfomance Based Restricted Stock Units and Total Shareholders Return [Member]",
        "terseLabel": "RSUs, PRSUs and TSR awards [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted Stock Unit [Member]",
        "verboseLabel": "RSUs [Member]",
        "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": []
    },
    "fgen_RestrictedTimeDepositsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RestrictedTimeDepositsNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restricted time deposits noncurrent.",
        "label": "Restricted Time Deposits Noncurrent",
        "terseLabel": "Restricted time deposits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring plan, expected reduction to workforce, percentage",
        "label": "Restructuring and Related Cost, Number of Positions Eliminated, Period Percent",
        "documentation": "The number of positions eliminated during the period as a percentage of total positions eliminated during the period in connection with the restructuring plan(s)."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RestructuringChargePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RestructuringChargePolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Charge",
        "label": "Restructuring Charge [Policy Text Block]",
        "documentation": "Restructuring charge."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestructuringCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringCharges",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Restructuring plan, non-recurring charges",
        "terseLabel": "Restructuring charge",
        "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": [
      "r11",
      "r483",
      "r484",
      "r1132"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Accumulated deficit",
        "totalLabel": "Retained Earnings (Accumulated Deficit), Total",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r175",
      "r811",
      "r841",
      "r846",
      "r858",
      "r897",
      "r1038"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "terseLabel": "Accumulated Deficit [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r257",
      "r321",
      "r322",
      "r323",
      "r326",
      "r336",
      "r338",
      "r433",
      "r439",
      "r594",
      "r595",
      "r596",
      "r628",
      "r629",
      "r656",
      "r659",
      "r660",
      "r663",
      "r673",
      "r837",
      "r839",
      "r865",
      "r1213"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]",
        "terseLabel": "Revenue:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Drug product revenue recognized",
        "terseLabel": "Total revenue",
        "label": "Drug product revenue recognized",
        "documentation": "Amount, excluding 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": [
      "r361",
      "r362",
      "r368",
      "r372",
      "r373",
      "r379",
      "r381",
      "r383",
      "r545",
      "r546",
      "r777"
     ]
    },
    "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from External Customers by Geographic Areas [Table Text Block]",
        "terseLabel": "Schedule of Revenue by Geographic Area",
        "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue."
       }
      }
     },
     "auth_ref": [
      "r25"
     ]
    },
    "fgen_RevenueGrossFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RevenueGrossFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue gross from contract with customer excluding assessed tax.",
        "label": "Revenue Gross From Contract With Customer Excluding Assessed Tax",
        "terseLabel": "Gross revenue"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue gross transfer price from contract with customer excluding assessed tax.",
        "label": "Revenue Gross Transfer Price From Contract With Customer Excluding Assessed Tax",
        "terseLabel": "Gross transaction price"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RevenueInterestFinancingAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RevenueInterestFinancingAgreementMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Revenue Interest Financing Agreement [Member]",
        "documentation": "Revenue Interest Financing Agreement.",
        "label": "Revenue Interest Financing Agreement [Member]",
        "terseLabel": "RIFA [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RevenueInterestPayment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RevenueInterestPayment",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue interest payment.",
        "label": "Revenue interest payment"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RevenuePaymentCapAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RevenuePaymentCapAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRoyaltiesScheduleOfRevenuePaymentCapMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue payment cap amount.",
        "label": "Revenue Payment Cap Amount",
        "terseLabel": "Revenue payment cap amount",
        "verboseLabel": "Total payments"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RevenuePaymentCapAmountDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RevenuePaymentCapAmountDueAfterYearFive",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRoyaltiesScheduleOfRevenuePaymentCapMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue payment cap amount due after year five.",
        "label": "Revenue Payment Cap Amount Due After Year Five",
        "terseLabel": "Beyond 2027"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RevenuePaymentCapAmountDueInYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RevenuePaymentCapAmountDueInYearFive",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRoyaltiesScheduleOfRevenuePaymentCapMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue payment cap amount due in year five.",
        "label": "Revenue Payment Cap Amount Due In Year Five",
        "terseLabel": "2027"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RevenuePaymentCapAmountDueInYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RevenuePaymentCapAmountDueInYearFour",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRoyaltiesScheduleOfRevenuePaymentCapMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue payment cap amount due in year four.",
        "label": "Revenue Payment Cap Amount Due In Year Four",
        "terseLabel": "2026"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RevenuePaymentCapAmountDueInYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RevenuePaymentCapAmountDueInYearThree",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRoyaltiesScheduleOfRevenuePaymentCapMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Payment Cap Amount Due In Year Three",
        "terseLabel": "2025",
        "documentation": "Revenue payment cap amount due in year three."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RevenuePaymentCapAmountDueInYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RevenuePaymentCapAmountDueInYearTwo",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRoyaltiesScheduleOfRevenuePaymentCapMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue payment cap amount due in year two.",
        "label": "Revenue Payment Cap Amount Due In Year Two",
        "terseLabel": "2024"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RevenuePaymentCapAmountDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RevenuePaymentCapAmountDueNextTwelveMonths",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRoyaltiesScheduleOfRevenuePaymentCapMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue payment cap amount due next twelve months.",
        "label": "Revenue Payment Cap Amount Due Next Twelve Months",
        "terseLabel": "2023"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuePerformanceObligationDescriptionOfPaymentTerms",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Performance Obligation, Description of Payment Terms",
        "terseLabel": "Description of payment term",
        "documentation": "Description of payment terms in contract with customer. Includes, but is not limited to, timing of payment, existence of financing component, variability of consideration and constraint on variable consideration."
       }
      }
     },
     "auth_ref": [
      "r544"
     ]
    },
    "us-gaap_RevenueRecognitionMultipleDeliverableArrangementsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRecognitionMultipleDeliverableArrangementsLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition, Multiple-deliverable Arrangements [Line Items]",
        "terseLabel": "Revenue Recognition Multiple Deliverable Arrangements [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_RevenueRecognitionMultipleDeliverableArrangementsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRecognitionMultipleDeliverableArrangementsTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfAmountsRecognizedAsRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition, Multiple-deliverable Arrangements [Table]",
        "terseLabel": "Revenue Recognition Multiple Deliverable Arrangements [Table]",
        "documentation": "Summarization of information required and determined to be disclosed concerning the recognition of revenue arrangements under which the entity does or will perform multiple revenue-generating activities, categorized by type of arrangement, including certain revenue arrangements that include software elements. This item does not include multiple-deliverable arrangements for industries that prepare disclosures under specific requirements (for instance, construction-type and production-type contracts) otherwise provided for in the taxonomy."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "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": [
      "r919",
      "r991",
      "r1002"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Revenue during period from performance obligations",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r218"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Revenues",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues",
        "verboseLabel": "Revenue recognized",
        "totalLabel": "Revenues, Total",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r293",
      "r307",
      "r361",
      "r362",
      "r368",
      "r372",
      "r373",
      "r379",
      "r381",
      "r383",
      "r429",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r688",
      "r800",
      "r1140"
     ]
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "terseLabel": "Revenues From External Customers And Long Lived 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": []
    },
    "fgen_ReversalOfAccruedCoPromotionExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ReversalOfAccruedCoPromotionExpenses",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reversal of accrued co-promotion expenses.",
        "label": "Reversal Of Accrued Co Promotion Expenses",
        "terseLabel": "Reversal of accrued co-promotion expenses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Right-of-Use Asset Obtained in Exchange for Finance Lease Liability",
        "terseLabel": "Finance leases",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r724",
      "r1037"
     ]
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "terseLabel": "Operating leases",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r724",
      "r1037"
     ]
    },
    "fgen_RoxadustatDrugProductMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RoxadustatDrugProductMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Roxadustat drug product.",
        "label": "Roxadustat Drug Product [Member]",
        "terseLabel": "Roxadustat [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RoyaltyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RoyaltyMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Royalty [Member]",
        "terseLabel": "Royalty Revenue [Member]",
        "documentation": "Money for usage-based right to asset."
       }
      }
     },
     "auth_ref": [
      "r1147"
     ]
    },
    "fgen_RoyaltyRateOnNetRevenue": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RoyaltyRateOnNetRevenue",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Implied royalty rate used to find the net present value of future cash flows.",
        "label": "Royalty Rate On Net Revenue",
        "terseLabel": "Royalty rate against projected net revenues"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_RsusPrsusAndTsrAwardsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "RsusPrsusAndTsrAwardsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "RSUs, PRSUs and TSR Awards [Member]",
        "label": "RSUs, PRSUs and TSR Awards [Member]",
        "terseLabel": "RSUs, PRSUs and TSR awards [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleOfStockNameOfTransactionDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock [Domain]",
        "terseLabel": "Sale of Stock",
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesReturnsAndAllowancesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesReturnsAndAllowancesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales Returns and Allowances [Member]",
        "terseLabel": "Sales Returns [Member]",
        "documentation": "A revision in the estimated reserve needed for product returns and price or other concessions granted to customers."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Benchmark [Member]",
        "verboseLabel": "Percentage of Revenue [Member]",
        "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": [
      "r383",
      "r1069"
     ]
    },
    "fgen_SalesToFalikangMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "SalesToFalikangMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Sales To Falikang [Member]",
        "documentation": "Sales to Falikang.",
        "label": "Sales To Falikang [Member]",
        "terseLabel": "Sales To Falikang"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "terseLabel": "Schedule of Accrued and Other Current Liabilities",
        "documentation": "Tabular disclosure of the components of accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of activity of liability related to sale of future revenues.",
        "label": "Schedule Of Activity Of Liability Related To Sale Of Future Revenues [Table Text Block]",
        "terseLabel": "Schedule of Activity of Liability Related to Sale of Future Revenues"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRoyaltiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRoyaltiesTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of activity of liability related to sale of future royalties.",
        "label": "Schedule of activity of liability related to sale of future royalties [Table Text Block]",
        "terseLabel": "Schedule of Activity of Liability Related to Sale of Future Royalties"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]",
        "terseLabel": "Schedule Of Antidilutive Securities Excluded From Computation Of Earnings Per Share [Table]",
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]",
        "terseLabel": "Schedule of Weighted Impacts of Outstanding Anti-dilutive Securities Excluded from Calculation of Diluted Net Loss Per Share",
        "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale [Line Items]",
        "terseLabel": "Schedule of Available-for-sale Securities [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": [
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404"
     ]
    },
    "us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Available-for-Sale Securities Reconciliation [Table Text Block]",
        "terseLabel": "Summary of Amortized Cost, Gross Unrealized Holding Gains or Losses, and Fair Value of Investments",
        "documentation": "Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsScheduleOfAllocationOfPurchaseConsiderationBasedOnEstimatedFairValuesOfAcqu"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Allocation of Purchase Consideration Based on Estimated Fair Values of Acquired Assets",
        "label": "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": [
      "r101",
      "r103",
      "r639"
     ]
    },
    "us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfCashAndCashEquivalentsTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Cash and Cash Equivalents [Table Text Block]",
        "terseLabel": "Schedule of Cash and Cash Equivalents",
        "documentation": "Tabular disclosure of the components of cash and cash equivalents."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Table]",
        "terseLabel": "Schedule Of Collaborative Arrangements And Noncollaborative Arrangement Transactions [Table]",
        "documentation": "Disclosure of information about collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r645"
     ]
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Schedule of Components of Provision For Income Taxes",
        "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": [
      "r180"
     ]
    },
    "us-gaap_ScheduleOfDebtInstrumentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDebtInstrumentsTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Senior Secured Term Loan Facilities",
        "label": "Schedule of Long-Term Debt Instruments [Table Text Block]",
        "documentation": "Tabular disclosure of long-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 entity, if longer."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r86",
      "r89",
      "r119",
      "r120",
      "r122",
      "r128",
      "r172",
      "r174",
      "r1012",
      "r1014",
      "r1101"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Schedule of Significant Components of Deferred Tax Assets",
        "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": [
      "r179"
     ]
    },
    "fgen_ScheduleOfDrugProductRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduleOfDrugProductRevenueTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of drug product revenue.",
        "label": "Schedule Of Drug Product Revenue Table [Text Block]",
        "terseLabel": "Schedule of Drug Product Revenue"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Schedule of Reconciliation Between Statutory Federal Income Tax Rate and Effective 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": [
      "r178"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail"
     ],
     "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": [
      "r93"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "terseLabel": "Schedule of Recorded 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": [
      "r93"
     ]
    },
    "us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue by Major Customers, by Reporting Segments [Table]",
        "terseLabel": "Schedule Of Entity Wide Revenue By Major Customers By Reporting Segments [Table]",
        "documentation": "Tabular disclosure about the extent of the entity's reliance on its major customers."
       }
      }
     },
     "auth_ref": [
      "r163"
     ]
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntitySummaryOfEquityMethodInvestmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Axis]",
        "documentation": "Information by name of investment including named security. Excludes entity that is consolidated."
       }
      }
     },
     "auth_ref": [
      "r426",
      "r427",
      "r428"
     ]
    },
    "fgen_ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of income loss before income tax domestic and foreign.",
        "label": "Schedule Of Income Loss Before Income Tax Domestic And Foreign Table [Text Block]",
        "terseLabel": "Schedule of Components of Loss Before Income Taxes"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "terseLabel": "Schedule of Inventory",
        "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": [
      "r32",
      "r141",
      "r142",
      "r143"
     ]
    },
    "us-gaap_ScheduleOfInvestmentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInvestmentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Investments [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of lease assets and related lease liabilities.",
        "label": "Schedule Of Lease Assets And Related Lease Liabilities Table [Text Block]",
        "terseLabel": "Schedule of Lease Assets and Related Lease Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ScheduleOfLeaseTermAndDiscountRateTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduleOfLeaseTermAndDiscountRateTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of lease term and discount rate.",
        "label": "Schedule Of Lease Term And Discount Rate Table [Text Block]",
        "terseLabel": "Schedule of Lease Term and Discount Rate"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ScheduleOfLeasesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduleOfLeasesLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of leases.",
        "label": "Schedule Of Leases [Line Items]",
        "terseLabel": "Schedule Of Leases [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ScheduleOfLeasesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduleOfLeasesTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of leases.",
        "label": "Schedule Of Leases [Table]",
        "terseLabel": "Schedule Of Leases [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of maturities of finance and operating leases liabilities.",
        "label": "Schedule Of Maturities Of Finance And Operating Leases Liabilities Table [Text Block]",
        "terseLabel": "Schedule of Maturities of Finance and Operating Leases Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPropertyAndEquipmentDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "terseLabel": "Schedule Of 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": [
      "r12"
     ]
    },
    "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Allocation of Purchase Consideration Based on Estimated Fair Values of Acquired Assets",
        "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]",
        "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": [
      "r185"
     ]
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Related Party Transactions, by Related Party [Table]",
        "terseLabel": "Schedule Of Related Party Transactions By 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": [
      "r123",
      "r124",
      "r921",
      "r922",
      "r925"
     ]
    },
    "us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]",
        "terseLabel": "Schedule of Customer Concentration by Collaboration Partners and Distribution Entity",
        "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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]",
        "terseLabel": "Schedule Of Revenues From External Customers And Long Lived Assets [Table]",
        "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r69",
      "r145"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByInventoryOwnershipDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "terseLabel": "Schedule Of Segment Reporting Information By Segment [Table]",
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r67",
      "r68",
      "r71"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "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": [
      "r560",
      "r562",
      "r563",
      "r564",
      "r565",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]",
        "terseLabel": "Summary of Stock Option Transactions",
        "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": [
      "r22",
      "r23",
      "r92"
     ]
    },
    "fgen_ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of share based payment award stock options and employee stock purchase plan valuation assumptions.",
        "label": "Schedule Of Share Based Payment Award Stock Options And Employee Stock Purchase Plan Valuation Assumptions Table [Text Block]",
        "terseLabel": "Schedule of Assumptions used to Estimate Fair Value of Stock Options Granted and Employee Stock Purchase Plans"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of share based payments award total shareholders return.",
        "label": "Schedule of share based payments award total shareholders return [Table Text Block]",
        "terseLabel": "Schedule of Assumptions used to Estimate Fair Value of TSR Awards"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of shareBased compensation restricted stock units perfomance based restricted stock and total shareholders return award activity.",
        "label": "Schedule Of ShareBased Compensation Restricted Stock Units Perfomance Based Restricted Stock And Total Shareholders Return Award Activity [TableTextBlock]",
        "terseLabel": "Summary of RSU,PRSU and TSR Awards"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of shares of common stock reserved for future issuance.",
        "label": "Schedule Of Shares Of Common Stock Reserved For Future Issuance Table [Text Block]",
        "terseLabel": "Summary of Common Stock Reserved for Future Issuance"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfStockByClassTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfStockByClassTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Stock by Class [Table]",
        "terseLabel": "Schedule Of Stock By Class [Table]",
        "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r83",
      "r84",
      "r86",
      "r87",
      "r88",
      "r89",
      "r172",
      "r174",
      "r175",
      "r269",
      "r270",
      "r271",
      "r354",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r538",
      "r539",
      "r854",
      "r855",
      "r856",
      "r857",
      "r1016",
      "r1066",
      "r1097"
     ]
    },
    "fgen_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of supplemental cash flow information related to leases.",
        "label": "Schedule Of Supplemental Cash Flow Information Related To Leases Table [Text Block]",
        "terseLabel": "Schedule of Supplemental Cash Flow Information Related to Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]",
        "terseLabel": "Schedule of Reconciliation of the Beginning and Ending Amounts of Unrecognized Income Tax Benefits",
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r1034",
      "r1180"
     ]
    },
    "srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccounts"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]",
        "terseLabel": "Schedule II - Valuation and Qualifying Accounts",
        "documentation": "The entire disclosure for valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r243",
      "r320"
     ]
    },
    "fgen_ScheduledRentCommencementYearOptionOne": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduledRentCommencementYearOptionOne",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rent commencement year option one.",
        "label": "Scheduled Rent Commencement Year Option One",
        "terseLabel": "Rent increase commencement year first option"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ScheduledRentCommencementYearOptionTwo": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ScheduledRentCommencementYearOptionTwo",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Scheduled rent commencement year option two.",
        "label": "Scheduled Rent Commencement Year Option Two",
        "terseLabel": "Rent increase commencement year second option"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]",
        "terseLabel": "Schedule of Significant Balance of Accounts Receivable",
        "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": [
      "r58",
      "r59",
      "r61",
      "r62",
      "r117",
      "r188"
     ]
    },
    "us-gaap_SecuredLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SecuredLongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Senior secured term loan facilities, non-current",
        "label": "Secured Long-Term Debt, Noncurrent",
        "documentation": "Carrying amount of collateralized debt obligations with maturities initially due after one year or beyond the operating cycle, if longer, excluding the current portion. Obligations include, but not limited to, mortgage loans, chattel loans, and other borrowings secured by assets."
       }
      }
     },
     "auth_ref": [
      "r38"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "terseLabel": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r1055"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r1058"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByInventoryOwnershipDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]",
        "terseLabel": "Geographical",
        "documentation": "Geographical area."
       }
      }
     },
     "auth_ref": [
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r381",
      "r382",
      "r879",
      "r882",
      "r884",
      "r950",
      "r955",
      "r960",
      "r965",
      "r979",
      "r980",
      "r981",
      "r982",
      "r983",
      "r984",
      "r985",
      "r986",
      "r987",
      "r993",
      "r1020",
      "r1043",
      "r1146",
      "r1207"
     ]
    },
    "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_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting, Disclosure of Entity's Reportable Segments [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Segment and Geographic Information",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r367",
      "r371",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r383"
     ]
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingInformationLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByInventoryOwnershipDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Information [Line Items]",
        "terseLabel": "Segment Reporting Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling, general and administrative",
        "totalLabel": "Selling, General and Administrative Expense, Total",
        "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": [
      "r152"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfRecordedStockBasedCompensationExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, General and Administrative Expenses [Member]",
        "terseLabel": "Selling, General and Administrative Expenses [Member]",
        "verboseLabel": "Selling, general and administrative [Member]",
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpensesPolicyTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, General and Administrative Expenses, Policy [Policy Text Block]",
        "terseLabel": "Selling, General and Administrative Expenses",
        "documentation": "Disclosure of accounting policy for inclusion of significant items in the selling, general and administrative (or similar) expense report caption."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "fgen_SeniorSecuredLoanAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "SeniorSecuredLoanAgreementMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Senior secured loan agreement",
        "label": "Senior Secured Loan Agreement [member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_SeniorSecuredTermLoanFacilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "SeniorSecuredTermLoanFacilitiesMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Senior Secured Term Loan Facilities [Member]",
        "documentation": "Senior secured term loan facilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SeriesAPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SeriesAPreferredStockMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Series A Preferred Shares [Member]",
        "label": "Series A Preferred Stock [Member]",
        "terseLabel": "Series A [Member]",
        "documentation": "Series A preferred stock."
       }
      }
     },
     "auth_ref": [
      "r1084",
      "r1085",
      "r1144"
     ]
    },
    "us-gaap_SeriesBPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SeriesBPreferredStockMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series B Preferred Stock [Member]",
        "terseLabel": "Series B [Member]",
        "documentation": "Series B preferred stock."
       }
      }
     },
     "auth_ref": [
      "r1084",
      "r1085",
      "r1144"
     ]
    },
    "us-gaap_SeriesCPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SeriesCPreferredStockMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series C Preferred Stock [Member]",
        "terseLabel": "Series C [Member]",
        "documentation": "Series C preferred stock."
       }
      }
     },
     "auth_ref": [
      "r1084",
      "r1085",
      "r1144"
     ]
    },
    "us-gaap_SeriesDPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SeriesDPreferredStockMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series D Preferred Stock [Member]",
        "terseLabel": "Series D [Member]",
        "documentation": "Series D preferred stock."
       }
      }
     },
     "auth_ref": [
      "r1084",
      "r1085",
      "r1144"
     ]
    },
    "us-gaap_SeriesEPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SeriesEPreferredStockMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series E Preferred Stock [Member]",
        "terseLabel": "Series E [Member]",
        "documentation": "Series E preferred stock."
       }
      }
     },
     "auth_ref": [
      "r1084",
      "r1085",
      "r1144"
     ]
    },
    "us-gaap_SeriesFPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SeriesFPreferredStockMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series F Preferred Stock [Member]",
        "terseLabel": "Series F [Member]",
        "documentation": "Series F preferred stock."
       }
      }
     },
     "auth_ref": [
      "r1084",
      "r1085",
      "r1144"
     ]
    },
    "us-gaap_SeriesGPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SeriesGPreferredStockMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series G Preferred Stock [Member]",
        "terseLabel": "Series G [Member]",
        "documentation": "Series G preferred stock."
       }
      }
     },
     "auth_ref": [
      "r1084",
      "r1085",
      "r1144"
     ]
    },
    "us-gaap_SeriesHPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SeriesHPreferredStockMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series H Preferred Stock [Member]",
        "terseLabel": "Series H [Member]",
        "documentation": "Series H preferred stock."
       }
      }
     },
     "auth_ref": [
      "r1084",
      "r1085",
      "r1144"
     ]
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "terseLabel": "Stock-based compensation",
        "totalLabel": "Share-Based Payment Arrangement, Noncash Expense, Total",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period",
        "terseLabel": "Vesting period of stock options",
        "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": [
      "r1032"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights",
        "terseLabel": "Option vesting term",
        "documentation": "Description of service or performance condition required to be met for earning right to award under share-based payment arrangement. Includes, but is not limited to, combination of market, performance or service condition."
       }
      }
     },
     "auth_ref": [
      "r91"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Discount from Market Price, Purchase Date",
        "terseLabel": "Purchase of common stock shares at discount",
        "documentation": "Discount rate from fair value on purchase date that participants pay for shares."
       }
      }
     },
     "auth_ref": [
      "r90"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedLabel": "Forfeited, Shares",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r580"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail"
     ],
     "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": "Forfeited, Weighted Average Fair value at Grant",
        "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": [
      "r580"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Granted, Shares",
        "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": [
      "r578"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "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",
        "verboseLabel": "Weighted-average fair value of awards granted",
        "terseLabel": "Granted, Weighted Average Fair value at Grant",
        "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": [
      "r578"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail": {
       "parentTag": "fgen_CommonStockSharesReserved",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Unvested, Shares, Ending Balance",
        "periodStartLabel": "Unvested, Shares, Beginning Balance",
        "terseLabel": "RSUs 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": [
      "r575",
      "r576"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodStartLabel": "Unvested, Weighted Average Fair value at Grant, Beginning Balance",
        "periodEndLabel": "Unvested, Weighted Average Fair value at Grant, Ending Balance",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r575",
      "r576"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Vested, Shares",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r579"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail"
     ],
     "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": "Vested, Weighted Average Fair value at Grant",
        "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": [
      "r579"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Date",
        "terseLabel": "Termination date of equity incentive plan",
        "documentation": "Date the equity-based award expires, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r1150"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail"
     ],
     "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": [
      "r589"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate",
        "terseLabel": "Expected volatility",
        "documentation": "The estimated measure of the 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": [
      "r588"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum",
        "terseLabel": "Expected volatility, 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.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum",
        "terseLabel": "Expected volatility, 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "terseLabel": "Risk-free interest rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r590"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail"
     ],
     "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.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail"
     ],
     "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.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "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": [
      "r560",
      "r562",
      "r563",
      "r564",
      "r565",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail": {
       "parentTag": "fgen_CommonStockSharesReserved",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant",
        "terseLabel": "Shares reserved for future stock options and RSUs grant",
        "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": [
      "r90"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "terseLabel": "Exercisable, Shares",
        "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": [
      "r569"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "terseLabel": "Exercisable, Weighted Average Exercise Price per Share",
        "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": [
      "r569"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period",
        "negatedLabel": "Expired, Shares",
        "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements."
       }
      }
     },
     "auth_ref": [
      "r574"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period",
        "negatedLabel": "Forfeited, Shares",
        "documentation": "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."
       }
      }
     },
     "auth_ref": [
      "r573"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross",
        "terseLabel": "Granted, Shares",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r571"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "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 estimated fair value",
        "verboseLabel": "Weighted average fair value of stock options 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": [
      "r581"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Other Increases (Decreases) in Period, Description",
        "terseLabel": "Common stock reserved for future issuance, Description",
        "documentation": "Sets forth the nature of any other increase or decrease in the number of shares reserved for issuance under the option plan."
       }
      }
     },
     "auth_ref": [
      "r92"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value",
        "terseLabel": "Outstanding, Aggregate Intrinsic Value",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r90"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail": {
       "parentTag": "fgen_CommonStockSharesReserved",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Outstanding, Ending Balance, Shares",
        "periodStartLabel": "Outstanding, Beginning Balance, Shares",
        "terseLabel": "Stock options outstanding",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r567",
      "r568"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Period Increase (Decrease)",
        "verboseLabel": "Increase in number of shares of common stock reserved for future issuance, shares",
        "totalLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Period Increase (Decrease), Total",
        "documentation": "The increase or decrease in number of shares reserved for issuance under stock option agreements awarded under the plan that validly exist and are outstanding, including vested options."
       }
      }
     },
     "auth_ref": [
      "r1155"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Outstanding, Ending Balance, Weighted Average Exercise Price per Share",
        "periodStartLabel": "Outstanding, Beginning Balance, Weighted Average Exercise Price per Share",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r567",
      "r568"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value",
        "terseLabel": "Vested and expected to vest, 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": [
      "r583"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number",
        "terseLabel": "Vested and expected to vest, Shares",
        "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": [
      "r583"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price",
        "terseLabel": "Vested and expected to vest, Weighted Average Exercise per Share",
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for 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": [
      "r583"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Percentage of Outstanding Stock Maximum",
        "terseLabel": "Percentage of common stock reserved for future issuance",
        "verboseLabel": "Percentage of common stock reserved for future issuance",
        "documentation": "Maximum number of shares that may be issued in accordance with the plan as a proportion of outstanding capital stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSummaryOfRsuprsuAndTsrAwardsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Award Types",
        "terseLabel": "Award Type",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r563",
      "r564",
      "r565",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "terseLabel": "Exercised, Weighted Average Exercise Price per Share",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price",
        "terseLabel": "Expired, Weighted Average Exercise Price per Share",
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired."
       }
      }
     },
     "auth_ref": [
      "r574"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price",
        "terseLabel": "Forfeited, Weighted Average Exercise Price per Share",
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated."
       }
      }
     },
     "auth_ref": [
      "r573"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "terseLabel": "Granted, Weighted Average Exercise Price per Share",
        "verboseLabel": "Weighted average fair value of stock options granted",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r571"
     ]
    },
    "us-gaap_ShareBasedCompensationAwardTrancheOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Tranche One [Member]",
        "terseLabel": "First Anniversary [Member]",
        "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_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "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": [
      "r559",
      "r566",
      "r585",
      "r586",
      "r587",
      "r588",
      "r591",
      "r597",
      "r598",
      "r599",
      "r600"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage",
        "terseLabel": "Percentage of vesting rights",
        "documentation": "Percentage of vesting of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1149"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period",
        "terseLabel": "Expiration period of stock options",
        "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": [
      "r1033"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail"
     ],
     "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": [
      "r587"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value",
        "terseLabel": "Exercisable, Aggregate Intrinsic Value",
        "verboseLabel": "Total intrinsic value of options exercised",
        "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": [
      "r90"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "terseLabel": "Exercisable, Weighted Average Remaining Contractual Life",
        "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": [
      "r90"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Outstanding, Weighted Average Remaining Contractual Life",
        "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": [
      "r177"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Vested and expected to vest, Weighted Average Remaining Contractual Life",
        "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": [
      "r583"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares vested",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested, Number of Shares",
        "documentation": "Number of options vested."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent",
        "terseLabel": "Percentage of fair value exercise price grant date",
        "verboseLabel": "Percentage of fair value exercise price grant date",
        "documentation": "Purchase price of common stock expressed as a percentage of its fair value."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_SharedDevelopmentCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "SharedDevelopmentCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the total amount of development costs that will be shared under collaborative agreement.",
        "label": "Shared Development Costs",
        "terseLabel": "Shared development costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders' Equity and Share-Based Payments [Text Block]",
        "terseLabel": "Equity and Stock-based Compensation",
        "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP)."
       }
      }
     },
     "auth_ref": [
      "r171",
      "r176"
     ]
    },
    "fgen_ShareholdersEquityAndStockBasedCompensationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ShareholdersEquityAndStockBasedCompensationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shareholders equity and stock-based compensation.",
        "label": "Shareholders Equity And Stock Based Compensation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares issued from stock plans net of payroll taxes paid shares.",
        "label": "Shares Issued From Stock Plans Net Of Payroll Taxes Paid Shares",
        "terseLabel": "Shares issued from stock plans, net of payroll taxes paid, Shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares, Outstanding",
        "periodEndLabel": "Balance, Shares",
        "periodStartLabel": "Balance, Shares",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ShorensteinPropertiesLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ShorensteinPropertiesLLCMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shorenstein properties LLC.",
        "label": "Shorenstein Properties L L C [Member]",
        "terseLabel": "Shorenstein Properties LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermInvestments",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Investments",
        "terseLabel": "Short-term investments",
        "totalLabel": "Short-Term Investments, Total",
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r195",
      "r1089"
     ]
    },
    "fgen_ShortTermInvestmentsMaximumMaturityPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ShortTermInvestmentsMaximumMaturityPeriod",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Short term investments maximum maturity period.",
        "label": "Short Term Investments Maximum Maturity Period",
        "terseLabel": "Short term investments maturity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies"
     ],
     "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": [
      "r161",
      "r305"
     ]
    },
    "us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Change in Unrecognized Tax Benefits is Reasonably Possible, Estimated Range Not Possible",
        "terseLabel": "Unrecognized tax benefits description",
        "documentation": "A statement that a range of reasonably possible change cannot be made for a tax position taken for which it is reasonably possible that the total amount of unrecognized tax benefit will significantly increase or decrease within 12 months of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r97"
     ]
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StateAndLocalJurisdictionMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State and Local Jurisdiction [Member]",
        "terseLabel": "State [Member]",
        "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.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Axis]",
        "terseLabel": "Class of Stock",
        "documentation": "Information by the different classes of stock of the entity."
       }
      }
     },
     "auth_ref": [
      "r225",
      "r269",
      "r270",
      "r271",
      "r307",
      "r343",
      "r344",
      "r346",
      "r348",
      "r354",
      "r355",
      "r429",
      "r493",
      "r495",
      "r496",
      "r497",
      "r500",
      "r501",
      "r532",
      "r533",
      "r535",
      "r536",
      "r539",
      "r688",
      "r854",
      "r855",
      "r856",
      "r857",
      "r865",
      "r866",
      "r867",
      "r868",
      "r869",
      "r870",
      "r871",
      "r872",
      "r873",
      "r874",
      "r875",
      "r877",
      "r896",
      "r918",
      "r941",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974",
      "r1066",
      "r1097",
      "r1110"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r42",
      "r257",
      "r289",
      "r290",
      "r291",
      "r321",
      "r322",
      "r323",
      "r326",
      "r336",
      "r338",
      "r353",
      "r433",
      "r439",
      "r540",
      "r594",
      "r595",
      "r596",
      "r628",
      "r629",
      "r656",
      "r658",
      "r659",
      "r660",
      "r661",
      "r663",
      "r673",
      "r694",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r732",
      "r837",
      "r838",
      "r839",
      "r865",
      "r941"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByInventoryOwnershipDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "terseLabel": "Geographical",
        "documentation": "Information by geographical components."
       }
      }
     },
     "auth_ref": [
      "r244",
      "r253",
      "r381",
      "r382",
      "r879",
      "r882",
      "r884",
      "r950",
      "r955",
      "r960",
      "r965",
      "r976",
      "r979",
      "r980",
      "r981",
      "r982",
      "r983",
      "r984",
      "r985",
      "r986",
      "r987",
      "r993",
      "r1020",
      "r1043",
      "r1146",
      "r1207"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical",
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "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": [
      "r321",
      "r322",
      "r323",
      "r353",
      "r777",
      "r849",
      "r877",
      "r888",
      "r889",
      "r890",
      "r891",
      "r892",
      "r893",
      "r896",
      "r899",
      "r900",
      "r901",
      "r902",
      "r903",
      "r905",
      "r906",
      "r907",
      "r908",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r916",
      "r919",
      "r920",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937",
      "r938",
      "r941",
      "r1044"
     ]
    },
    "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_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Comprehensive Income [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.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical",
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "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": [
      "r321",
      "r322",
      "r323",
      "r353",
      "r777",
      "r849",
      "r877",
      "r888",
      "r889",
      "r890",
      "r891",
      "r892",
      "r893",
      "r896",
      "r899",
      "r900",
      "r901",
      "r902",
      "r903",
      "r905",
      "r906",
      "r907",
      "r908",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r916",
      "r919",
      "r920",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937",
      "r938",
      "r941",
      "r1044"
     ]
    },
    "us-gaap_StockCompensationPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockCompensationPlanMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfStockOptionsGrantedAndEmployeeStockPurchasePlansDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Member]",
        "terseLabel": "Employee stock purchase plans [Member]",
        "documentation": "Share-based payment arrangement in which award of equity shares are granted. Arrangement includes, but is not limited to, grantor incurring liability for product and service based on price of its shares."
       }
      }
     },
     "auth_ref": [
      "r1111"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesAcquisitions",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Consolidation of Fortis (Note 4)",
        "label": "Stock Issued During Period, Shares, Acquisitions",
        "documentation": "Number of shares of stock issued during the period pursuant to acquisitions."
       }
      }
     },
     "auth_ref": [
      "r134",
      "r135",
      "r175"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans",
        "verboseLabel": "Shares purchased by employees",
        "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r134",
      "r135",
      "r175"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock under ATM Program shares",
        "label": "Stock Issued During Period, Shares, New Issues",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r134",
      "r135",
      "r175",
      "r854",
      "r941",
      "r971"
     ]
    },
    "fgen_StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansSummaryOfStockOptionTransactionsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock issued during period shares stock options exercised full year.",
        "label": "Stock Issued During Period Shares Stock Options Exercised Full Year",
        "negatedLabel": "Exercised, Shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock under ATM Program",
        "label": "Stock Issued During Period, Value, New Issues",
        "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": [
      "r20",
      "r134",
      "r135",
      "r175",
      "r865",
      "r941",
      "r971",
      "r1053"
     ]
    },
    "fgen_StockOptionAwardsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "StockOptionAwardsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockBasedCompensationAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock option awards.",
        "label": "Stock Option Awards [Member]",
        "terseLabel": "Stock Option Awards [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchased During Period, Shares",
        "terseLabel": "Number of common stock repurchased",
        "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": [
      "r20",
      "r134",
      "r135",
      "r175",
      "r857",
      "r941",
      "r973"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders' deficit attributable to FibroGen",
        "label": "Equity, Attributable to Parent",
        "periodStartLabel": "Stockholders' Equity Attributable to Parent, Beginning Balance",
        "periodEndLabel": "Stockholders' Equity Attributable to Parent, Ending Balance",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r138",
      "r139",
      "r164",
      "r898",
      "r915",
      "r942",
      "r943",
      "r1038",
      "r1054",
      "r1099",
      "r1125",
      "r1189",
      "r1213"
     ]
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets",
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deficit",
        "label": "Equity, Including Portion Attributable to Noncontrolling Interest",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r107",
      "r108",
      "r113",
      "r257",
      "r258",
      "r290",
      "r321",
      "r322",
      "r323",
      "r326",
      "r336",
      "r433",
      "r439",
      "r540",
      "r594",
      "r595",
      "r596",
      "r628",
      "r629",
      "r656",
      "r658",
      "r659",
      "r660",
      "r661",
      "r663",
      "r673",
      "r694",
      "r696",
      "r700",
      "r732",
      "r838",
      "r839",
      "r863",
      "r898",
      "r915",
      "r942",
      "r943",
      "r975",
      "r1053",
      "r1099",
      "r1125",
      "r1189",
      "r1213"
     ]
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stockholders' deficit:",
        "label": "Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubleaseIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubleaseIncome",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseExpenseDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sublease Income",
        "negatedLabel": "Sublease income",
        "documentation": "Amount of sublease income excluding finance and operating lease expense."
       }
      }
     },
     "auth_ref": [
      "r722",
      "r1037"
     ]
    },
    "us-gaap_SubsequentEventLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Line Items]",
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event."
       }
      }
     },
     "auth_ref": [
      "r701",
      "r741"
     ]
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r701",
      "r741"
     ]
    },
    "us-gaap_SubsequentEventTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Table]",
        "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued."
       }
      }
     },
     "auth_ref": [
      "r701",
      "r741"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r701",
      "r741"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r701",
      "r741"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEvent1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event",
        "label": "Subsequent Events [Text Block]",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r740",
      "r742"
     ]
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsidiarySaleOfStockAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationSubsidiaryStockAndNoncontrollingInterestsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationSummaryOfCommonStockReservedForFutureIssuanceDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock [Axis]",
        "terseLabel": "Sale of Stock",
        "documentation": "Information by type of sale of the entity's stock."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summary of Finance and Operating Lease Right of Use Assets by Geographical Location.",
        "label": "Summary Of Finance And Operating Lease Right Of Use Assets By Geographical Location Table [Text Block]",
        "terseLabel": "Summary of Finance and Operating Lease Right of Use Assets by Geographical Location"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Balance Sheet Disclosures [Text Block]",
        "terseLabel": "Balance Sheet Components",
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity."
       }
      }
     },
     "auth_ref": [
      "r1081"
     ]
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Supplies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Supplies",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail": {
       "parentTag": "fgen_SuppliesNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Supplies",
        "verboseLabel": "Unbilled contract asset",
        "terseLabel": "Contract assets",
        "documentation": "Amount of consideration paid in advance for supplies that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r997",
      "r1010",
      "r1127"
     ]
    },
    "fgen_SuppliesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "SuppliesNet",
     "crdr": "debit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net contract assets",
        "verboseLabel": "Net unbilled milestone and co-development revenue",
        "documentation": "Supplies, net.",
        "label": "Supplies Net",
        "terseLabel": "Net unbilled co-development revenue"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TaxPeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxPeriodAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Period [Axis]",
        "terseLabel": "Tax Period",
        "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.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Period [Domain]",
        "terseLabel": "Tax Period",
        "documentation": "Identified tax period."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_TermLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "TermLoanMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term loan.",
        "label": "Term loan [Member]",
        "verboseLabel": "Term Loan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_ThirdPartyShareholdersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ThirdPartyShareholdersMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Third Party Shareholders [Member]",
        "documentation": "Third party shareholders."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_TotalShareholderReturnAwardsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "TotalShareholderReturnAwardsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockBasedCompensationScheduleOfAssumptionsUsedToEstimateFairValueOfTsrAwardsDetails",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total shareholder return awards.",
        "label": "Total Shareholder Return Awards [Member]",
        "terseLabel": "TSR [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Policy Text Block]",
        "terseLabel": "Trade Accounts Receivable",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r200",
      "r201",
      "r202",
      "r386",
      "r387",
      "r389"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "fgen_TransactionCostsRelatedToSaleOfFutureRevenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "TransactionCostsRelatedToSaleOfFutureRevenues",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Transaction costs related to sale of future revenues.",
        "label": "Transaction Costs Related To Sale Of Future Revenues",
        "terseLabel": "Less: Transaction costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TransactionDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transaction [Domain]",
        "terseLabel": "Transaction",
        "documentation": "Agreement between buyer and seller for the exchange of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r1000"
     ]
    },
    "fgen_TransactionPriceAllocatedToPerformanceObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "TransactionPriceAllocatedToPerformanceObligations",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Transaction price allocated to performance obligations.",
        "label": "Transaction Price Allocated To Performance Obligations",
        "terseLabel": "Transaction price and allocated to performance obligations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransactionTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TransactionTypeAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transaction Type [Axis]",
        "terseLabel": "Transaction Type",
        "documentation": "Information by type of agreement between buyer and seller for the exchange of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r1000"
     ]
    },
    "fgen_TransferPriceTrueUp": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "TransferPriceTrueUp",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Transfer price true up.",
        "label": "Transfer Price True Up",
        "terseLabel": "Transfer price true up"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instruments [Domain]",
        "terseLabel": "Financial Instruments",
        "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms."
       }
      }
     },
     "auth_ref": [
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r527",
      "r538",
      "r664",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r750",
      "r751",
      "r752",
      "r753",
      "r754",
      "r755",
      "r756",
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765",
      "r766",
      "r767",
      "r768",
      "r769",
      "r770",
      "r771",
      "r772",
      "r822",
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1119",
      "r1120",
      "r1121",
      "r1122"
     ]
    },
    "us-gaap_TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TranslationAdjustmentFunctionalToReportingCurrencyNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Translation Adjustment Functional to Reporting Currency, Net of Tax",
        "terseLabel": "Currency translation adjustment",
        "periodStartLabel": "Translation Adjustment Functional to Reporting Currency, Net of Tax, Beginning Balance",
        "periodEndLabel": "Translation Adjustment Functional to Reporting Currency, Net of Tax, Ending Balance",
        "documentation": "Amount of cumulative translation gain (loss), after tax, from translating foreign currency financial statements into the reporting currency."
       }
      }
     },
     "auth_ref": [
      "r144",
      "r1191"
     ]
    },
    "fgen_TwoThousandAndFiveStockPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "TwoThousandAndFiveStockPlanMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two thousand and five stock plan.",
        "label": "Two Thousand And Five Stock Plan [Member]",
        "terseLabel": "2005 Stock Plan"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_TwoThousandAndFourteenEmployeeStockPurchasePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "TwoThousandAndFourteenEmployeeStockPurchasePlanMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationEmployeeStockPurchasePlanAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two thousand and fourteen employee stock purchase plan.",
        "label": "Two Thousand And Fourteen Employee Stock Purchase Plan [Member]",
        "terseLabel": "2014 ESPP [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_TwoThousandAndFourteenEquityIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "TwoThousandAndFourteenEquityIncentivePlanMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two thousand and fourteen equity incentive plan.",
        "label": "Two Thousand And Fourteen Equity Incentive Plan [Member]",
        "terseLabel": "2014 Equity Incentive Plan"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TypeOfAdoptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TypeOfAdoptionMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesEluminexAgreementAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update [Domain]",
        "terseLabel": "Accounting Standards Update",
        "documentation": "Amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r325",
      "r326",
      "r327",
      "r328",
      "r339",
      "r390",
      "r391",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r480",
      "r594",
      "r595",
      "r596",
      "r626",
      "r627",
      "r628",
      "r629",
      "r641",
      "r642",
      "r643",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r686",
      "r687",
      "r689",
      "r690",
      "r691",
      "r692",
      "r702",
      "r703",
      "r706",
      "r707",
      "r708",
      "r709",
      "r728",
      "r729",
      "r730",
      "r731",
      "r732",
      "r779",
      "r780",
      "r781",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846"
     ]
    },
    "us-gaap_TypeOfArrangementAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TypeOfArrangementAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSubsequentEventAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsAlongWithAssociatedDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfCustomerConcentrationByCollaborationPartnersAndDistributionEntityDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfSignificantBalanceOfAccountsReceivableDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperationsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]",
        "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative",
        "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r645"
     ]
    },
    "us-gaap_TypeOfCostGoodOrServiceExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TypeOfCostGoodOrServiceExtensibleList",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost, Product and Service [Extensible Enumeration]",
        "terseLabel": "Cost, Product and Service [Extensible List]",
        "documentation": "Indicates type of cost from product sold and service rendered."
       }
      }
     },
     "auth_ref": [
      "r1147"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesRollforwardOfRelatedContractLiabilitiesDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfInventoryByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfLongLivedAssetsByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationScheduleOfRevenueByGeographicAreaDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSegmentAndGeographicInformationSummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "terseLabel": "U.S. [Member]",
        "verboseLabel": "United States [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_USGovernmentBondsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "USGovernmentBondsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureFairValueMeasurementsFairValuesOfFinancialAssetsMeasuredOnRecurringBasisDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "U.S. government bonds.",
        "label": "U S Government Bonds [Member]",
        "terseLabel": "U.S. government bonds [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_USGovernmentSecuritiesAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "USGovernmentSecuritiesAtCarryingValue",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsScheduleOfCashAndCashEquivalentsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "U.S. government bonds",
        "label": "US Government Securities, at Carrying Value",
        "documentation": "Debt (bills, notes or bonds) that are issued by the government of the United States which are 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. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_USTreasuryAndGovernmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "USTreasuryAndGovernmentMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureBalanceSheetComponentsSummaryOfAvailableForSaleSecuritiesInUnrealizedLossPositionFairValueAndGrossUnrealizedLossByLengthOfTim",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureBalanceSheetComponentsSummaryOfAmortizedCostGrossUnrealizedHoldingGainsOrLossesAndFairValueOfAvailableForSaleInvestmentsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "US Treasury and Government [Member]",
        "terseLabel": "U.S. government bonds [Member]",
        "documentation": "This category includes investments in debt securities issued by the United States Department of the Treasury, US Government Agencies and US Government-sponsored Enterprises. Such securities may include treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years), debt securities issued by the Government National Mortgage Association (Ginnie Mae) and debt securities issued by the Federal National Mortgage Association (Fannie Mae) or the Federal Home Loan Mortgage Corporation (Freddie Mac)."
       }
      }
     },
     "auth_ref": [
      "r801",
      "r1026",
      "r1208"
     ]
    },
    "fgen_UnamortizedIssuanceCostsAndTransactionCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "UnamortizedIssuanceCostsAndTransactionCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesSummaryOfSeniorSecuredTermLoanFacilitiesDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Less: Unamortized issuance costs and transaction costs",
        "label": "Unamortized Issuance Costs and Transaction Costs",
        "documentation": "Unamortized issuance costs and transaction costs."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnconditionalPurchaseObligationsExcludingCapitalStockRedemptionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnconditionalPurchaseObligationsExcludingCapitalStockRedemptionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Unconditional Purchase Obligations (Excluding Capital Stock Redemptions) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_UnitedStatesAndRestOfWorldAndChinaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "UnitedStatesAndRestOfWorldAndChinaMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "United states and rest of world and china.",
        "label": "United States And Rest Of World And China [Member]",
        "terseLabel": "U.S./RoW and China [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_UnitedStatesAndRestOfWorldMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "UnitedStatesAndRestOfWorldMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueParentheticalDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "United states and rest of world.",
        "label": "United States And Rest Of World [Member]",
        "terseLabel": "U.S./RoW [Member]",
        "verboseLabel": "U.S./RoW [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_UnitedStatesRestOfWorldAndChinaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "UnitedStatesRestOfWorldAndChinaMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTables",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfLicenseRevenueAndDevelopmentRevenueRecognizedUnderAgreementDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesTransactionPriceRelatedToConsiderationReceivedAndAccountsReceivableAllocatedToPerformanceObligationsDeferredRevenueDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "United States/Rest of World and China.",
        "label": "United States Rest Of World And China [Member]",
        "verboseLabel": "U.S./RoW and China [Member]",
        "terseLabel": "U.S./RoW and China [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_UnrealizedLossGainOnEquityInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "UnrealizedLossGainOnEquityInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unrealized loss (gain) on equity investments.",
        "label": "Unrealized Loss Gain On Equity Investments",
        "negatedLabel": "Unrealized loss on equity investments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefits",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Ending Balance",
        "periodStartLabel": "Beginning balance",
        "terseLabel": "Unrecognized tax benefits",
        "documentation": "Amount of unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r606",
      "r613"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions",
        "negatedLabel": "Decrease due to prior positions",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r614"
     ]
    },
    "fgen_UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unrecognized tax benefits, increase (decrease) resulting from foreign currency translation.",
        "label": "Unrecognized Tax Benefits, Increase (Decrease) Resulting from Foreign Currency Translation",
        "terseLabel": "Foreign exchange rate differential"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions",
        "terseLabel": "Increase due to current year position",
        "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": [
      "r615"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesReconciliationOfBeginningAndEndingAmountsOfUnrecognizedIncomeTaxBenefitsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions",
        "terseLabel": "Increase due to prior positions",
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r614"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Interest on Income Taxes Accrued",
        "terseLabel": "Accrued interest, unrecognized tax benefits",
        "documentation": "Amount of interest expense accrued for an underpayment of income taxes."
       }
      }
     },
     "auth_ref": [
      "r1178"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate",
        "terseLabel": "Unrecognized tax benefits that would affect effective tax rate",
        "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate."
       }
      }
     },
     "auth_ref": [
      "r616"
     ]
    },
    "fgen_UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureSeniorSecuredTermLoanFacilitiesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrestricted cash and cash equivalent balance required to maintain in accounts",
        "label": "Unrestricted Cash And Cash Equivalent Balance Maintain In Accounts",
        "documentation": "Unrestricted cash and cash equivalent balance maintain in accounts."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "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": [
      "r63",
      "r64",
      "r65",
      "r212",
      "r213",
      "r216",
      "r217"
     ]
    },
    "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount",
        "terseLabel": "Increase in valuation allowance",
        "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset."
       }
      }
     },
     "auth_ref": [
      "r619"
     ]
    },
    "us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowanceOfDeferredTaxAssetsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation Allowance, Deferred Tax Asset [Member]",
        "terseLabel": "Valuation Allowances for Deferred Tax Assets [Member]",
        "documentation": "Valuation allowance of deferred tax asset attributable to deductible temporary difference and carryforward."
       }
      }
     },
     "auth_ref": [
      "r1102",
      "r1103",
      "r1104",
      "r1105",
      "r1106"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesBalance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesBalance",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount",
        "periodEndLabel": "Balance at End of Year",
        "periodStartLabel": "Balance at Beginning of Year",
        "documentation": "Amount of valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r313",
      "r319"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense",
        "terseLabel": "Charged (Credited) to Statement of Operation",
        "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense."
       }
      }
     },
     "auth_ref": [
      "r316"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesChargedToOtherAccounts",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Other Account",
        "terseLabel": "Charged to Other Accounts - Liabilities and Equity",
        "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to accounts other than cost and expense."
       }
      }
     },
     "auth_ref": [
      "r317"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesDeductions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesDeductions",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction",
        "negatedLabel": "Deductions, Net",
        "documentation": "Amount of decrease in valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r318"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]",
        "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves",
        "documentation": "Valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r313",
      "r314",
      "r315",
      "r318",
      "r319"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesDrugProductRevenueSummaryOfDrugProductRevenueDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesProductRevenueNetAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfProductRevenueNetDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureLiabilityRelatedToSaleOfFutureRevenuesAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstrazenecaAgreementsAdditionalInformation1Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]",
        "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type",
        "documentation": "Information by valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r313",
      "r314",
      "r315",
      "r318",
      "r319"
     ]
    },
    "fgen_ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation Allowances for Rebates, Discounts and Adjustments [Member]",
        "label": "Valuation Allowances for Rebates, Discounts and Adjustments [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ValuationAndQualifyingAccountsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ValuationAndQualifyingAccountsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ValuationAndQualifyingAccountsDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ValuationAndQualifyingAccountsDisclosureLineItems",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]",
        "terseLabel": "Valuation And Qualifying Accounts Disclosure [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": [
      "r243",
      "r313",
      "r314",
      "r315",
      "r318",
      "r319"
     ]
    },
    "srt_ValuationAndQualifyingAccountsDisclosureTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ValuationAndQualifyingAccountsDisclosureTable",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureScheduleIIValuationAndQualifyingAccountsDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]",
        "terseLabel": "Valuation And Qualifying Accounts Disclosure [Table]",
        "documentation": "Disclosure of valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r243",
      "r313",
      "r314",
      "r315",
      "r318",
      "r319"
     ]
    },
    "us-gaap_ValuationTechniqueAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationTechniqueAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Approach and Technique [Axis]",
        "terseLabel": "Valuation Approach and Technique",
        "documentation": "Information by valuation approach and technique."
       }
      }
     },
     "auth_ref": [
      "r21"
     ]
    },
    "us-gaap_ValuationTechniqueDiscountedCashFlowMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationTechniqueDiscountedCashFlowMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Technique, Discounted Cash Flow [Member]",
        "terseLabel": "Discounted Cash Flow [Member]",
        "documentation": "Valuation technique calculating present value of future cash flows."
       }
      }
     },
     "auth_ref": [
      "r1187"
     ]
    },
    "us-gaap_ValuationTechniqueDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationTechniqueDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureExclusiveLicenseAndOptionToAcquireFortisTherapeuticsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Approach and Technique [Domain]",
        "terseLabel": "Valuation Approach and Technique",
        "documentation": "Valuation approach and technique."
       }
      }
     },
     "auth_ref": [
      "r21"
     ]
    },
    "fgen_VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAstellasAgreementsAdditionalInformationDetail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesSummaryOfRevenueRecognizedUnderCollaborationAgreementsAdditionalInformation4Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Variable consideration payment received from estimated future co-development billing.",
        "label": "Variable Consideration Payment Received From Estimated Future Co Development Billing",
        "terseLabel": "Transaction price, variable consideration from estimated future co-development billing"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Variable consideration payment received related to co-development billings.",
        "label": "Variable Consideration Payment Received Related To Co Development Billings",
        "terseLabel": "Variable consideration related to co-development billings"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_VariableConsiderationPaymentReceivedUponAchievementOfMilestone": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "VariableConsiderationPaymentReceivedUponAchievementOfMilestone",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstellasAgreementsAdditionalInformation2Detail",
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Variable consideration payment received upon achievement of milestone.",
        "label": "Variable Consideration Payment Received Upon Achievement Of Milestone",
        "terseLabel": "Variable consideration related to payments for milestones considered probable of being achieved"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_VariableConsiderationRelatedToProfitShare": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "VariableConsiderationRelatedToProfitShare",
     "crdr": "debit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureCollaborationAgreementsLicenseAgreementAndRevenuesAccountingForAstrazenecaAgreementsAdditionalInformation3Detail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Variable consideration related to profit share.",
        "label": "Variable Consideration Related To Profit Share",
        "terseLabel": "Variable consideration related to profit share"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VariableInterestEntityDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableInterestEntityDisclosureTextBlock",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityMethodInvestmentVariableInterestEntity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Interest Entity Disclosure [Text Block]",
        "terseLabel": "Equity Method Investment - Variable Interest Entity",
        "documentation": "The entire disclosure for a variable interest entity (VIE), including but not limited to, judgments and assumptions in determining whether to consolidate and in identifying the primary beneficiary, gain (loss) recognized on the initial consolidation of the VIE, terms of arrangements, amounts and classification of the VIE's assets and liabilities, and the entity's maximum exposure to loss."
       }
      }
     },
     "auth_ref": [
      "r186"
     ]
    },
    "us-gaap_VariableInterestEntityOwnershipPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableInterestEntityOwnershipPercentage",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Interest Entity, Qualitative or Quantitative Information, Ownership Percentage",
        "terseLabel": "Percentage of outstanding shares owned",
        "documentation": "Percentage of the Variable Interest Entity's (VIE) voting interest owned by (or beneficial interest in) the reporting entity (directly or indirectly)."
       }
      }
     },
     "auth_ref": [
      "r112"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Axis]",
        "terseLabel": "Variable Rate",
        "documentation": "Information by type of variable rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VariableRateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureProductDevelopmentObligationsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Domain]",
        "terseLabel": "Variable Rate",
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VestingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingAxis",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting [Axis]",
        "terseLabel": "Vesting",
        "documentation": "Information by vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1149",
      "r1150",
      "r1151",
      "r1152",
      "r1153",
      "r1154",
      "r1155",
      "r1156",
      "r1157",
      "r1158",
      "r1159",
      "r1160",
      "r1161",
      "r1162",
      "r1163",
      "r1164",
      "r1165",
      "r1166",
      "r1167",
      "r1168",
      "r1169",
      "r1170",
      "r1171",
      "r1172",
      "r1173",
      "r1174"
     ]
    },
    "us-gaap_VestingDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingDomain",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureEquityAndStockBasedCompensationStockPlansAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting [Domain]",
        "terseLabel": "Vesting",
        "documentation": "Vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1149",
      "r1150",
      "r1151",
      "r1152",
      "r1153",
      "r1154",
      "r1155",
      "r1156",
      "r1157",
      "r1158",
      "r1159",
      "r1160",
      "r1161",
      "r1162",
      "r1163",
      "r1164",
      "r1165",
      "r1166",
      "r1167",
      "r1168",
      "r1169",
      "r1170",
      "r1171",
      "r1172",
      "r1173",
      "r1174"
     ]
    },
    "fgen_WarrantExercisedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "WarrantExercisedDuringPeriodShares",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Warrant exercised during period shares.",
        "label": "Warrant Exercised During Period Shares",
        "terseLabel": "Warrants exercised, Shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WarrantMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WarrantMember",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureNetLossPerShareScheduleOfWeightedImpactsOfOutstandingAntiDilutiveSecuritiesExcludedFromCalculationOfDilutedNetLossPerShareDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warrant [Member]",
        "terseLabel": "Warrants [Member]",
        "documentation": "Security that gives the holder the right to purchase shares of stock in accordance with the terms of the instrument, usually upon payment of a specified amount."
       }
      }
     },
     "auth_ref": [
      "r1041",
      "r1042",
      "r1045",
      "r1046",
      "r1047",
      "r1048"
     ]
    },
    "fgen_WarrantsExercisedDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "WarrantsExercisedDuringPeriodValue",
     "crdr": "credit",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityDeficit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Warrants exercised during period value.",
        "label": "Warrants Exercised During Period Value",
        "terseLabel": "Warrants exercised"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_WeightedAverageDiscountRateAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "WeightedAverageDiscountRateAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseTermAndDiscountRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average discount rate.",
        "label": "Weighted Average Discount Rate [Abstract]",
        "terseLabel": "Weighted-average discount rate:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Weighted Average Number of Shares Outstanding, Diluted, Total",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "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",
      "r348"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Weighted Average Number of Shares Outstanding, Basic, Total",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "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",
      "r348"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average number of common shares used to calculate net loss per share - basic and diluted",
        "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_WeightedAverageOfferingPricesPerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "WeightedAverageOfferingPricesPerShare",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/DisclosureEquityAndStockbasedCompensationAtthemarketProgramadditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted-average offering prices per share",
        "label": "Weighted-Average Offering Prices Per Share",
        "documentation": "Weighted-average offering prices per share"
       }
      }
     },
     "auth_ref": []
    },
    "fgen_WeightedAverageRemainingLeaseTermAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.fibrogen.com/20231231",
     "localname": "WeightedAverageRemainingLeaseTermAbstract",
     "presentation": [
      "http://www.fibrogen.com/20231231/taxonomy/role/Role_DisclosureLeasesScheduleOfLeaseTermAndDiscountRateDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average remaining lease term.",
        "label": "Weighted Average Remaining Lease Term [Abstract]",
        "terseLabel": "Weighted-average remaining lease term (years):"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "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"
  },
  "r2": {
   "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"
  },
  "r3": {
   "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"
  },
  "r4": {
   "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"
  },
  "r5": {
   "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"
  },
  "r6": {
   "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"
  },
  "r7": {
   "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"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r9": {
   "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"
  },
  "r10": {
   "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"
  },
  "r11": {
   "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"
  },
  "r12": {
   "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"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "470",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r16": {
   "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"
  },
  "r17": {
   "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"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r19": {
   "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"
  },
  "r20": {
   "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"
  },
  "r21": {
   "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"
  },
  "r22": {
   "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"
  },
  "r23": {
   "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"
  },
  "r24": {
   "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"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "a",
   "SubTopic": "10",
   "Topic": "280",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "b",
   "SubTopic": "10",
   "Topic": "280",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "60",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "820",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482053/820-10-60-1"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(27)",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r30": {
   "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"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r32": {
   "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"
  },
  "r33": {
   "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"
  },
  "r34": {
   "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"
  },
  "r35": {
   "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"
  },
  "r36": {
   "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"
  },
  "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.22(a)(1))",
   "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.22)",
   "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.24)",
   "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.25)",
   "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.29)",
   "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.29-31)",
   "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.31)",
   "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": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r45": {
   "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"
  },
  "r46": {
   "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"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r49": {
   "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"
  },
  "r50": {
   "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"
  },
  "r51": {
   "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"
  },
  "r52": {
   "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"
  },
  "r53": {
   "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"
  },
  "r54": {
   "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"
  },
  "r55": {
   "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"
  },
  "r56": {
   "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"
  },
  "r57": {
   "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"
  },
  "r58": {
   "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"
  },
  "r59": {
   "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"
  },
  "r60": {
   "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"
  },
  "r61": {
   "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"
  },
  "r62": {
   "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"
  },
  "r63": {
   "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"
  },
  "r64": {
   "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"
  },
  "r65": {
   "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"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "320",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//320/tableOfContent"
  },
  "r71": {
   "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"
  },
  "r72": {
   "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"
  },
  "r73": {
   "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"
  },
  "r74": {
   "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"
  },
  "r75": {
   "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"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-1"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(CFRR 211.02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-1"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Subparagraph": "(12)(c)",
   "Section": "S99",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-3A"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Subparagraph": "(16)(c)",
   "Paragraph": "3A",
   "Section": "S99",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-3A"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Subparagraph": "14",
   "Paragraph": "3A",
   "Section": "S99",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-3A"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Subparagraph": "15",
   "Paragraph": "3A",
   "Section": "S99",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-3A"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481142/505-10-45-2"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-10"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-11"
  },
  "r86": {
   "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"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-4"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-5"
  },
  "r89": {
   "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"
  },
  "r90": {
   "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"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r92": {
   "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"
  },
  "r93": {
   "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"
  },
  "r94": {
   "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"
  },
  "r95": {
   "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"
  },
  "r96": {
   "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"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r98": {
   "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"
  },
  "r99": {
   "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"
  },
  "r100": {
   "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"
  },
  "r101": {
   "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"
  },
  "r102": {
   "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"
  },
  "r103": {
   "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"
  },
  "r104": {
   "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"
  },
  "r105": {
   "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"
  },
  "r106": {
   "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"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-15"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-16"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2AA",
   "Subparagraph": "a",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-2AA"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-4"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-5A"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-5A"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4I"
  },
  "r114": {
   "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"
  },
  "r115": {
   "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"
  },
  "r116": {
   "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"
  },
  "r117": {
   "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"
  },
  "r118": {
   "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"
  },
  "r119": {
   "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"
  },
  "r120": {
   "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"
  },
  "r121": {
   "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"
  },
  "r122": {
   "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"
  },
  "r123": {
   "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"
  },
  "r124": {
   "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"
  },
  "r125": {
   "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.15(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r126": {
   "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.15)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r127": {
   "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"
  },
  "r128": {
   "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"
  },
  "r129": {
   "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"
  },
  "r130": {
   "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"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//205/tableOfContent"
  },
  "r132": {
   "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"
  },
  "r133": {
   "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"
  },
  "r134": {
   "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"
  },
  "r135": {
   "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"
  },
  "r136": {
   "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"
  },
  "r137": {
   "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"
  },
  "r138": {
   "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"
  },
  "r139": {
   "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"
  },
  "r140": {
   "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"
  },
  "r141": {
   "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"
  },
  "r142": {
   "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"
  },
  "r143": {
   "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"
  },
  "r144": {
   "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"
  },
  "r145": {
   "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(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r146": {
   "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"
  },
  "r147": {
   "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(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r148": {
   "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"
  },
  "r149": {
   "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"
  },
  "r150": {
   "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))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r151": {
   "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)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r152": {
   "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"
  },
  "r153": {
   "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))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r154": {
   "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"
  },
  "r155": {
   "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"
  },
  "r156": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r157": {
   "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"
  },
  "r158": {
   "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"
  },
  "r159": {
   "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"
  },
  "r160": {
   "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"
  },
  "r161": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r162": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r163": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r164": {
   "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"
  },
  "r165": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-15"
  },
  "r166": {
   "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"
  },
  "r167": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480091/360-10-S99-2"
  },
  "r168": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r169": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r170": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-12A"
  },
  "r171": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//505/tableOfContent"
  },
  "r172": {
   "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"
  },
  "r173": {
   "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"
  },
  "r174": {
   "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"
  },
  "r175": {
   "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"
  },
  "r176": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r177": {
   "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"
  },
  "r178": {
   "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"
  },
  "r179": {
   "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"
  },
  "r180": {
   "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"
  },
  "r181": {
   "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"
  },
  "r182": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r183": {
   "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"
  },
  "r184": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//805/tableOfContent"
  },
  "r185": {
   "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"
  },
  "r186": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//810/tableOfContent"
  },
  "r187": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r188": {
   "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"
  },
  "r189": {
   "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"
  },
  "r190": {
   "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"
  },
  "r191": {
   "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"
  },
  "r192": {
   "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(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r193": {
   "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"
  },
  "r194": {
   "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(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r195": {
   "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(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r196": {
   "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(13)(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r197": {
   "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"
  },
  "r198": {
   "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"
  },
  "r199": {
   "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"
  },
  "r200": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B"
  },
  "r201": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-15"
  },
  "r202": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-6"
  },
  "r203": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-8A"
  },
  "r204": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-6"
  },
  "r205": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-6"
  },
  "r206": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-6"
  },
  "r207": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-7"
  },
  "r208": {
   "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"
  },
  "r209": {
   "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"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "SubTopic": "210",
   "Topic": "954",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480632/954-210-45-5"
  },
  "r211": {
   "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"
  },
  "r212": {
   "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"
  },
  "r213": {
   "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"
  },
  "r214": {
   "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"
  },
  "r215": {
   "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"
  },
  "r216": {
   "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"
  },
  "r217": {
   "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"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r219": {
   "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"
  },
  "r220": {
   "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"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-4"
  },
  "r222": {
   "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"
  },
  "r223": {
   "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"
  },
  "r224": {
   "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"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(4)",
   "Publisher": "SEC"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(5)",
   "Publisher": "SEC"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(1)(i)",
   "Publisher": "SEC"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(1)(ii)",
   "Publisher": "SEC"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(i)",
   "Publisher": "SEC"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(ii)",
   "Publisher": "SEC"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(iii)",
   "Publisher": "SEC"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Subsection": "Instruction 5",
   "Publisher": "SEC"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1406",
   "Paragraph": "(a)",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1406",
   "Paragraph": "(a)",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1406",
   "Paragraph": "(a)",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1406",
   "Paragraph": "(a)",
   "Subparagraph": "(4)",
   "Publisher": "SEC"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1406",
   "Paragraph": "(a)",
   "Subparagraph": "(5)",
   "Publisher": "SEC"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1406",
   "Paragraph": "(c)",
   "Publisher": "SEC"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "09",
   "Publisher": "SEC"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column G",
   "Publisher": "SEC"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column H",
   "Publisher": "SEC"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column I",
   "Publisher": "SEC"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "29",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "4",
   "Subsection": "08",
   "Paragraph": "(m)",
   "Subparagraph": "(1)(iii)",
   "Publisher": "SEC"
  },
  "r255": {
   "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"
  },
  "r256": {
   "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"
  },
  "r257": {
   "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"
  },
  "r258": {
   "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"
  },
  "r259": {
   "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"
  },
  "r260": {
   "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"
  },
  "r261": {
   "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"
  },
  "r262": {
   "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"
  },
  "r263": {
   "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"
  },
  "r264": {
   "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"
  },
  "r265": {
   "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"
  },
  "r266": {
   "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"
  },
  "r267": {
   "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"
  },
  "r268": {
   "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"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "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"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "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(6)(b))",
   "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(6))",
   "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(7))",
   "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(8))",
   "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(9))",
   "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.22(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r282": {
   "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"
  },
  "r283": {
   "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"
  },
  "r284": {
   "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"
  },
  "r285": {
   "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"
  },
  "r286": {
   "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"
  },
  "r287": {
   "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"
  },
  "r288": {
   "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"
  },
  "r289": {
   "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"
  },
  "r290": {
   "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"
  },
  "r291": {
   "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"
  },
  "r292": {
   "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"
  },
  "r293": {
   "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(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r294": {
   "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"
  },
  "r295": {
   "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"
  },
  "r296": {
   "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"
  },
  "r297": {
   "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"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r307": {
   "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"
  },
  "r308": {
   "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"
  },
  "r309": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "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"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r321": {
   "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"
  },
  "r322": {
   "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"
  },
  "r323": {
   "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"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-6"
  },
  "r325": {
   "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"
  },
  "r326": {
   "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"
  },
  "r327": {
   "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"
  },
  "r328": {
   "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"
  },
  "r329": {
   "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"
  },
  "r330": {
   "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"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-12"
  },
  "r332": {
   "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"
  },
  "r333": {
   "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"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r335": {
   "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"
  },
  "r336": {
   "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"
  },
  "r337": {
   "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"
  },
  "r338": {
   "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"
  },
  "r339": {
   "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"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "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": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r346": {
   "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"
  },
  "r347": {
   "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"
  },
  "r348": {
   "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"
  },
  "r349": {
   "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"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3"
  },
  "r352": {
   "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"
  },
  "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",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//280/tableOfContent"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r360": {
   "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"
  },
  "r361": {
   "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"
  },
  "r362": {
   "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"
  },
  "r363": {
   "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"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r365": {
   "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"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26"
  },
  "r368": {
   "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"
  },
  "r369": {
   "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"
  },
  "r370": {
   "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"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r372": {
   "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"
  },
  "r373": {
   "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"
  },
  "r374": {
   "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"
  },
  "r375": {
   "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"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r377": {
   "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"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34"
  },
  "r379": {
   "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"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r381": {
   "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"
  },
  "r382": {
   "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"
  },
  "r383": {
   "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"
  },
  "r384": {
   "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"
  },
  "r385": {
   "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"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-1"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2"
  },
  "r388": {
   "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"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1"
  },
  "r390": {
   "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"
  },
  "r391": {
   "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"
  },
  "r392": {
   "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"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r401": {
   "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"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481664/323-10-45-1"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r429": {
   "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"
  },
  "r430": {
   "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"
  },
  "r431": {
   "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"
  },
  "r432": {
   "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"
  },
  "r433": {
   "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"
  },
  "r434": {
   "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"
  },
  "r435": {
   "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"
  },
  "r436": {
   "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"
  },
  "r437": {
   "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"
  },
  "r438": {
   "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"
  },
  "r439": {
   "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"
  },
  "r440": {
   "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"
  },
  "r441": {
   "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"
  },
  "r442": {
   "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"
  },
  "r443": {
   "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"
  },
  "r444": {
   "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"
  },
  "r445": {
   "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"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r447": {
   "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"
  },
  "r448": {
   "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"
  },
  "r449": {
   "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"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16"
  },
  "r451": {
   "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"
  },
  "r452": {
   "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"
  },
  "r453": {
   "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"
  },
  "r454": {
   "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"
  },
  "r455": {
   "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"
  },
  "r456": {
   "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"
  },
  "r457": {
   "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"
  },
  "r458": {
   "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"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1"
  },
  "r460": {
   "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"
  },
  "r461": {
   "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"
  },
  "r462": {
   "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"
  },
  "r463": {
   "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"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-5"
  },
  "r468": {
   "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"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r471": {
   "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"
  },
  "r472": {
   "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"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r475": {
   "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"
  },
  "r476": {
   "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"
  },
  "r477": {
   "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"
  },
  "r478": {
   "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"
  },
  "r479": {
   "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"
  },
  "r480": {
   "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"
  },
  "r481": {
   "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"
  },
  "r482": {
   "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"
  },
  "r483": {
   "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"
  },
  "r484": {
   "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"
  },
  "r485": {
   "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"
  },
  "r486": {
   "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"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-6"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1"
  },
  "r489": {
   "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"
  },
  "r490": {
   "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"
  },
  "r491": {
   "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"
  },
  "r492": {
   "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"
  },
  "r493": {
   "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"
  },
  "r494": {
   "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"
  },
  "r495": {
   "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"
  },
  "r496": {
   "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"
  },
  "r497": {
   "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"
  },
  "r498": {
   "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"
  },
  "r499": {
   "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"
  },
  "r500": {
   "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"
  },
  "r501": {
   "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"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r503": {
   "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"
  },
  "r504": {
   "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"
  },
  "r505": {
   "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"
  },
  "r506": {
   "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"
  },
  "r507": {
   "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"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r509": {
   "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"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r514": {
   "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"
  },
  "r515": {
   "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"
  },
  "r516": {
   "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"
  },
  "r517": {
   "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"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r519": {
   "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"
  },
  "r520": {
   "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"
  },
  "r521": {
   "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"
  },
  "r522": {
   "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"
  },
  "r523": {
   "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"
  },
  "r524": {
   "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"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r527": {
   "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"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r529": {
   "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"
  },
  "r530": {
   "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"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-6"
  },
  "r532": {
   "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"
  },
  "r533": {
   "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"
  },
  "r534": {
   "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"
  },
  "r535": {
   "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"
  },
  "r536": {
   "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"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r539": {
   "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"
  },
  "r540": {
   "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"
  },
  "r541": {
   "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"
  },
  "r542": {
   "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"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3"
  },
  "r544": {
   "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"
  },
  "r545": {
   "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"
  },
  "r546": {
   "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"
  },
  "r547": {
   "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"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479719/606-10-65-1"
  },
  "r550": {
   "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"
  },
  "r551": {
   "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"
  },
  "r552": {
   "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"
  },
  "r553": {
   "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"
  },
  "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)(B)",
   "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)(C)",
   "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)(03)",
   "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": "(n)",
   "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": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r560": {
   "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"
  },
  "r561": {
   "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"
  },
  "r562": {
   "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"
  },
  "r563": {
   "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"
  },
  "r564": {
   "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"
  },
  "r565": {
   "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"
  },
  "r566": {
   "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"
  },
  "r567": {
   "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"
  },
  "r568": {
   "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"
  },
  "r569": {
   "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"
  },
  "r570": {
   "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"
  },
  "r571": {
   "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"
  },
  "r572": {
   "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"
  },
  "r573": {
   "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"
  },
  "r574": {
   "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"
  },
  "r575": {
   "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"
  },
  "r576": {
   "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"
  },
  "r577": {
   "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"
  },
  "r578": {
   "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"
  },
  "r579": {
   "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"
  },
  "r580": {
   "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"
  },
  "r581": {
   "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"
  },
  "r582": {
   "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"
  },
  "r583": {
   "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"
  },
  "r584": {
   "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"
  },
  "r585": {
   "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"
  },
  "r586": {
   "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"
  },
  "r587": {
   "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"
  },
  "r588": {
   "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"
  },
  "r589": {
   "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"
  },
  "r590": {
   "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"
  },
  "r591": {
   "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"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r593": {
   "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"
  },
  "r594": {
   "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"
  },
  "r595": {
   "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"
  },
  "r596": {
   "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"
  },
  "r597": {
   "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"
  },
  "r598": {
   "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"
  },
  "r599": {
   "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"
  },
  "r600": {
   "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"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483044/730-10-05-1"
  },
  "r603": {
   "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"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483041/730-20-50-1"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r606": {
   "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"
  },
  "r607": {
   "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"
  },
  "r608": {
   "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"
  },
  "r609": {
   "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"
  },
  "r610": {
   "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"
  },
  "r611": {
   "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"
  },
  "r612": {
   "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"
  },
  "r613": {
   "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"
  },
  "r614": {
   "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"
  },
  "r615": {
   "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"
  },
  "r616": {
   "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"
  },
  "r617": {
   "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"
  },
  "r618": {
   "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"
  },
  "r619": {
   "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"
  },
  "r620": {
   "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"
  },
  "r621": {
   "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"
  },
  "r622": {
   "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"
  },
  "r623": {
   "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"
  },
  "r624": {
   "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"
  },
  "r625": {
   "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"
  },
  "r626": {
   "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"
  },
  "r627": {
   "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"
  },
  "r628": {
   "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"
  },
  "r629": {
   "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"
  },
  "r630": {
   "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"
  },
  "r631": {
   "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"
  },
  "r632": {
   "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"
  },
  "r633": {
   "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"
  },
  "r634": {
   "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"
  },
  "r635": {
   "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"
  },
  "r636": {
   "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"
  },
  "r637": {
   "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"
  },
  "r638": {
   "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"
  },
  "r639": {
   "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"
  },
  "r640": {
   "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"
  },
  "r641": {
   "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"
  },
  "r642": {
   "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"
  },
  "r643": {
   "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"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "808",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479402/808-10-50-1"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r647": {
   "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"
  },
  "r648": {
   "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"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r651": {
   "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"
  },
  "r652": {
   "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"
  },
  "r653": {
   "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"
  },
  "r654": {
   "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"
  },
  "r655": {
   "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"
  },
  "r656": {
   "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"
  },
  "r657": {
   "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"
  },
  "r658": {
   "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"
  },
  "r659": {
   "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"
  },
  "r660": {
   "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"
  },
  "r661": {
   "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"
  },
  "r662": {
   "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"
  },
  "r663": {
   "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"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5"
  },
  "r665": {
   "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"
  },
  "r666": {
   "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"
  },
  "r667": {
   "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"
  },
  "r668": {
   "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"
  },
  "r669": {
   "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"
  },
  "r670": {
   "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"
  },
  "r671": {
   "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"
  },
  "r672": {
   "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"
  },
  "r673": {
   "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"
  },
  "r674": {
   "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"
  },
  "r675": {
   "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"
  },
  "r676": {
   "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"
  },
  "r677": {
   "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"
  },
  "r678": {
   "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"
  },
  "r679": {
   "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"
  },
  "r680": {
   "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"
  },
  "r681": {
   "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"
  },
  "r682": {
   "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"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r684": {
   "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"
  },
  "r685": {
   "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"
  },
  "r686": {
   "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"
  },
  "r687": {
   "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"
  },
  "r688": {
   "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"
  },
  "r689": {
   "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"
  },
  "r690": {
   "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"
  },
  "r691": {
   "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"
  },
  "r692": {
   "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"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//830/tableOfContent"
  },
  "r694": {
   "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"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r696": {
   "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"
  },
  "r697": {
   "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"
  },
  "r698": {
   "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"
  },
  "r699": {
   "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"
  },
  "r700": {
   "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"
  },
  "r701": {
   "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"
  },
  "r702": {
   "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"
  },
  "r703": {
   "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"
  },
  "r704": {
   "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"
  },
  "r705": {
   "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"
  },
  "r706": {
   "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"
  },
  "r707": {
   "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"
  },
  "r708": {
   "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"
  },
  "r709": {
   "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"
  },
  "r710": {
   "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"
  },
  "r711": {
   "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"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5"
  },
  "r715": {
   "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"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-1"
  },
  "r717": {
   "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"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r719": {
   "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"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r721": {
   "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"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r723": {
   "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"
  },
  "r724": {
   "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"
  },
  "r725": {
   "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"
  },
  "r726": {
   "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"
  },
  "r727": {
   "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"
  },
  "r728": {
   "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"
  },
  "r729": {
   "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"
  },
  "r730": {
   "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"
  },
  "r731": {
   "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"
  },
  "r732": {
   "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"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//850/tableOfContent"
  },
  "r734": {
   "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"
  },
  "r735": {
   "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"
  },
  "r736": {
   "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"
  },
  "r737": {
   "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"
  },
  "r738": {
   "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"
  },
  "r739": {
   "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"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//855/tableOfContent"
  },
  "r741": {
   "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"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r746": {
   "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"
  },
  "r747": {
   "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"
  },
  "r748": {
   "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"
  },
  "r749": {
   "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"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(4)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r773": {
   "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"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-2"
  },
  "r776": {
   "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"
  },
  "r777": {
   "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"
  },
  "r778": {
   "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"
  },
  "r779": {
   "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"
  },
  "r780": {
   "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"
  },
  "r781": {
   "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"
  },
  "r782": {
   "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"
  },
  "r783": {
   "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"
  },
  "r784": {
   "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"
  },
  "r785": {
   "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"
  },
  "r786": {
   "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"
  },
  "r787": {
   "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"
  },
  "r788": {
   "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"
  },
  "r789": {
   "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"
  },
  "r790": {
   "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"
  },
  "r791": {
   "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"
  },
  "r792": {
   "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"
  },
  "r793": {
   "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"
  },
  "r794": {
   "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"
  },
  "r795": {
   "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(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r796": {
   "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"
  },
  "r797": {
   "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"
  },
  "r798": {
   "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"
  },
  "r799": {
   "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)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r800": {
   "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"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r802": {
   "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"
  },
  "r803": {
   "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(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r804": {
   "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)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r805": {
   "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"
  },
  "r806": {
   "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"
  },
  "r807": {
   "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"
  },
  "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)(21))",
   "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)(22))",
   "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)(23)(a)(3))",
   "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)(23)(a)(4))",
   "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)(24))",
   "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)(25))",
   "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)(8)(a))",
   "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)(8)(b))",
   "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))",
   "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": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r818": {
   "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"
  },
  "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(16))",
   "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(2)(a))",
   "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(22))",
   "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(23))",
   "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": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r826": {
   "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(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r827": {
   "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"
  },
  "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 A))",
   "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 B))",
   "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 C))",
   "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": "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"
  },
  "r832": {
   "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"
  },
  "r833": {
   "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"
  },
  "r834": {
   "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"
  },
  "r835": {
   "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"
  },
  "r836": {
   "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"
  },
  "r837": {
   "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"
  },
  "r838": {
   "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"
  },
  "r839": {
   "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"
  },
  "r840": {
   "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"
  },
  "r841": {
   "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"
  },
  "r842": {
   "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"
  },
  "r843": {
   "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"
  },
  "r844": {
   "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"
  },
  "r845": {
   "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"
  },
  "r846": {
   "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"
  },
  "r847": {
   "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"
  },
  "r848": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-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(d))",
   "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(f)(1))",
   "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": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(f)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r852": {
   "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(f)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r853": {
   "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"
  },
  "r854": {
   "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"
  },
  "r855": {
   "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"
  },
  "r856": {
   "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"
  },
  "r857": {
   "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"
  },
  "r858": {
   "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"
  },
  "r859": {
   "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"
  },
  "r860": {
   "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"
  },
  "r861": {
   "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"
  },
  "r862": {
   "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"
  },
  "r863": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3"
  },
  "r864": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3"
  },
  "r865": {
   "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"
  },
  "r866": {
   "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"
  },
  "r867": {
   "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"
  },
  "r868": {
   "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"
  },
  "r869": {
   "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"
  },
  "r870": {
   "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"
  },
  "r871": {
   "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"
  },
  "r872": {
   "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"
  },
  "r873": {
   "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"
  },
  "r874": {
   "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"
  },
  "r875": {
   "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"
  },
  "r876": {
   "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"
  },
  "r877": {
   "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"
  },
  "r878": {
   "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"
  },
  "r879": {
   "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"
  },
  "r880": {
   "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"
  },
  "r881": {
   "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"
  },
  "r882": {
   "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"
  },
  "r883": {
   "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"
  },
  "r884": {
   "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"
  },
  "r885": {
   "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"
  },
  "r886": {
   "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"
  },
  "r887": {
   "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"
  },
  "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(1))",
   "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(12)(b)(1))",
   "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(12)(b)(2))",
   "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(12)(b)(3))",
   "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(13)(a)(2))",
   "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(13)(a)(3))",
   "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(14))",
   "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(15))",
   "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(16)(a))",
   "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(17))",
   "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(19))",
   "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(2)(a))",
   "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(2)(b))",
   "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(3)(a))",
   "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(3)(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(3)(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(4))",
   "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(6)(b))",
   "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": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r907": {
   "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"
  },
  "r908": {
   "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"
  },
  "r909": {
   "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"
  },
  "r910": {
   "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"
  },
  "r911": {
   "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"
  },
  "r912": {
   "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"
  },
  "r913": {
   "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"
  },
  "r914": {
   "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"
  },
  "r915": {
   "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"
  },
  "r916": {
   "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"
  },
  "r917": {
   "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"
  },
  "r918": {
   "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"
  },
  "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(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(2)(a))",
   "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(2)(c)(2)(i))",
   "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(2)(c)(2)(ii))",
   "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(2)(c))",
   "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(2)(e))",
   "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(2)(g)(3))",
   "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(3))",
   "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)(a)(1))",
   "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)(a)(2))",
   "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)(a)(3))",
   "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)(a)(5))",
   "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(7)(a)(6))",
   "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": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r933": {
   "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"
  },
  "r934": {
   "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"
  },
  "r935": {
   "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"
  },
  "r936": {
   "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"
  },
  "r937": {
   "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"
  },
  "r938": {
   "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"
  },
  "r939": {
   "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"
  },
  "r940": {
   "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"
  },
  "r941": {
   "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"
  },
  "r942": {
   "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"
  },
  "r943": {
   "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"
  },
  "r944": {
   "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"
  },
  "r945": {
   "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"
  },
  "r946": {
   "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"
  },
  "r947": {
   "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"
  },
  "r948": {
   "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"
  },
  "r949": {
   "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 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r950": {
   "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"
  },
  "r951": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "12",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-12"
  },
  "r952": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "19",
   "Subparagraph": "(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-19"
  },
  "r953": {
   "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"
  },
  "r954": {
   "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 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r955": {
   "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"
  },
  "r956": {
   "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 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r957": {
   "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"
  },
  "r958": {
   "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"
  },
  "r959": {
   "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"
  },
  "r960": {
   "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"
  },
  "r961": {
   "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"
  },
  "r962": {
   "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"
  },
  "r963": {
   "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"
  },
  "r964": {
   "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 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r965": {
   "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"
  },
  "r966": {
   "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"
  },
  "r967": {
   "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"
  },
  "r968": {
   "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"
  },
  "r969": {
   "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"
  },
  "r970": {
   "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"
  },
  "r971": {
   "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"
  },
  "r972": {
   "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"
  },
  "r973": {
   "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"
  },
  "r974": {
   "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"
  },
  "r975": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-3"
  },
  "r976": {
   "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"
  },
  "r977": {
   "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"
  },
  "r978": {
   "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"
  },
  "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 B))",
   "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(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r981": {
   "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"
  },
  "r982": {
   "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"
  },
  "r983": {
   "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"
  },
  "r984": {
   "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"
  },
  "r985": {
   "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"
  },
  "r986": {
   "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"
  },
  "r987": {
   "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"
  },
  "r988": {
   "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"
  },
  "r989": {
   "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"
  },
  "r990": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "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"
  },
  "r991": {
   "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"
  },
  "r992": {
   "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"
  },
  "r993": {
   "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"
  },
  "r994": {
   "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"
  },
  "r995": {
   "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"
  },
  "r996": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r997": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r998": {
   "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"
  },
  "r999": {
   "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"
  },
  "r1000": {
   "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"
  },
  "r1001": {
   "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"
  },
  "r1002": {
   "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"
  },
  "r1003": {
   "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"
  },
  "r1004": {
   "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"
  },
  "r1005": {
   "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"
  },
  "r1006": {
   "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"
  },
  "r1007": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-12"
  },
  "r1008": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-12"
  },
  "r1009": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8"
  },
  "r1010": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5"
  },
  "r1011": {
   "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"
  },
  "r1012": {
   "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"
  },
  "r1013": {
   "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"
  },
  "r1014": {
   "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"
  },
  "r1015": {
   "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"
  },
  "r1016": {
   "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"
  },
  "r1017": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r1018": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r1019": {
   "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"
  },
  "r1020": {
   "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"
  },
  "r1021": {
   "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"
  },
  "r1022": {
   "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"
  },
  "r1023": {
   "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"
  },
  "r1024": {
   "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"
  },
  "r1025": {
   "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"
  },
  "r1026": {
   "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"
  },
  "r1027": {
   "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"
  },
  "r1028": {
   "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"
  },
  "r1029": {
   "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"
  },
  "r1030": {
   "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"
  },
  "r1031": {
   "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"
  },
  "r1032": {
   "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"
  },
  "r1033": {
   "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"
  },
  "r1034": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "217",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217"
  },
  "r1035": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J"
  },
  "r1036": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K"
  },
  "r1037": {
   "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"
  },
  "r1038": {
   "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"
  },
  "r1039": {
   "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"
  },
  "r1040": {
   "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"
  },
  "r1041": {
   "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"
  },
  "r1042": {
   "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"
  },
  "r1043": {
   "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"
  },
  "r1044": {
   "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"
  },
  "r1045": {
   "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"
  },
  "r1046": {
   "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"
  },
  "r1047": {
   "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"
  },
  "r1048": {
   "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"
  },
  "r1049": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "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"
  },
  "r1050": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "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"
  },
  "r1051": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "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"
  },
  "r1052": {
   "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"
  },
  "r1053": {
   "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"
  },
  "r1054": {
   "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"
  },
  "r1055": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r1056": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r1057": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r1058": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r1059": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r1060": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r1061": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r1062": {
   "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"
  },
  "r1063": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r1064": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r1065": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r1066": {
   "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"
  },
  "r1067": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-10"
  },
  "r1068": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "15",
   "Paragraph": "3",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479455/805-10-15-3"
  },
  "r1069": {
   "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"
  },
  "r1070": {
   "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"
  },
  "r1071": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r1072": {
   "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"
  },
  "r1073": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r1074": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r1075": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r1076": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r1077": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r1078": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(i)",
   "Publisher": "SEC"
  },
  "r1079": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(ii)",
   "Publisher": "SEC"
  },
  "r1080": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(iii)",
   "Publisher": "SEC"
  },
  "r1081": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//210/tableOfContent"
  },
  "r1082": {
   "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"
  },
  "r1083": {
   "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(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1084": {
   "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(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1085": {
   "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(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1086": {
   "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(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1087": {
   "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(6)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1088": {
   "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(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1089": {
   "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(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1090": {
   "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"
  },
  "r1091": {
   "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"
  },
  "r1092": {
   "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"
  },
  "r1093": {
   "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"
  },
  "r1094": {
   "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"
  },
  "r1095": {
   "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"
  },
  "r1096": {
   "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"
  },
  "r1097": {
   "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"
  },
  "r1098": {
   "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"
  },
  "r1099": {
   "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"
  },
  "r1100": {
   "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"
  },
  "r1101": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1102": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r1103": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r1104": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r1105": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r1106": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r1107": {
   "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"
  },
  "r1108": {
   "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"
  },
  "r1109": {
   "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"
  },
  "r1110": {
   "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"
  },
  "r1111": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1112": {
   "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"
  },
  "r1113": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-1"
  },
  "r1114": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r1115": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r1116": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r1117": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r1118": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r1119": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9"
  },
  "r1120": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r1121": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r1122": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r1123": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r1124": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r1125": {
   "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"
  },
  "r1126": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1127": {
   "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"
  },
  "r1128": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-3"
  },
  "r1129": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-5"
  },
  "r1130": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r1131": {
   "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"
  },
  "r1132": {
   "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"
  },
  "r1133": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-6"
  },
  "r1134": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r1135": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r1136": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r1137": {
   "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"
  },
  "r1138": {
   "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"
  },
  "r1139": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-3"
  },
  "r1140": {
   "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"
  },
  "r1141": {
   "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"
  },
  "r1142": {
   "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"
  },
  "r1143": {
   "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"
  },
  "r1144": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1145": {
   "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"
  },
  "r1146": {
   "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"
  },
  "r1147": {
   "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"
  },
  "r1148": {
   "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"
  },
  "r1149": {
   "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"
  },
  "r1150": {
   "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"
  },
  "r1151": {
   "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"
  },
  "r1152": {
   "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"
  },
  "r1153": {
   "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"
  },
  "r1154": {
   "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"
  },
  "r1155": {
   "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"
  },
  "r1156": {
   "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"
  },
  "r1157": {
   "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"
  },
  "r1158": {
   "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"
  },
  "r1159": {
   "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"
  },
  "r1160": {
   "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"
  },
  "r1161": {
   "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"
  },
  "r1162": {
   "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"
  },
  "r1163": {
   "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"
  },
  "r1164": {
   "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"
  },
  "r1165": {
   "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"
  },
  "r1166": {
   "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"
  },
  "r1167": {
   "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"
  },
  "r1168": {
   "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"
  },
  "r1169": {
   "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"
  },
  "r1170": {
   "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"
  },
  "r1171": {
   "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"
  },
  "r1172": {
   "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"
  },
  "r1173": {
   "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"
  },
  "r1174": {
   "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"
  },
  "r1175": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1176": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "730",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483041/730-20-50-1"
  },
  "r1177": {
   "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"
  },
  "r1178": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1179": {
   "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"
  },
  "r1180": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r1181": {
   "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"
  },
  "r1182": {
   "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"
  },
  "r1183": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r1184": {
   "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"
  },
  "r1185": {
   "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"
  },
  "r1186": {
   "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"
  },
  "r1187": {
   "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"
  },
  "r1188": {
   "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"
  },
  "r1189": {
   "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"
  },
  "r1190": {
   "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"
  },
  "r1191": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1192": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r1193": {
   "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"
  },
  "r1194": {
   "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"
  },
  "r1195": {
   "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"
  },
  "r1196": {
   "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"
  },
  "r1197": {
   "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"
  },
  "r1198": {
   "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"
  },
  "r1199": {
   "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"
  },
  "r1200": {
   "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"
  },
  "r1201": {
   "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"
  },
  "r1202": {
   "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"
  },
  "r1203": {
   "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"
  },
  "r1204": {
   "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)(15)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r1205": {
   "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"
  },
  "r1206": {
   "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"
  },
  "r1207": {
   "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"
  },
  "r1208": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480109/944-80-50-1"
  },
  "r1209": {
   "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"
  },
  "r1210": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1211": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r1212": {
   "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"
  },
  "r1213": {
   "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"
  },
  "r1214": {
   "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"
  },
  "r1215": {
   "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"
  },
  "r1216": {
   "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))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r1217": {
   "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"
  },
  "r1218": {
   "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"
  },
  "r1219": {
   "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"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>136
<FILENAME>0000950170-24-020161-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000950170-24-020161-xbrl.zip
M4$L#!!0    ( &B!6E@$T^0#"D$& ,A640 1    9F=E;BTR,#(S,3(S,2YH
M=&WLO=MV6T>2)GP_3^'Q?]%74<KSP5/V+(F2JE0M6UJ2W#4]-[TB,R/%728!
M-@ZR.$__1P(D15*T!(HX)&BZ7#1))#<V=D9&?''ZXJ__^^/QT7<?:#(=QJ,?
M_TW^1?S;=S3*XS*,WO_X;X_?'KQX\6__^Z?_\=?#&2_CI:/IC]\?SF8G/SQZ
M]/OOO__E=_V7\>3](QEC?/2QK?E^N>B'CVER5(:+M>W'Q4HEA'NT?/'*TMF-
M2^URZ>SRTN'*#5Q>K1\-H^D,1YG.UQ\-H]^^L+R]G'!ZL?SC9^NO?+[VZOG2
MX>,?75>VV^"E]'^>O'EYOGPT'OTR/Z;)D&_^LS*;/)J=GM C7@BCY<J+NYH.
M-]T3?P+YZ/_\_/)M/J1CA.L??3H[F5Q]IE/*?WD__O"HO<)_K?3YTD+#S2OY
MA2L+YU-XCWARL;CB-"WNY>R%*XN'Z=@HZ;^T6\L5YW] _+G536*@Q"/Z.*/1
M=$A'!+1X/#AC>9V"^HLX__/ZGD97WJP.:3+F7_XECX\7=R;YWXO//)M >^#3
MK^P'_YT"H>'37^;Q?#2;G-[\Q,Y>O/H@/LZ 7[_R1N?K/TG*H]D$1],ZGAPO
M/EH3) LB7'ICOL[--_NEB[2[5R#=A5A,9I]O'__RZC[/)G^X;?$1O_K]3__C
MN[\>$A;^[W=_G0VS(_I)"OCWOSY:?M]^>TPS_*Y=!.B_Y\.''[\_&(]X$V?P
MCI_K]]_EY4\_?C_CO7VT4!V/VE4?G5WVKVE<3K^;SDZ/Z,?OCW'R?AC]\!W.
M9^/_.1R?C"<LZ[/_=8*EZ:D?O@LG'__7]XMW+<.'\S\JP_3D"$_;V2-^]:_#
MQQ_:M6FR_'8HA4:+;S\=SN^&\N/WS_\+40KALX6<G  CBH&@O8*4@S%6B5 J
M?X(1'K=WH>&'I^/,?S^:/1^F&8]>\Y7&Y3G_;GKV,3_.WE#E!_!?6F7+6HW
M>VW R.@A&4.@/4I)(I*O^?N?GO_G7Q]=N:V;[U(5)3-&#<9D_E*]A4!D(&JM
M0G'1IRHNW^6S$6_.Z0'?YP2/7HP*??QW.OVV.Q3\3U12Q;C2G08AD624X(2H
M?+O%\J.T!:15:'4.6CEW^4X?\\,LBP=ZA.^_[0XK'DWI#V[N^01S.QYG=Y<C
MVJ(-WUT($=K^0C31@,]!6/2D]:?=/E-T/QR,CX^'6;O%Z>-1:9+-<LAV<Z#/
M]KQ*X:/V_&E)\?WRK0-6OE^1<B5#IA2;OO]N/AJ6?_#K?_WZ]BD?Q.GPPV@X
MXN,QF1,+[Z.KM_Y''X6?L[.:( K#@BN- <RE HKH<A1>!__91WD]H4J3"96W
MLW'^[3_P:$Z[_ BE6@HE95"U)#"**D02!6HQSH7"_PC\EH]@VXE@5>AE"& B
M7S8X+X&,3JF4:M"I;_X(5Z6=ST:M(BE0WA,8UQ0')@*IDLV4I*W.7_\$32>^
MJ@?CZ>QOXW%Y-7E+DP]#IF<79N_E,)U]VTGXDJW^_UY/QF6>9S_3<:+)2F>Y
M*J],\A44RP3O#[)N=,4#85:.#[+T[4&NX]-9B8)D E\K"X+D]XA:+F20DA<Q
MZUS7_NETK5F'6B#YA2XH E+1"-Z8X/C\.-1K^G018V!S"D4E5MZI.$!B.Y-1
M5)U"UE'BVC]=D-5Z=!)JM@Y,<03!F@1%*J])J*I-^OQLC4]H,CM]?<06EW7=
M,S;F)TWQ_3JE.C]Z.=3/SIKBSX6%GY]@U0[M@$'2;$T)4PI)8&HX[*?7>C4S
M1UXFZ?C/G51\T]H4OFEE02/Y6*N,)9EUW+1(4K)]!X59LKA95A!H(L2DLE>:
MDA5F]9L6&'.. <&&AB!T5!!BU<".1/)8M; BK^&FA<>,K&9 27X'T\YABJ2
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
M;+3J*GL(-<4V$5XBNXO&8K=.XA?.\(L1^X1XM.+YW4\?(7HGV%B+-M&*?81
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
M%CG5;0SV5BD^EIS%Q":&.:\G;'8V;]SN;<7%;NQI]0G)*P,^B,;AZ$*C9(Z
M)E8J,H8HNFOIW@H%WOF;/#L^.1J?$BT@_*N3=JE[*0@IN92S]^!1L._'CB"D
M%!WHE*L.2E'1W3(QK]KBE//\>+Z8*+>(Z[9U$SIL5_M 2W"V+X%XJ[%FN6B@
M8M?/6&R!>*,!J[0Y&&6$[LY'^^9Q?V\/QQ.^R(R&T>OFPTW:*7WY\F!?'&J-
MULK"2M48J=NPF )1!/99%"/:H&IAK=O;9FVQJFVS-46K(X%/HGCM/1^_?O'V
M<#C93!U=!VBU*J.<$ E$1@\&58)@B@2GJ\9&1A==MZK_3"&<-J:#1@+:+,!B
MIVYROW[&?#BP7WUZ>>&^J/SH+?\3$V1K76NLRI"4*, /50N-;*!]MSY%=R1K
MNR 99F#5.FX88&4V!2'(-CRL0%&ZDO7!N\W/A]S**7O99LNWP; O&%Z-/^Q7
MJK,8DZ,W;89EBR]:U;(?6H/--8H4"K'%[G677HY'[]_1Y/CU?)(/>0\8WQX/
ML^4V';#8OA]/3E_5%VS3SU>42T?Q9QS-*]N_^81XA]_.3TZ.>/5K/)[0AZ/Y
M,:9]V4(TA*&UNR71>MZJ,VT"F  R.9>,&,AUZ])V0Y.\H28@:42I$8%D2S"B
M"X!:(L0@2M0Q5A6Z<UONCH3W,R"@"NK4AI]:GQ>U7MA:MR+8*HJ3!MG)E+WM
MU:I%'XO]9"W74C!'_YA/AFD9\F9".QO*T19V*6,E4,8UQE;+8! 9#&HI2TY&
M116[X[_Z&IG_GV,^I5&L\*0-;3BX :.]A&12@*IBX'W+,HMNG:T+3_T=Y</1
M\-_S:\CO\]?/:2VH'.#T\#G[]^MRUR\5[BZJB6_P]JZM.+^7-[QU]RC=M1D%
M$SRFF-A2(Z9&]Y4K)-?.0;18K+?5[%T1R'WMQ.S MPV&)%;&V!DE8P7I!&!C
M3E)6$E4I; W=F:.'D>D=6\GL1$[)M1)C75C]5 .Q*2(20D7-V$?U-Y'I:^!S
M693(N[BLZUEL^;XX;L5[K9W*K<=5@_%" RH3(!;M?95..M==8_ZG_3BG_OD<
M(WS+6))N-J4F7;.6E;UIE\ 8S.Q-D^:K8S6J")%LMV7Y#],.MY^&5)6<:*.%
MR/(9SC5#J,%!C>AC;?S]L3O:W0;I%JT9-#EI6>%K1%V_C#\@;]AT=LY6BB-\
MO[8JVV^:/;6R!"XF:34#>>GSO,;3=O-+AN%7H[6Y*7^8?SGSM,_AS-93,:P-
M&5V8%='%Y:5W01<R1LJ2SY;/AA5GTYFALG%CR:6@#%JU^>;VVZF!=3+E&I-S
M,QA.!6*LOIQW:EN83]4BB\;^>/#O337"&L[+J@PGZ^P+$M45JQ/X$MARJ)
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
M,YFC"ZK;Z<C7]/$2V<R.>=OX*&Y:3[)CKM@]7LTQO[+T3GS3SKJ<V4/RJ;&
ME> @:F*$HX0D$2+R4>UMN_:_:=Q%0<JB LIM5!(_'$@E)<C>QUP#%1^[+0+_
M8DGE0V1D)_(42V61"AJR%I;ER6L(JO'1I&2)G9(@^JWB?#D>O7]'D^/7<]Y0
MG%+K.QQF2ZMXP$+V?CPY?55?L+2=KRB7=N]G',TK;_1\0BP,;^<G)T>\^LWX
M(Y8Y/\^],9LVINB%#V"C=:R')>MA$H(W-,7B+:;07Q*^XU%63[8XZF6-6?^4
M!..G1& I%3"NL4DYAE$VZ6B#;O/NNPLP="P%VQQHMD8IJ IU8F0 'A>='L5
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
M:O<F5(;9#AL8SGD"%GTN;RC3\ '3$;5Z]*=M!OB0Y@RJUV(6OQ!9^,18>(G
M_UXB:9LE4M&&;9,Q8*BR4M*MBD\(HXU)H?87"+^E4GI<6*3Y#UNB:F!8?5[2
MMTFSL<;!X\I513%$L%4LHI/4ZH558QO+*+Q4IG177?FEYL5+O2!;Z5C<34UL
MTBI3<H+AGE9@L%5Y)W3@^5"A-JH(W>VY>F!QV1&+RSH9;(5-408-WEH"DU@C
M!=$&D4N3C2^84^@VL_5'WL<R<DN%)BP*HV7$^%X:9>TH9Y\J9",;\2P#SJBJ
M!HW)F624+:+;\LF]:R1Z_+[=UUZU$!6=!$6+X)0.+!^,UV)KO0A2L=VAK)3N
M+A-T41+/MN5:2/.24\_'^GGK)VT8884Y._N*#5@G9UF!P1MC U,,I!;"]CGE
MS)N))#;N1=[6,%T)B]VI\J9$,LT21>LK&,40*5EB*;8FAR*P8.E.MSVTRJZ=
M/JCH&A2QQQFDXR/ [@T[H!F"<T6Y8!+V-Y%HG6RT>FVV;=_,[7;[=M>9KG*6
MX9?6H(S3++?1L^+"",(D+TSUHF!WBFL5-^?OP_/AR?!J6PGCW9C<$C*)3 2-
M\ F,9LV#(GF05$R-KG6L=4<@M*(;_.O;_@%KJ$F8:%C3([DV$4=!H!RAUARK
MPF"P=!<WOW]UCCI3<?P/V*@%&]WH(&DC( J7;(B,S$)WD<1>>FQWDV^JF50F
M-C+8AL*9YC,$61@[JUA,R)4ZKJ:Z%>\9;V(=9@MFH<VE=G8P^V1!__!N?%ZM
M<R^%E-&/IU0JL"[/#= 3))9-T-6AM"[:E+OK<MJE<N\ #GE$09EA;)0RLE'.
MBBT!?Y=\X/^J:FCO1KSO4?O+'538G['NW51=DTF-;,251D;.8FL8RNM<D;PJ
MPLMN8P6W[HI>T5+<58COV(F^GX)D:U'5A=C\/PM&6@0,M5'.%".EQIQB=Q[\
M%NLW;P78+M7%;$?WW"H3)_2Z&#Z+0BE<(Z%HT[I\%( V1G!6DBS!YMIOS5Y7
M'=SK3&T'G]O8*>#'[QOQ4*NHK(PW@W VN.B0-MZN]PT*SZRL\(1=E_NH7 @>
M&6.V8(MQIE&H-/X!KZGHK-&Z[J)>*TOO7F5LL]59)(8O,K?![C$%=NE]@)C0
ML(\?O-/=DCX^8)B[&Z3U52"'C*:QIF=1L&4A6N(L6:!<BQ/D9<G=Q?!63_V/
MYY,9L>^]J.=\L:@5YCW=3"' AGK)E<J!-P@*M=(,7?F,-R+@D&7*66&E?O?G
M(;%Y1Y/T\WA$IS_CY#>:/9_OD752$<F*FL%5T?I1&#ZGI!5;)XJJ1@SI8;S&
M_3(C,1NG*F/24%M6SF "3%X!JIR+U0Y+ZBXA]ZF>_V)O>/-^H=_/VD7XI+-'
M.N)O\U(!7&L#N%C%_O2HM,KS7T\*/T E9!1R7[P?'Z1,LB90,K8@1B5("W8Q
M%T-63O._70[>NA^AV_T,]\<L*TK-0J+8!30J&DC>"= HJR"1&)-T*3-?B(%?
M=$B_QM-5U/3JVJ7UI+0G?3D[N7R/96_JJ]%6Q?1^TWX[*8-%WX:*9P6FHH&(
M-D)VY(7P)<1^A\WV-YEM!T#"J""S8, 8HN$-5(DQ1,P6*A6M#3I77+=]3K>"
MCD_F1[^MW@RZ5A6PM(W;(==;8^,BQA1U;KZ$4YDQIF^4_DC\!BHV9C6O'VKN
M>CG&OE:A/$D()C5_P%?V#$A!MBI%KRRJU!U"^*:!S\NA9C19==AS-SZZS 6C
MY]/4)L[Q#EGD<Y4D8*E**<*297=5-MN/Y73CIK$W)H(P!;R@!$8+!R@Q0F1
MXU.QT<7NXH WS2W'CRO,+5_O45URU2]=L_'D=#LG=9V#"YS(46/C?J<(A@\M
MQ&H8V J4C@)2,=WJTE4AT1^O?U6?GC4DM0;>Z93VIV>:G+-9"@1=%)]9R@9"
M*FVH8Q4IYRJ+Z;:M<LW)_GNGVM=HB9-01-@2ZJ*UUN>4&"NA!.MD""Z24*%;
M8J__:+1=H_?7.@D7 UUQ2J6A(_X3O"#G:/E>OM$UQCSZ2@+V$)Q#'70.'DKK
M 38H!20T ;Q.VE&2-O375_908[^*D*RQ=#%I4IA;JZQOZ#_5!&E!5EZ,-FC9
MP;;=SD[OCCMN1RV(I=;@%8$TOC LU!:2<@X\Z1"LSV3<QAVX;WA2GN]WM2=U
M9>F=@A$^)D>M1S MBM5(02Q\=5^MK5Y;$4-W@:,_H+"\&(2.?#FVO?QRH[&\
MEP(>C0JU.@&AZ$8YU%AK2HG@9+:R12B<[ZY6=NN9R<T66:_%GFX[\[2C9@")
M-9N2(3K%4#YK#=$&%EY1?-:J9.^ZK8!X*-2ZHS.\B$L\P?P;E;?MS5>AK>O&
M_PQ8E$8T4%)M#D.J$'-D-%&%-,FG2JK;,,7#8,QN!F/N""2TLB6T[+ZX)KS1
M2P@1 V@426&M/LIN\\77$OZ?_!MV62Y'3E8(5:PDL==C\<-HA5C\?EICGV+R
MDC2XFK!AQP#1"_:5<H["RIJ5[-8:KT:L/9_.QL<TV2&U]K5"R$OLVMM E>?A
MF9V4W>TFJ:Z4D3F6!)22!>-2AD3% 4GK534R5-G=E)H^.%@O 2>Q/N D1*TF
M9P=.Z Q&J #)!O[1558V 6/!;H-H-Q6;M4EIDR'/SKC_VARUZ6+:S''S*Q<!
M_9N6\+9=+U.;+NO4]@4!2]LZYDP";V2;VL@(. D*H+PH2;-GE[#;#.NJI/4Y
MSX_G"WRX9-GF=;Q;[6H?:'DX]Z4.S >55%89@K*L!HDA'RIM(!M*IBA+.7>7
M+]M<*42[U&)L#DU.&O"_E@O[9?P!V7&>SLZG%. (U^,#7<SNH32[D9GQ+,3T
MHMT:W\"9$SUZ?[\KD#%B9@$-; 6P(<\V]U65",7:B$K4-G6A-^G<5^2YR-2=
MB=DOM)7DX$YAYVY<;%(Y"_0%I&N)IB(KH#4:V#AFI]LH$=E=0OF;:CE_QGPX
MC&AR>GGAOA0;H:]*2#1@:FX<[EE#5%I!<22$DT4[[+:><[WCX;K9$J-%B=0J
MU/F\@)$.(?K V+($K209ZTRW_MHZ!U*>AT//M>0_A]GALZ/Y,9^U#0S;NQY]
M\JOSI/AUI>:-+E+'V+R(U&@V=<MAMA+X*$V-.MM^F_8_#8_]7$'N%45*$:1%
M(,]^06YIC58?(4J%*$K)(L1$J3LW80]:$-9)VF^\DSZSY\8*$DSD\Y=T2(#!
M.1VS$BEW&[O_:DJ0U2$-[T>?R.F;G[2!'.DW)VR_UJ'^+3?S9RG915&-KI%=
M.T.L6WRU$$(-H(1(Z%-6OL]NC"^4IBR'*8R&16BOT5<LRTAFK^H_QWSE]64O
MUX<KSAL#'I^<3,8?\.BBAWM+52W;F.9V&<W(14V<NI"&+Z"9Y=+U#)Z.)KI0
MO0&E/7L6-2H6>TF0D]2>3*S&=3?ZK0]A[TU^[,KQ UZZMO@!9H7%!H2L[((;
MQD!2R;:!&5(K1;%0=^67=Y,?_NG@D '"/96C714\)\G^M!80=6$Y2JVQP1L+
M,94:R09K_<9Y.M<L1_>;J>9*^D?$-0U\$T0I4B&HL:D3I1T$[]DNZJB3K8*U
M3;>E';MDB.A2%#=.1=%!V49,)MC:)A2R@+;1S1)B8W2,(JABA(^HNXV?[TEV
M>8U!B:1M=9X0O&B58^S1,5!ILW*3KK5JRQO6K7K9TZ*.#K!%R@YC9%\^V%*!
M'1X)*=L(,M5<=< B?;>E/.MTJ=_0^W:,QY/3"V=Z6^/7US%RH"?T<UFJA6T#
M;U>2ZN72]7CN2GCVVWT$E?Y_]MZVJ7$D6Q?]?.^O4/0^^^SN")+)E%(IJ7J?
M$T%153W,5!=U@#YSY]RX0>0KJ,M8C&13Q?[U=ZV49,M@"BAL+(,Z9KH!RY(R
M<^63SWJ/L,4D.J!L;$EH9.A8ZB*3]C:R_Z$GCS$Y+B26(<C-P;@-<]D20R(+
M%<VDH,0QY<MO&Y)224EL8I:*&).&>F=(O$5F3ZP^'^?_FMY5RV/V>5L1UYI]
M69U_  J\*J[Y=EKE %75G@9IJ;Q$=(,VBG*25R> >/+23B>Y7EEUQXX5VYO6
MEP05W+BBG8.C=0>ZKI 3.<X8I9P1PU**\9' 8%WD2&9BI3/+N0I[Z\C>;.!Q
M#ZA-DD54)R'06&Q0Q&'-B!0)>D0U<!UM,,&KKXNW!W<P^6B*Z5OSQ+KWW_1H
M:JSY4!87M?/3P\RA>R_+<3X^0WY;UR"Y7GZ#&[G4%Y>CXMK:YR@5L)EL&#A*
ME(VB$$0 JZ+:&'@N=X[$,6,135D49KWE 1\!/VW+8*=R=&++BVYL"7Z\!]\R
MJXQI?72.W3% "]QD8O-QX[L',?OX<7_]XO1 6GGSTB<I2YD$IB)2XI0Q6-[?
M$J6RC,2I$$YD<::RWAT'SV;]NJ_7XDM-P5\3\V!I(F.@QLP9.+(BG1&9V!C/
M,F>4HJ%6O?,=/5*#^52,<<PEJ*5P=K71\JN2BME+[,/R5X?.'W*++W $),A>
M8-[>Y[+QJ*_I*%Q//@CCBAD>"Z(X'*Z<2U?;;EP:Q5DFXR3)>BLC_>Z1N!G"
M"FNG$L<B OJO)9Q:#*YAAKA$JYA&AF;]Z__\]#K//1&951TWK\0GG3+!C%&6
MQ-R&F.V3D"QS,:%1)(16+C5A;^TW#Z^<V%60/D]+?0Z<>_WU$QE'I_'#PE7X
MHG_Y*4L:*972!"@'Y1+373@<+%8K8D5D>"0S;FEOHU*7.8#V)A>   !(ZZ[T
ML*'3@B:QUFE&A,H<X2),@"'2E-@D2U+X1X6FMV'>JPCC#5<6QKN.(D<_,A6O
M)8B8:Q%;2V-B#4JNA@-$6I> #,=*AW$D9=1;R>U=#<X-A79DVE X$["3=PK'
M?RI)&B6,9#I-!(M92&UOC_\^+.&:"FHS.&%"Q8D4%+:3LE@=BG,2AJEA<'Q'
M:=C;%.Q7FMGQ]%.J#LD]GN?;K#]9;97M/8PU,DDL">.4$YX:;!608DMZGC@-
MO]NP=Z1SJ'6Z^5JG&XJ62J,HYADE40KWY%G(,;$Y 8TI31A7L4V2W@)LGR,:
M>["T6:(SIH'11-PIPF,TIL;"D82&B<J$$H+UKA32X-MY^9!C,L06DQ$6QZ L
MQ4I@J&9,HH@S:YF(06OJFUP:F[_Y:,_DZ+U_GV[<2:[* GZHQ?+POHH6CP>W
MN[T](+:@MO_VC*Z>5>;=IHH9"<N>TD00;HPEF> 1B>.8:F4=8ZIWKH&'%%;X
MX_BD]*P92\_,*>RV+ NWH%199HF(T0.GA $^D!CBF!5.AQ*X0>\" A[?0N[0
M.<#[XTNIUU';NP<82R,JF(@,@*J$98S3F&26I<2EUC T:"C7V]2'=3K;MW,U
MX]")++&4 &#":C(-3$YH3<),RBSEL8MH;]WB+R[N;T.5VY2!U6&<B!0KMPF5
MDLQD@LB,2J5Y;%1_NSP-/2F>8@C;+X!ME)/<!_44%WE5%>7UIV+-(><KI!21
M=)2'VA!@% Z+#H+48A*+B[5FB<B,ZJ\-=YD7MLF\NBOGSG_E9;**F$=80$23
M5'&*U0D9=BY.@5_ Y*>,ILH.%H779E%8#VC06(  @'JH8@[G7>@H2;'NFY%.
M9PF<=CW40WK5^O)=7EH]\65UG]MH?Z.F+V8:XX7S;ZT_E'X#F1DV#>$P<Y)H
MI.;<Q(I(807AD@-#SYQRO)=^G_6V=5]V@-[,1J]%Y%G.S9#0\,&Q!7!IF*[$
M$F^E4Q*$,A%10KB&$S1+$"W3E"7.Q)DV4=]$8ZAS<L=1^KQU3C9#]%@6,^VR
ME$0\#@E/P@Q[(5*2*"<BA#83]M8XV[-@F!5F1U@,,5/8FL;YI$_*@1U%!G J
MH:'DJ8QM[QPGO=S"&ZD;(0BLU\/J1OA+5Q,"'2<ZY91C1'4$RG=D#<FRU&%G
M/9/%:9AJWEOENZ_M$3<3H*A8R#2C"4EYJ#$_09",\9"DSJB4"]#+HRW2B)JJ
MK_,:-^,Z..,E9T.Y,'-&6(5E#C'61DBBN$D(DS**DCA1AO8VQ+1?\>W;9L-]
MWF#&57KIDU1*[LL$.T8XI4 ^-%9XU]R&(G*A3GJGU&Z#'W$S1XBDEJ,+'Q@]
MRPC''D"I9BE)M*9Q1..8][?#[HK+ JW@!(GA?P\[018N?<H"<L52+9(8$VBQ
MQA20?Q5F@D1.J3"$/:ET;[V #PYHVG]40-.]SU]9Z%9O0-G&"34Q#8')4TIX
MR!B1"2B:7"H)NSMRW/;6G+1G_IS6H5,5[-E/]FO3<AB@%XCB&'[4]0F]M#$Q
M7 5B-#9H*?SCTH! A91E]+XLB=YH\)RGE(6@P0LC$\*9S8C4<4HRRS-JJ96*
M]:YZSTNH^;BUBLIF>(+3QB14:T)#S_J ,63,21(GH69)$B9&R+Z)Z5"JI<>:
M+\MB:YWAB'N^]@\E*5.4""L9RVPJG.A=X;IG]^;6 ON[G9P79AYA7 MJ58QR
M/.Z:#^R"T\7F?X(,M^U,/Y_+\D)JSX+E:+_X.+FO"4IOB U5-DUB(>&.<#+R
M+,J(2K.$*!:ECH<V!-;;1S%YP/&X_VGMQ^-SU&E92)FD&6'I*M9=4""NQCC"
MJ -"*X4ATH3*E\YE7%G)P]ZU)7KD>7-D)Q+T5]/&MZYY:5:G:U"C9.@X":VP
MA',>$1D",Y JBY#-.EB;OB[-8+-\BLUR[PS?:ZM2KVV6..Z<)5F(&8\\XL!;
M14AB&9O443A93"_/C^_3C(]US]T7J6D8HS,E,XT%1]& (4.BLM 2$:DDTB*T
MS/0.7GIB4%KAO@EEYD#A@[E7<%LN.+JH5$24"8&YQZ&4NK?Y):\TN: WG-VE
M268Q5S#CZ%@0UA%)0<FS(="&-%$RCGK7RFUKS^2M+8K"+,5@V(2D DLL.1,B
MC:3$&<%M9HR@HK>N[[[4*IE'P-PL"_CYX/A\7?W">Q!9'3-K%</N7:EV(#R1
M)IF)!(E2+6)N5)2%VP Q@P[26QUDA>>A2)0RRC*2.@X*LV 4N)2,B>$AR*LR
MF4IZQVCO\7Z\S8OJ>CPYMY-<[Q?EV#ZY&^XS&LU6V5*MT<1F!K9_Y)/S]Z/I
M13ZVWUZDW3[2)HJ WGGI!>25FJB88OF])(J$%#(>PG\VZE"FCAKEG"91)M#B
M >P[!<V9)"Z3$<:#,]N[.@^K3I3<3E)C0Y/%6B=$I!08L>6,* [GA&99Y(0,
M:41[9_,>$AS[D>"XH0!T:DR<2J#A\!-(+!,D<];"V: 3G;)8Q;*_-/R^BMC
M:RXQJ,0BV1QJ8J_@:(H3GH9)ID@FA"1<AY)DD4F)BA*9<*V 5O1.Y7_%SMS5
M&01CIF%M%:%4IP 3)B99QB71242=%'#FR=[EJ<Q1 - ;U0$\!([RZDM7!9A=
M-*TFQ076$;UQ\:K 8LE;O 64.+^0Y<V V?H \BSIDWV68[<-,]E$#MW&,J^D
M,D#*L..R(SSE&9%AZ C+1!@[(RU/>TG5GC6S?ZYV%?H+*EMPO9>-]7>7V9!R
M'"HJF,*@-NUB!+J(R"Q5Q$2*:DM#&[(A'7>5YI=]T-#Q73LW6EUK^R%_>+DY
MTS&0Y8P2(Q(L^83Q/SH%*A=G0B466V3T+F)]C;D&G&9]W!D;-$P"\"8/[UN;
MK*I5E,X8YRPE.E:TJ1Z<J(PX9VR8\8RJ_@44WQ,W\IL=[\OKBW4<ENM*9LE<
M0E,D^B8AG#I'@-X+8ER<9I%0EO4O6G?HS;(*M]S6EZ3D$4J4X,1&P-\X3R11
MEH= \&UHTLQD8=8[1K^FBEH_I$D #[M?DUB!LK>!6EV1S%0B642RE(-HV$@1
ME8)H")>XU"7 ^4UO"Z8\J !ZQ\J 6]L'E!R,?5])6VV-E2G+,IM$5A!K$T4X
M^KR4@\,G$M0I!PI8+'NG?/6! #"O*Z]F#5*3"F-T3!Q+L9P TT128&+,6*D3
MP5F2]&X-5A5NO5)]\F6;S[0+.36:D5B%P!-YEL Y:T .0QVF.LEBE_4NB.#E
ME"U[MAVQG48\8163.E/$91;.$>%B(M.8DBA1W,415<;TE@D^UEU]^_I#]Z[)
M/3Z1WWQ3X/42@!5JGYIQJFF6$B "FG &>FB::$NTB56D(N:8[NW"]9VGK5#3
MTB;BSNH,NV$B3P-U2SH@(2QSH:5,A[%>>]# #R#10TU:T>J:U8LH3&**T?$<
MB!1/4A!M%5(2)I2SF%$;]R]P=-X0"[LHS@[,CX66\P)-WS=XOO]V^0R'RV9B
MO##\@2:A(W$H!=;1L$1&C!.::J,$38R+7V^_A/757%[Y ;J9N,3PP0X?O%2L
M"(:D TY.-<BL2GR4%\ 0EYJ$*HP2)U(5]R\7<%W5>U8EPX\.YGGJ+JV3Q<:Y
M[TD#5U78H^;0_:. V\(4[)_GX_MB^+>3SJ>A82&7G#";6H*!B21UC)'0NDS$
M OABW-L8Q4>AT2<[\0EAP-X_ER#NZ]<"GS&TUX<UG11MJ-&+M(H8)6T2IQ%1
M-$L 9QWH+Z%*D2(GF<@PF[:7QK/'H$XMOBWP]!5L>V/3ELRH+(L9 >P26-T3
MRZQ8!> %G]A8Q2SLG5.[GP[5^Z*]O:GCK=1?[!#KO0K)=99S065(+&@TA$<
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
M]DO"*.L&RTO:XQ6E?];H&A_^-8='PV.#,;QV@4K$55YY2\,8*[[*$?H>L-L
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
M/%H]:'>2]ZC.B!F=)(XB"22IP4OS&@&*=&&!E];X0S+S2=[4R[F)KCCQ%\R
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
M\KX?;\$CLB3R,OOT4&+]5\);- #79X+31K8U2E[E54-.4 GV@JV+Y:_7U3*
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
M+4HW78Y6WHA)L9R'E7*(OB4<G_MHP<> N8X7$H4$8^:V6S:M1?4;0'I;E*H
MG:MK]+RT.H,DV*IL^G1GHAET9??&V+-M:LZNWWVG0]/G-@@^G!L/9)]21)D'
M"9^+P7I;Y#A(=%YZMG (FB,:;#4CS<X%HI;IU?N&+BL.>$ 8T8[K36>B',VZ
M:T>8>9]F$Y==& 2UR-8CV!7(YK6[GJ;)*EIP2,(,E:+U;X1:VJ;&.52&#.'.
M+0'"4( &TYQM.*6V#++ +1-%UH/5B 29P583Y@@D@.W2"[?I2CAD1 :&@XR7
MD(;5?3F?-[./\WJ\G GU48?+G2PF$%VRYF&\I*@I,-8'09Q;!KB4VGOYAA0>
MIDY0'YMS 'V70O;: GUT=KUJ4)56DK6OK50OEB5(_,2PQ[1IG(!-U2\Y" :$
M$)967<L.R16GR)@",>?5]?4M"L9C=ZWP+$B>,\ID+1!/CCSL+G=O(52NQ:3.
M2@>WZ:IB45;)EB2]=.!"K80O>R19N[ED:WJ;/=I-KB^M\S7Y0$[UVX4UT6R0
M,.V--)XM">I[^-[8/YUF?*H93LI'';L?BW!=-5R<+75!PJXI;F4$,6X2A2TJ
M/M,TV"3#P4DE"$SR^3HMIOPW]JG6C6'-$.1G-UTI=]%#JPF=H.H6=(?7^5S#
MR:Z?C75-:^B-!4MP/Q^!<,QG1A F1X&V"SSS#3K215.I2&0!W5AS"WI*&FT9
M9P)&I5R6'F 6&<1QV#H1^>Q<2VT;,(D.5SX)HO>B'"QJ@GW$W<",.D:&-M#7
MT-O)1R^4*8+U @P_[OP..@//5L!AC2D9PA.UUZ.XO4:#]!FJ0X*X"^LJVLYD
M!8^8GKF2"ER^B8?-5\03L&S6V";.08JL6.O= >*[0-^8X3U0-TNKA%O5P,$C
M)^D,?3]<36M8I#H(3BWD;9TWPK PL+;AK8R/-NT.NSW(R@5>DE^KD''7#8,.
M[')A': 0%AZT!T_/)ON!A\J_7PNT$D:N^)G2S"R3TF%/^4%:'S@T<]4X0KT,
M:'WB'3!((FTOU-.]7-/F*J')(=^>=2FHI?MA#RT&>6>5QM@DI'.M=>0QW4KC
MJBR:JI#TEV,@$2Z4U9K=8P?2KNY+:!E&%W>[,+M )<7X&83UX"U\86AFACM4
M,84AY%!C]%.7L4DY8^.&Y%2Z!SU6];RJ6_:>[: NFBE4>ST*#X&Q-6KD ;3P
ME4$++QY "_<'M/"]9HL/D?4["WR_"_7]-B?ART7)@(6E#%&'7C;=8AK*:0ZK
M1:('3,5'AR$A;%@<K!VH@<8,>3=9Z(5$Q@F'9QU(/0*F">?F(%'DFA1 #T*-
M52YG68V(V-J<;5*-"@/GA>_M9>L:1'1=RH@5ZCYC ;#* \D]NY1.$_I7:X>T
M0VXK8@!^8+$VA4N'ZFM.6*<^M69XALL:SM@!,C82,^&@#_N-H/VLR)9)Z<_D
M*]+DN"WM<U<O/-OSP5F8K>(GE.F$76Q;ES 2U<JN'2'_55=E/DX.%;#8R&#X
M,:ES7SF=<S$G?_4=@*1%\%%"=D8O_%#2;^Z.-T+HG>BI=*_U0 Q\R;._/WO^
MTGW-T8?DS>'9>?Q!^B.3^'/$<^;+^.F56*N?:#],R!BUYWSXR14*(KU%;MU-
M7B^6PK:FX]@WBSX>?[+UL^.R><13'LWWAY]:(V1^-_?1GYOS=^FM)EEM40_%
MU+C)?$,UC8T@FSFA!^D.Y7DTB<8-5[%?:2=&SD\80M')N0@<-O($F.RMJGVA
MTOJ#UQ/U_%<.P4>[4UD[><?91FTOM0ME'D#^I9,JODM_"[8W28\H=O1Y\0$.
M)$@/)G?IQG7'-K2Y'Y7WQBQT)+TUYDL&1/M@O/ELJ&6CGS1),$US=$4TAR^Y
MKFZEB+Z<P%P.A:% B:\KQ;_XD @^1G+!CJ0!<4S_& D[Q))U4V(-2&!!K(F
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
M%7?B:6@T,^+87W=YN5\.PFCI+<Y\A-0D&5N5B%<QB<>ROLGRHF!'0@\Y+NH
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
MW?_NN\>2?/1[?,.M>[P*^&M?N^SA/2(\NW<??_]K4?=TY#UXC%\^X!:L!!R
M]PH60K]%O==)!].@ E).2#TS^$1+EB!TA;F^]+IH?\):A&I7O>E/[_W!U:\(
MH.FO]N]DMF>"0N'F.UXCL!93K%+.9#/^!+M9#B3()6/1-.%=:P*13[W/+GOR
MD3=-W2PK1$@H:[=HPE$6N]G0'T[6Y<+;#.42H+-B"_*62-L69B+761!B+@JB
M=X%*CHTCX7..1L>&.,3^F^M&O9W17;B:*$(IQJG?\Y?^I[/%R4\-J>E8/!7Z
M]@E[6*'MPM%/3]9.HM VD?I:__8*?XO)U,C$ELR2F9HDIVT^@BZY(%)&OT]
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
MWLG?\DP.0*341G__?_.@0H=_?7SR-W8XJ2<<AQ,@8\3+HM=2*0M:,ZY[;R_
M&]_V;==+>_0WPG]]_R'1(OO+[G]]9W572]W?L,M(LOCL5_:4T8&<&%"_\Z:%
M:4B7L_8/2IH0\9Q]IDA>:(%J!8B2  V:H5+DG%)4BRKDY/AL0)+8CX2CGV"4
M;)M:DKK\:9PKM]\G^\P,GB8I?, Y.;CPZ$^SLW#X5/M;WA3J@#J.)(HVP!<)
MO[_\698 A42_[@5!$[<>$BF;4$G$W!/F MZLJEUT19Z=!Z"_V8BD>+Q_?WK1
M7'WYI=YS^^S\Y>M7+U^?O3W4DRFQI:T#X87RT;WOLA=55=:-EY8W.[\Y=_F\
M5Y%]]^C^UX_#H>0-2+>])%"OQ)TH_N6ON)M]]^WCD_L/[MUC"W+F1%2$,4[$
MS\MD^VS/FZ$=0:@-U2&! _7/V?V[$?_]K"=JL.PEP1:]DOM'0\%"Z?%)<3Z.
M'-ISW=];5ZS6J$GI-T^R!W>S-^_(7UV"TS)0F=WV@5!Q.\&%/G55<5VP&^4?
M__63[*$9;M)B-+MS7NS]G-S-?N2.8A_V2KXY>]'1UXBK<__^D^R1>1\[=F>U
MV_C]\9<&L.P.9 ?_@G<]>))]/?]M?Z%$\]_\?W[#YX5[XU=]8]_T\]L?B3[F
M7[!$5.C])/O6/)PAH'<#J_';"$5\:L(>YXV?P@^;2%Z,\$4D@X_O!C?]N=^!
M[_RQG:$9K=]>/>='_(OT/53%0-NBJ4HFS@%]&[Q+5"CXW?+^5S^X=S VK.2,
M E^19(Z8P4?7VZ]L8VP9](8'YA:>/9,59?*+(>T\A2NX<>2TLX,#31""TL-\
M](BWX[N",6;"#-RSOO:&*[&XQT$";3 <)3=(U\3GU""8"$S*(%#8C[8V")0(
MQ1"HR/@L!?=AFTEF(KQ!4/6FB>+<*$=32<FES9:*QJ7)1\-02S*,X=+Y5S>*
M6J*[*>73A+X[/=$@HS*W<\.Q'!,NGSCA\MTQX?(%)5RR<O7__ __:9O_?;_X
MWVW9O?O?%.+U6^^/X2^]>/OLI^S^V6GV^L6;OV5_H&K0YV?G;U^^/M:G?CP%
MQ)?>ABWM!4 6<BQS,97I'L/M."E8PN#_%54J,!;2B_MI]O\W?=9=(H1/T%ON
M/P]W1$M(Z3IJU]<M"=>[0L71]0B!&TCZ;0!%\-Z(;B56VH(":83\K9=NQIJP
M ;C 9 (X%J)9X[+; )M)GJ, &HN[X$DRIB5!&VIN+Y&&?)C]CXEYO)D@,2=Y
MST\!UA@"/G-8%%A"^@Y"2Y>A!.HU@"ZXY&5$ZZCU)LR/*[=D?,WUI6/+K1%P
MS=2B<URJ67)4<AF(C+3Y\!63MR0HZ_$*+R$49)\G"-G<S-92OR07O X;9"9)
M2L"FMKG>H3X$]A>#F*2W)H^%64>DH&G;ELN DDM$F0<D#<LXFKWWTDOL&Q4Z
M<E9(4$FXF_YF@5RGV5FUNT2(4X&!*UXMQYR81'1E6E! [/,;=@!9FF0Z0O2I
M$@C\-HJNHE'YL\39"*8\"&Q"M=#/()")*#T#$/US>"!(\X5X/SJUN0T14^L
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
MZ7>(.$+'T>N) H_04M%((@,IFDG'G?#E[H2Q=1&84=%_#02#_B*@,#JNTXJ
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
MRV1#G6:_.'MZ*3&Q&0I;>>:S<#AU9(@PZ^M>R.=(EXWZK WZULQN/3B-R\O
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
M\AY$I$BP:!)0Y;5IIZ9)$'2W'@,)MV"7\"QC"?-:TR[J@5_1,=(!$I#"!-V
MWA8F"E,/'Y\:7!GZ%19P:H%9WP#_3T_^"<U+[G^39P_NW7^8I\/FT?#Y$V9,
M!@A;B4I(*@ZY<&<N-_&%:YVK>"]:M.=) (,&G$_,6C'Q%?[%P"QTP;B:'=;<
M<,PM;'9APC:H>$>;=BE7208CA2M9M_<J;R.G!SWK1U=<[D_>;,!ANR$%7/AC
M@+E&SH@0*:2%!Q,N[6WE@; .!,+4\:&R0K\$X+7M$9GXS;R9!9 ^*:T"[(#3
MTEE81U"ONSVB1'0DY9S&4V>PN* -)VT*3=XN1SM635T&;UC)G8"S6C-O1IKU
M,-]Q"[\X4%R\ST6D@PY^;@A'A7-DT-XX#(54CT1$DOB&_VE=7#4M5Z?H851/
M/T1K]P$&3$)QF 4-$IAO#;8,9W(G.-2'7N0@V*-@ \Z;*+= /VP,RB&W:;1.
M'IO!MK=R6P/J6"RCX-;83XJ+<##'M;&"%01@E$U!J3:)<P0LP+7C]MFF6=P,
M'$+1$&N.#@L92%*KKR$9F]C7ROW<IOCS08Y?H\@379E#/"[A>3'OU4K"V-J;
M=.:2WNOU[@4"@5X(J*VL?V3?L<,1C]^FQF&Q&O(K\_.XI)7!N>0WEYS\Q%U;
MG99\ +D(V-P<! MN*6BT9"1T8ES4T0*Z=N-/ 3B#!E1@L8K55=G%!H=VJUY?
M-FS#2\F@ DY2J,?4PB2F55S=]P!,G.G&%B@AW0WR\3[CZ>.,--2;IM5."3XE
M E-RRKGD3*PS9+HT-E8:J),7Q!@ESBBS##1-7*3%P$=5=GX\'2TLX]QIZ:^
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
M3JSI*_0$)$>^^#V7*1IRHEFY7K,1 B0B8T3@Q$OB!@K=,TY2^*MJ5*=-;TW
MU<RRSX$F F %B1<>'_Y)0I">^UG&_EDNH. $,$JPQ4K]F'T)KWI ]SS+T-9]
M.]N2-L,V0;#(^%WT59FZSG+("NM_:?>;R[HUPO<=E[N[-'?4?(1PB?,N3_<+
M/MAZ<3L5L[^5<>WL;Q<IG>HV89RGJ7W*^_EU?'*YB89^O*>'I^G"LT)\YL;4
MW_X2922!.(U6$Q%MAGY  Q:!GR1/,]C)QE7VS3<,#?_GWQ4J)1"G$4-XW*4I
M5LZ_:LNFQCR+;N-1B:,1Y\-]^&4CU#EIH7_2T28$SO_,+I;1JUWNUBE0^>:?
M9QBE; [>M-]V,2BX:;LW]K'X3B!8[9F /L[AMBV$LL]-V^!H\,WOQ"OE<=8'
M.1 R9BF]61]?I%_MN988UZ=M[)=*]NGIV>7-:@?\_/2RZ!+P%820DA&M_O?Y
M(52CB1>.XZJ\QU+K&J222@8;G_Q]@&XJ+=,,[HAR)GV81JJ^3>, ^U';QJE
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
MN!W1,%)5U$>$50^30-04&ZK/)@$O)H7JO<Y)EZ6$52<V#6,7K3R]UE5[8]L
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
MSX*M**RT4W.0#\MLR@_!JHR-UZ#C=?IXI!Y6$W7JTF4$H]%<@ES=!:6XDYK
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
MRKVQ*:I$7]OCG=:9IU5"O67?2GY4*"0^(F?I\[UB* 2*Q@"(:D9[JS1$KL[
MA5WP+.ZYEEL<</8%U@4+Y]%="2=_*[K+RE^:)<PA;LX(>O'/K,IQ'Y[+4\?-
M%*M>'K0MVLN&LQ92GU9P!71BJ/)2\XV!.^&=Y.R=E3DA]#X*2_##U)I2,7NW
MH6*D9Q_(M@-]L._Y/[5^Q9 /2OB2E#+!0_72BU[%Y24*(^RW,#XAZ[21.K-D
MOBJT G<=*K/<2R=[E<= .>)7\;*((P]+S;)(.L49$;V1E$A=E 07)E7A;^,!
MO9J1V4[NZ4"#\CK8.#B$LDJ9H<GS0BYW,:RN(3^5)C<:JBWLK->$5$EM HQD
MW87#GTBK5S,DA5;.SR=G"<V0,_8I7][%5=RLH7@G$F:Q[Q/-+FUF Z1Z=#+%
M^2ELVN8L0<"]/AX<TEN=3BQ(\I)]L&&U;W>U:_W"NV;A+?FIBB%',X,+7/Z;
MK9#*YLS<>8K6R&N(@AJD>+!W4'D$7]=5"Q1H,4F(3>GNVG5=&/)PB1+J*#>-
M]*V;;@V:*71:U&TO!-Y*>VA5V(_\_CJ6ZZNA;<_0VB\*T7P<QWJ_^]*0QS,*
M-[.22MP$Z>@,^_(=,%Q@&8J"54BAE=9SOL9O=I3;+F9_*S=E8T4(WM?Z"'*.
MXZ9JB2WN>"K#?<JK$_>%B,Z134K+ "VU+0@?I)6*E@U+J^)CZ</E^'2R[ <6
M#^F?@HDA)"4@GQ%LE?S "&9AED._-*$ZG!#V;O5UL8]ZF4=93)P[ 0KVHG$'
MZ>I ZA_(%KA<!:M?*,)^&58EV7@4XLYG_]RH9-""2_!2U6M25DR^4;AM0KY.
M>$L1(N4ZD95<AR7R:C[HK=BC+6]8,4US9MPN#K.@[,L'KX3/?6VCU;W8=%4]
M>_(GU\TPL+E3J37-U4VD P<9P-GOOOK23'8?&LK<8L+IM!'PKV[+YA>GZDKR
MD9NE-2'\7-7QG2^W\3=_ZG;DA/]#J8TO!-2JJ6OX&HY2DPJ&ET3T<S2;8-=-
MIG7OX:U*OJ$7;]/Q*--\KG?KV;RL-2;[W=-'OCUFUVB6/2P/(T9G5Z%FC4/%
M@XI[^,_SU^><1V=9)$I(POZD0,ZV5Y]3HWKSE)A0IZ9 N@2(_$HH8SC8VO4Y
M=XV&Q\D84MH;_$;7?%>9 EARCQ.ON[S2U C8^>;+"2=EV<98FV&A/QWZ#F$/
MC(V#[N,TKK$IEI!>K?&D[3UT1NZ8OC4E$A%B<LAK-6I=H77Y+R:DE<-+D(JZ
M+I+OS_9=XF.W#.^PAH=GL' Y3?R,>[X6JWR?E<"^[>J9N';2A9.@)SP\;>W"
M>J@!7)#@$C/F_I1O6'"OR*?F>]_70*%;FA-M**&@<TJ609U;S?&Y/)#;%&^E
M&?MXO!JJ?[G:Y#+$\TN="G,2<6!@=KKW?!#/;&7_(-G /Q4?$RW9[#5?KJ]E
MU_Q$F^D[VO#?E@OM&OGM2C*<V(BS]OA1\2L,X_[S]EVEF3['^? ZWCYTQ 1U
M+670_K>;OD*CF[O;!4Y H5\7*/35"2AT @K]8@]\TJ$Y> MY"JM,BS2YF0TK
MAVO_XYB(9-R+>ICA:BHO/-]/<9K]^;#YR0S-X.!/6I1HU+KM,ZS.646"XG\F
MW@8J#8W6,4WM%^=?/OWJ][_5PLJOZZM6#8WV#&]\RRL*U>8?;-^[6>/G/G[T
M:/C4WV:OBNZC@D*N=W63:F7@-A>$K1+F<=)-J'%32T<ZXG2\TR$_[9?/:[^@
M>*6[Q>T354E)/GA6-\OZZ5P&.6_6;#L/D_?4+91%3"(Y\0U.^^TX]ANGI!06
ML PFC8T=X3)$0*I9394Y5-*EAW8-0=Z!<HO >&')]Z2#U0D^"@D25..5?&98
MI>4ZJ/"6GS;C<6S&S/AYI#!AI.L2PI0%,[^52,H4GIS=.V?/Z!X][9JCV#5$
M;DR;AM2OMC!:U*=6A]0J?TVYU#ZZ6M'GIY8N3D++OUK7/.40@1RJ [-&+1E#
MM$,^'+'#/&RWH 4:J*2?']AJGW4(EC$)I^0^;/N\S7+W@F%C# VG:"6S/L9!
M<Z2EW0!TTJ^"=8%((CP]>0B%*2U1G]+<7$(_D/ V';A1TVERC] N0BCAF[("
M290ASO%3.@IN?Y1L\Y9I42Q#[J]$&5NH&*PW%;(Z_J5J37GS<DLHI*5@GC;E
MWIH04Z679'MO+4#Q.-%8":0!V"FE#WB,):#I9%PDRSDA4RI]G^YMCB8)_A.G
M%.-04.\+BB#T>?&YE'\82;8,_:*KYH10E!,!]BN."</Y[,)V*]U?+*?(]!?)
M->?O2-G)[6^I@L%38OYQV77\4SP ;HP9P4!'T<64U!<2'J.P UT6J6#C H_&
M-YA2Z]8)Z9CV3DZXN>!J*0-OC&4SE%V#2T<X5789[U_>\/R1P_".!8<7[P6Q
MXK1:!GP:A=WRKT8KR2(%^<? *,HRR59H94+"C("_WRV7@0BHV(BPIA/O)*_
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
M91A;=E"A\X*OJ]T:GQ2"HUOJ\(FN"+5_YN\?%O_)@#@$ +WHH/BOP\IJ]2<
MW*\+@/OB!( [ > ^- #N>>Z,;LNWWL@"N=ZB3YYBBM1B3I_S77YB<UC%S10#
MN2NTA(0;>\03[1-F5S[*^9D="6(.5(EKXCY@SP,KY&[-FY$32-?JFB*>M\$T
M0,#^2^M\74;_BKVMN$+-[%^[KNJ7%:N>GL]>.X*[?^V6EXA^$)PD5PJ7ZKHR
M^;_+NIT3V[3MSA43:J1!)%S)8'L"9H:KE^3BB4./O&M&VY?ZX-00#S";N/QQ
M#-*HZOU ">_*6AG]X6AWC/E3 @F,0M_"W#FB>D=H<#[[8>=?(+[\=M<U_7">
MR]VR8@P:?4BP/OQ6%[5D.<$->2F-!,@#L+M25V]"75VU[.JJR&+T1^E'>^EK
MH@G6GLN>N"/+5!$B*3-Y@V &@E@!Z04I0L:)K@>O28XSQHJ1M_PM$\1B6R$
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
MH*8MI<Z(@,P464TTXJ1"Y+IZ42&V226)]+*4!@482:<#] 2!<)S2V/+KD_0
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
M:#P&S3("_2>O2X('LO20)VO\J#H,N8^ZW#N7D9G2(+)B1T$<^E30!U04]^F
M2#Q!(X3'LL*S0UMRK MFCS*'XMP3I"I#$:8/)^4[J]3=4/EV65:9)(R6)Z6"
M/WF]?'T(199HY?H03.'&3CF;4MV^2(RQ/FC(/N-EV1W;>I2T[3PV0QN=>3*"
MO'$  ^"%8]+/+Q.6WI$LL4)^,(;J,]*H7[A P?%W+#7\'7=)D_GW0B&8/8+Y
MXQ;[Y=/G"W9U_G&/@/[BV^_LPZ>K]S]_N?KULC'^[F=5]EN6#36&]C,;VD-C
M:.^-H;WU%#4'$0JCT?3=\_8#;K^>7W[;(XAEGSZ]1#WL7#OVOLOB6=_!Z/L>
MB6L/\S)!:7^7];.^B[_2_5@XTI,]T)/GE_^Z^,8^?KEDEQ<_?;KZ=GG^^9M*
MC;BB^D]?/K.+_^?73]]^M^"-G\^_76!QJ"][M.CO__6/+S]_N+B$N7S[=G%Y
MQ<X_?V"?KJY^A3]]_?7R_3_.KRZNV)>/:AI,U0XZI)#SK@LIR0)OQ5. Z*2\
MES7>KK#&V\&09A?1^$)IN^Q$,V8EYN<H/O/8Y7^QG^3=PE<"JZLP149]NE:^
MDYVP!9<4G+C/X8UTW#K'Z+CA?^65.C+#: I+JK<:/_YT\5GO7+&OX!!'.OO/
M"SQRQ]2YS!"S>"CF+*\WP"!Z$.JGJGI?%C4MUINM_1[]JG4FGD:BXE'?PIUK
M/T&'DX;P^K?2Q4_7.'/F^7XJCP[$<AMAAC<9Y7OS28CU1YUT2G>3WHAB+4Q=
MTK>*TQ3W+X0M.D/R<F^QJK&+&66G1>'"??PPQMM:/H&$W.G[._3C\OEG>D5N
M-LF9X,T>4R'K=REQ*125ANF\[K3;*,Y+8[*J2D[+J[?HQZPJCZ[65#U>*QOP
MVJ]63J."LO$$;X%4L2\YS9& ]</P%(9\]*$OC\[#T.%Q7".\'D.>QBM<+Y@=
M*%/%LJDF*Y5=Q3Q*H6ZK$OGM*90]I-I9'MLSEP_.?2AO>LWBR %[:WK=/QZ<
M=+O'O>_MUA^SZU>,^TGEW[570$+1&W9F=V?*;^GV>_ +.#O:LJ_]+2I"YK*S
MM8BH8IZ^VF\N)'YA:5SBGY'094B4^HJIT VEF^@8J%9F4I.-LNR<L><+5S_,
MJD84+M3"[K-KOBAB1T%'"WJ.U!A419)\:"-1N*Y$YM!0)#)/;4465PP-(Z!B
M)YDJ7KC-"[HI7C-FJ4OY=)".-ICS^L;J4A-''4S+M_>]I&(8-'(Y@.8JY ^Z
MC/]7.D#1$!6L=^]E\7RLH<PC-#(C-N.>6W5)@3XDK2KVY]<&%$M>4[9#X0H!
MS&'/-KG'::"VRPO\7[QA0!^B*U\84+CW1BC]$]XF%4DJ%5LP2L7D \,;&%9,
MK&@TY-=3+MZYT&+G^>#UA7=2[C5,*5LYNQ]"G<S1=W/(BDMR>P2CUD"KPC;&
M2%<%<TN%..ECE]+NE2<0'(D[\ QD17=U%5"\6 &RXKH@2Y,67LF*;Q?3W[%0
M>91=3Z376YTKHL!_H2C>+ JI&E;QL,-89CNNF@[=. 6 C?02-WSYP*()Q3YQ
M*/;$A&+W)A1;$RUZ5;B9H"$J])SVP__)@Q3S -1V^'$6"L'_=-H])F.O K5K
M\?H&F4^,%[16!TCD_91!2@XBO5O=C!N*6.DXF3Q0>GI+&>!T 8O,99L(GW(7
M >)Q3S_@4UF0=Q2%?Y:/K 4A;J\*N4&OKM717V.) #(HU>FV("&#M72U#ZHW
MI5'R690&AU?YTBVXV1V>&\TX(UQSJH/LD:!?"E1=[(K[\AC>KT%AG7+?I2F7
M@;[810U[P0Q?U7UBQ D7?V%MY*+_JJ[)_H3'+659X_,QNIMD)>MO&Z,O]N!.
MC_YW6>U=N/O!/[CWMT?[=ZS?8O_OY<75Q>6_+S[\?R_.EL]FL!JGZ^FE?] V
M3M?>.%V/G&(.J(/O>=VE^'N>E/J=BO/'7OQ]O#](RP:89?'Y_*<+O$HK2ZW
M3,!?KZX^??E,^0KPPL^_7WW"/(5]@N:/GSZ??W[_Z?QG]O[+YP^?ONGA ES_
M^O,WRJK \WOG^.!PTBEVG5-<N-<6D,15,4R]TUI(FI916,FC.O18$2S4QP)U
MW<E"5#8)KP5Y?[1MLI0[7I4P7-K, 9]5E**&V0?%O13EU<H*UM ,&ZKSS.M.
M3V?A6ZQ!S>2QO*6\]2Q;HM2.3IIHL:L\6[TT(E552@Z)!K*2K(#M,O\!"R+X
ML9 G(BM/?Z\J([IXXP"56J""6X4+3N99"$''92U]P8$^AE:.IB]?WJO[%W1*
M ._X//+#D*X3+JP?;3-Y 19BT*?EL;DT4!=ERB! B0FIP![24.>6J-9_5JU?
M9:WK;3AL4;V\Y@Q]+)SL+'<%.XPK3@GDMVGI"'6A?HZ\=!)IF(?!B>OI<BO,
M<RD>^J=C[$FA)FM>H,NCFSVQ3KV753A=1],%?MI 7I_YEJ)]PK=OZ^3M6@1T
M@\!<EQJ!3DC2\2WXP68>E4C 7Q$9CK#^TQ%A1)YO@DE7R2WF794^;;$/6:_$
M<WCN]\'MV;J]CCY2)(JQ.[<:&U!,,?HV#E-Y\%A?HH!XB#I]^7J3#V42G1>0
M/K]OZ'T)Y2]SE/^2H46A8@5=9G _Y(ZA9WAE#?+:>&\4GJS.]]LOWE-C8A11
M+-4>2(AN;F#EQU^O/GV^N *SYM_@C'ZZ^*UF%LT]!_(*)_/O+S. 7(1GK#W7
M0^:1)]W7G''_*L*9+S)1 6;6R8SJI+LV#.BWW"!08U-;SOF5R?K .[E;I'3H
M[NLQPO_,FPEY._$8!!T^I-T!/J-K+/0MTF'TI]X/!KV"2I3BWPYN>$=X]P4E
M:$FH$U./'UC<>Z]5SSI&1.",L0(PC_4%*)\"IY4;CNIAEFC+J7B.KRI7%,KC
M%=,4%IF&Z]W_*+SC;HJ6 :D!$458SLXC5M:FX3\Y4,)B%RG6<['8MS3Z4\PM
M=HE8S[.T/YD^?2NXCY;YF'+[,'.  O>)-/?PO5\\U_4%N^!Q(I/RKL(4OC@?
M1Y[#)<-+&D3\/Z!;'<[.?RS.7O_Y:0@ G_T:4!$@.>:LYU];5SH[^5VIVH5T
M)&3:<5;R\!PZ@NG E,\IP=3W^ ^X_O\1>+K5+4R<:J*=QP4!JSN7RZ3S;+W0
M$L!;A6B9"%<?L/9H !164-L#">[PZ?P<B5_9ZL(Z9F5GB_RN4MSH)  ALF1L
M*D=9> V+CN-A;3#X +]%H&X:RV3V;<'M*$X$^_WA,OR-G>O)9I/ !':=T@.M
MO2V,1,K&OT*8S[NRM=*5.[\&EI]^HO\(;S%A3=8_UA?%;<S!FB<?BD;W\+*R
M&E9PFWRZS&KZ)C\"*KKQ$+I1%7[ 4D\#65BN2??8O;C=2369"@8>.#$^6F/
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
MO, O$?^/"(3##9,UA<E:[8S'TAFH0V"N&9\COUCL=;?P%/X5<1(&0C_':RF
M[^#1!3A6,(4[]J,7Q@[@F0.=O[U*_SL)TW?L9V_J(0QJB--O9SCG38$. 5T1
MSMD(FI@'8,4!1 (G1X'@C,YA@UGG13&.+B'$!(GP@*<=(!Z!:1)Y!*E2PQ-#
ME\?/@W0,.)Q&V)'&YJ596=4RY7L.WEB>2Q-UP.$GMR!;>FIG^-2(4#-$Z+C
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
MI?'P- EUM O' CR(0\?7CWP^#],$FK\3[IGLJM-NM]IO] >$9+-8G,8"C$U
M#4T#L@-DVZ\6,YMNO-@;>;Z7S$_U]Q4I2[*[;J_5&QR_.7OUPXH7.JU!N[/N
M^9IG)ZU^?VW;IM^=]#MLG;2W[G?+9_U6IV]O^:W=ZO7SY^9NZGVZJ>EP)I>E
M-W?J?C?U[P(OIKY8LE";N>ZUGES&U/U[>'K;HSR'P_7O)SRX%C(P<!.WR$;?
MCBFV/\=R.(Q35ZDPUH%AF1T=?E(P0 .OP,NFXBP"['T\LHIT&7P:X#52U'0I
MNM<Z,5*T+876,M>AS]T(V0.$[-X,1"-D1E4UW'.^-[G9B( 1@7J+0&6BHQ&!
M.HN B109EGD<:M9]'^FMB^D 42QS9,(TYH$;5R;#[[A@2N6P'R<\+YV1O4E"
MC,H0.WV@7-6UU,G&YDGM9FYF6Y?#;H:'S6P-#]=R59LUVZ;P\('/T\SM,.=F
M^-/,;4_G9J['>JY8@#YI9NJ?'G3UD.>O*'3P943Z5K]_;SK,/J^Y*1IFQ+>Y
MXGMBG;2'A[SF1GR-^#97?.V.=6(?=!TO([]&?ILKOV^[EGW<K_^B'W@=OH8)
MLBFBN;G\WGN@:I\7NA'"^U1%-)_EBJFF1U5UE3X36#5W@YJ[03<.ZAP/=J>7
MS-V@C;(W#3K4'!TZMM7K/-55<P8>##S4>+$;  _'0ZM[W#/P8.#!P(.!AZJ(
M=7N'$>L]A8=&!,9,5-M$M:MEW-[=99%&>/<NK+JCJ/8C<H7M'46U[4.,:G\+
M$^XS=_GTL(EQ&_W2"/W2Z5N=[NY<S#JOM3$+:[.4!R^VMFT=FV1#([9[,5TC
MMINN]:!MV0-S1,>([3Y,UXCMQD&8OF6?'+38-B(.8^37R.^*(.I!GZMKA/"^
M?!#U@:G!M26GO$W4!$+-AKS9D']@5,:R^[7?CS<>H$$'@P[;;+58@QV69S'H
M8-#!H$-]T,$<$C+(8)#!(,,RS7KMW:4 &FQH%#;4>2D/7J[MW1W\J_,Z'U;P
MU"3T[EE"+P]<%IJ(]G/8GG;+1GO"#=.1+U[2^GS^ZF>;$.+@%59G:!VW[[T*
M>#?,8ZS1^EFC!BV:A!;VL=49/E5M"X,6!BT,6M0(+2@S^JE*71BT,&AAT*)&
M:/&V9PV&N\OIW%NT:$3FIPF0FP"YJ7UQH,+[5*%R^)<#_-*/&\RI8\/OSSNM
MA<&L[7P%!3ZLBU,S5SB1X+%PV>M>:\B@9=\+ XN%$;./W[ Q_ OOL[G@$1.!
M"^]]$(Z8CJ");L=B=MON,B><SG@$CY+POI?MEEZ/YR<$*[!"8U9<KW,DG/ Z
M@&9=EL+*1"Q,([S*U.=@E_ $UISQZT@(_"AFMUXR8?J.P\V8X!9>]( /G 0>
MC^;T@68NY@70UU%QQV2$C!9<Q\R%P0'?Q.DH3GB0>-PG?O(%C2D<LZ\3;*'+
MD@B>R<%$X1UW4W@_V6XR^?<M]@+$LH$>CI_B(WR3^W[H<"2;[A]F_=IN'6MI
MA+_[]%S)%XSB1AQAY_ 0)=?NM=J%EZ]3>#V,YO@G$2?P#N-Q'#H>-4+#I69F
MLRB\ 7K#ZERF<>QQ6(P(%H6>CKTH3MA?*8\2),"8!FXQX%EGPES/94&(!'.
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
MS(*9$]!X8?0<A2MP_!3%R"N0IC2J*9^C2L2FX*$7"%?*?M77B]HC# !=U;2
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
M/&61GZZ]=K@_>V!)>?L>@YNV$ER.5G.LMU"_L4G";\-\PH;KJ.9 -^<)^.=
M=V(;,J$,9^MO:^-3![HU+T4DAWEI?VW#EEU0P<&W;VAVNFZOW3A*.CE)^6F%
MA!42.Q<2@[[;.^L<)9U8(6&%A!42NQ 2_;[;;5LAL<F2543Z%(3$DT,K[/<N
M;@.FJV]Y'W;_L9,#)=GBS"^FLF'(WQP1SGA0>[W]VPK;-]+VC:S<D7;3;39W
MAT1VS&=MV?9HCO+@V;9SYG;.=M<#_IC/VK+MT1SEP;/MH.>V.EU[UD?-MK;
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
M5,FUTY0;IQGXL,;D7K-YW]X!V7?N?:I8.OR)(*7TU[V02'/O7OFZ35D<%V?
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
M.(*IPP]RC<V-*'BI@AZ\ #D:AB"]_YM-%4Z\@"+';Q?G3E"M(YXD&PSY,4^
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
M0#V^9!5J\5+1O B/H^H0M-GNPZ3(PD&S>HKT([P";9V@'\#PI7<L\6MA'/_
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
MV& "H?'&" XF #A&)A"E"Z+_)@<Y&2/N30F4LE!+H.HNEJEKJ7DK5)BP?PT
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
M.9I,I6M::&"+0<U263"0*Z/RTJ1.I4]!5G51XXM+_S/W;\1O18D&^'WH:5$
M>AHG^'HCN"D2[Z[I;P@WL\AFRHBHK/- 8Q_SI45*U<C=FUY+$,V=D*$[T>7B
M(JW/Z5?+ED#'"?\5T5RZ;D /#^G:4>E!K!'2*4B:?A)PLH)^1/$=;#BF:V6H
M_K:H6U9I;I%P1C<^5B[<'1YYB%EBW&KR9]#M8H6S1)9"D'CY!*,-'NZ=C/0K
MZA/D XZXB/32"L@OGXAZZ6*I;!CGXIP\<(UFJO"!&\>TL,>Z"$?$XIF/]Z[
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
M?(G6&')&O\9[_0@]D@3I#]!%J(,RZI2$W6]%&2>U8-#A GHW*<GYQ;GJJI@
M(A MTD0,/831E*6I=@Q+[<RIVXJBYV690<-6%!U%1=&+"M[KL7$OSX@<E/ /
MM7DH1%,1DG_#BBM!1Y9A>#D+Z*V9WC5B(.[2C'Y%8G/QCB8:U453'Q4XH<Z?
M6 H5W2R]::]+%,3Q5_](U2[4G8L2/$G5E0&**,G(#[7U6/+> BQLOA=IR4$Z
MXC37"]KAHIF+C.6)=@:4=8]UN9)Q*=BO,JL6XX'&L3US=NS%A6R \2R=M#7L
MP73>ZA=U&R)62G=!(\G1^,$J%MPGBG])#U*E)()2)F\Q="LBV 91K_82%LFY
ML,NK7UFZL%C4QRQ*1,SA88&.--@I)_ 7EMM@=$$$7B5R#%GB6&-3W-N?C\/6
MG2OC H*[1 CK5ZZX8QD3M%98\;2(7^/ A/Q8K$U0LYZ[NBU;_, DW?GKPV;
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
MO(*,#J&\5IKVD.,XI*GC**STP5@.1YN8$7$CVB!V5R5KYS<3OX4-7;>C!;_
M+H%"$YL$-CYP.,P)#EY4YN#X>:3F0UL!WH4X5Q>M$1>?,@Y[;D*:O.79TW;!
M9H:^S.<4*EIH5Z4\*TT.6T_TO/5$75M/M#_U1 ?I>_[,/0920B6 @@A,6Q1B
M86% N0]0?1,V(]1Y*;1(]I"H*GF<J4C6N"@"_^2>%J(H@96=+R15V:)'8/H<
MY;;,,PDUD^;#/XW06>%>R-FF-*LA**,)1BE KO\%+T YKY=N)/XQXA.H2H%$
M:C9R.&YDT 0E)Y@OI=B/UO%QR3' %^/Z8;*HGJW!;K2BP)"C!\1#<%_.KRR#
M;3JE3(6G-D"XZ!/: "2N21[!YU14P\/X3AC<\FL&U$T1ZR06<4*P^XA?9>)5
MN_N;19%$")*EY=?&R7RXNO2UY#/Q*D^7#&AC"TU:4;8BXE#J)H&P0W1$1D0
M$EX8&'+@S=(#9)0&T6T<WLKH+(4- S(,@9_#D$<W%'V0\@&$"'$TL2^_=_[,
M_1LIC*['YA*EZ*D\'_!X8I@[BC@6XH&@<0A2"^L@#-=<&4D;A-0R]H-':"$S
MYVX<AUR&5T6R M[C8KC(F)STH*JIAPC&E98E>5&.0CY?F%KE !AA*&J'*H\M
MAGD&WAC4A3KE Q)KNP\[9.C+1.I8K@L?R/F6!)Y(-GY+8LPB.-]1*>8<_O3B
M&QFMP.^O6"AV]F<>_$EEKO#2'Z"2G&]CEDQ@&;DXJ_=QW74^9W[=>2/KM-0O
M53G6B0C0"PH]  T/10)!-(AH$>^T-Q8D;F7N+8GOF9_CKXCO>")J;<09NDXB
M#Y&2RG2.Y'9A-',:!YAMCLA+PV!Y5%A,(QG-$)2 "5,DE:(22!TD2*,X*]ZG
M7N>"!YV9+U2%@?!HJLA'DPV*]-?]0;T)9E<8*C+#"6"USK+RG+HFT/+:2D%3
M%<OV37\?O6Z/K#)P1H.L2$%Z&::?P=X"!U;$>M2Z?!Z"1)Y;O -F4Q$C4D:E
MT&U"3&_T^B 55M>$\DNEZ:N0^N+39--2J(3VOWB1V%Z]!K63Q0]D?)@L0JF'
M@0:$E#3B L:4Q!QAS>C+BRB1>,L=>=XQAG/J1CY?Y')Y.:N@%!B^S)^30\LW
MQU7B6ZE._+DT@\W1,10QF0K3G*+>0%*HV>=H@/;J)HG3M.*=,N %K.ND(,B
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
MJ8]O!GQ1;&O]56^HF-POZ=MRX,-4/BEHIU5"]1&X1>43#3B?++ 2)4-3F:O
MNK"3-_,=.SOIMV-C?CZQ_+:=\:7T7'^%@O!'^"/\G2=\LUI2X 9$5NP<92YH
M UI[J2Q:WDENXF\+VWMW^+-RK,W/&]P#PQ]UKMI*:%XOYODLK7!#?BS3^8?6
M$7@TC_A)H6TRLK/[[<92F.::I:Q2R5P&8($G4%$S\(4I2"Y956*2^."]L^TN
M<F0OY.[95[%[.E]V5ML9+69KAIX;2YP:^E+VE%-9)EFDTB \DZ!R=! 4KY"2
M"9KY[#W;K&SQL[FF^^&4&7L^]&.OG<>2^VFY?IN3/Q[-"MJN]4NX>$\Y^BH6
MZ3G:"C$R#LIE TZ+ $&:%(S5VO+-'LC=Y^AWWLG-CRW3?4O33Z[F6)D%)Y,
M)57+0],&+&.Y&,>",_>__OT BR7YF*D]7=:G"^!D?@W9_!+)!FY% OQ_;A?
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
MMM*?+( O48,UP3M\@:Y\HU+[83*<CX518R8':((3QXGCQ/%]YH$DDYF1#EA
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
MN;T#T;<!+PI $KAH(H<&+J>+4S$%T+RBZV=T@, 5@UI8<DSF8F4/7%L\"9W
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
M<: Z'D8<)61ABYH\&3W%K^D^%C9Q/;3DPFRY3CQ87VY<EUU<GYHRG> LA\T
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
MXF)]<$L>2=#A/*X<8+>5;!#RG,(I58AG2MUVJ/L7TFVB0T8:?HDI*BZ# M9
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
MVKQ]_:>) Z5>DTWT](M5(YM'-9+2P9\/&GDGT'\'2W4NF8S4%3?\0H$4#&T
M?4[JBMSMD3@283PZ/%+EZ2:6[<5&04<(RJT8;L\1E@0Z''EEAI[A3O>:@3Q+
ME8J3O]JN:S_1*!\4_,$C-6NI4T@Q:[CV[ K1=1S3 DPV1(,BU../\9NFRT;>
M>N\2!Z 9(O1QD%AH7N!JR/"@-HN..V[ON9,",&;#06CVNAN&'E'^>=#")N-0
M6HS"QA)@70I"0SZR4B<[L)H7:$T[X;Q?)$J6SB^R-KPD&-3%S.+&_OQ@8^37
M-9V2_@'N%1G-?D ],93@"U4AQ":IC43,:&X+)2V4JB14S/ Z<$"47MN9-,MT
MW8O3'83-&)G:;U'6( H.*[4R=!'O7A4M%X.D2A1H[?,X$'!2$QN9<@FZ+\8J
M\IRH)(@0I:%85:50)#JTD83!(R@XYD"4AVO#2'()U:=P.?!(F#I*FGIKI)#
M^Q*=A(!KH@)4-H*7^CJ6M$OS>.GA9BCY<W=0Q .?%4@3A]?,?<U>!)1<N5M9
MY-F\'6G6RF?6JM>>UZD=.QARW>]6ON<X(ZR%E]V+6N2E/]E+3W"+[#^8G2,[
MJA.0RGC8T&S.D9SMM]:^I?RSO)6J70VX*_:)U:#93AJ\ ;!$-5!/O9C^*&.W
M_)1O39^;]@D%)HC79*Z)($N/6)!])^7%<MZB[Z/-<E2(K%U*)23UKO2#E<OA
MLD>!:J-<HG2CD'%*4;(,9R]I9>Y$_C]?XKA8U_O+;TE'2A-R;?!)X'?2A?S9
M=:A:W4UK*A8:ENYV,X\=*DD!1O[QW/HX' UDO!FLT6*FQPMZ'.9?$JD(+;AC
MCK+:_;,CI\O17QSAL&Q!VK3K?U\'-3[@1 4GX+49;KIGA>WP"X,UCO]V6ZL\
MPL,/"QX>'^'A#QH>GE=^Z7FEQXK4]UD4"1R,BF,82IYE//%$]&WCODUGMN$_
M>-V]@$/7]GSUND;RZ]^0B/$9J9%C,<>T,5NZ"##BN$V,]FDA-^JQ57GPTT8U
M)MLBKX8?B(\RJ]@-:[<0#W\$KZN4H;)J5%;L*C9PL)AR.]7 P:&1UX892'P%
M*WH%RGW$:.8359NVU,)&C!+DX*@KEVJ*VR SBF&X_7TA%#$(AO*O!NVL;F5+
M4T<X)"+;KCG%.=(8\Q=8)C9D3Z8H-2B&ZR9WTSD[_U!/I.M[VK6[S5.;%.6*
M7:;I93R^Z=I_RI+7;JU3::)R25\HDM^II .]H!TE,7I#2V1&A\WNDW$^:4&2
M3@5IJ01#4BI8J$IC$LV5\CT'.=RJ 7>XH\G5;B7=(7(Q_O_L_>F^<E[!ED8-
M2.X0@1@46:##=C8UQ7UX'44>XUYHM+,GBU_L6K&_V#3G#=_A@#QDJ2HWE(E1
M%Y_RVO<Z_XP]P(<V9*OVRK*JDYB).(RQ&8FS(HQ3EA5^AA/4<H@K;MC:C&W,
M^_87(0V0J%[7TX%;=LS6JS]>3HN+Z]WY& H]'B!7A)E74CTT#UA4EPGCPB\1
M4Q[G,4^B+)E@H</8YY[PX3=U7< S5BG+0Y_FR8DB]?(R+.O[><9U.S-)[&!&
MBZWW$OE/59LB[M3:=I@XG1]_>I]')0]S@:TP( UE"4<E +'/PYI5(.Y55N5U
MQ9.;/BJOUF Y3YMB):0<O<1\A:!=W#N9+KR!(U.(S!,E2'Z8AM@.Y($3ZGLU
M"X-:9'52<1%.>Q2_\<C<U[.*K,1VFHAE&79R%6G"<B_)F%^G6>EQ'L0S*C#G
M>19X'JN"(H3?5*A2JHB5W*O#(BO#W.?W^ZS74Q,'HS=<3PKG5DV4Q1RS\0$-
M+AQQ*M]C1\@=0PSK4I1ADN8LS7 <>9 %C)=5P4HOK*JTRLLJ_R8B,3F22:<Y
MWTH?]'W[#H[$Z_HEU?'?HC>[NPIYJ$,6,,G;ZR[\__J/*L8UV[QX:Q/-[Q0Q
MC-SKA=[LJ\7L[L/@+Y9F'<6Z#O%UQ>)^X^]!)9@PS^HU*6A+)U^3'.Z$]*]+
M"%U*OE,H,8@;/^C)@9^H+44AI&47#P)"B$MY0,$I:X;*O=M"F-TK.\I[@F_L
M^IYHZ[NM',*T^*.%N/[0NEF^1LCOH['O_?Z0>4]<JVM93E%(!=00X_:]I(,2
ME1YS(/E>E2 ).5!%BHO*'XQA4:H VT\*4TY:8NVD;V3Y"_LY)(>=_9W$^%BX
M+'UQPO5*JP<1E)3 2J('E6#J#ACRCMH?8-FQY+U,),G?GBS^OQW'ML75Q:70
M)L,N9FZJ=])>GMAV]-\1]Z01$NH:@V(EY5S,=@SV80)UXK9K#-Z8'46,+V<-
M[T]4+J#556'WV8CJVH,;=3 X#_T@3CQ6%IY@D8@YXRGHYR@+DZHN\R"HIM'[
MESH8Y(4_*_^U:V0N3+H2Q^RW'=B+J3)G@QY;OMOF;KG=!)G\PTZ@1L([5:R"
MT$]2)R8ACL2F[79B.&U'X8P:+K!RCQ<IV_,"\10JG:VP$'89J#;EP 3J9R##
M $%C1^8"U<R@EU$OJ=\5F)97;70( --(X0%_O#4?&J11J@Y%2=Z(Q<[.8CT0
M;(#T;6IDEX3ITH)AY91J)=T)6G3%NYFO.13LZ@D,H;(D2EY.-G'6B*VGVT17
MAK>P-"Z*WA1#1FFZ+WDO">TG;\]%]MF=6&]V"K.A*!=UB8 *'J34[=B?DI+7
MBW:WI5])*R@AO6880"7J1O6AT)PX+0NC\4H::2L=.6.?)X_NC!'%!]&C1(DZ
M<T[,1I.AY%R\5C^PDT0W1ERS/;HOAI LCP-)\FH]*W)+NWU(2%YJ=U-OI,/\
MBR4"WF$!A=B6P."WDI)) W1?O7G[W_GYYN<7ID& ZC4.#R*Z%LK]1S\?SZ=B
M1J?6VCW7USX<U]W 5J](Q/\>)W"L#@C?Z<*D^GYWKM3"1![=+D[IP9P2',5I
M>7#A*@:FTE(3V$JSJJ,3U9L=^N/Y*[,WFH7>K$Y=>:N(+:R7:M6=VXBC\6&N
M_C@B"6_W*9]!Q/C\%6+19+VL-^AE"!! %F10H8< VV[^4=N3:LW5EG(HP.;2
M(!2@!<GPX$V;M:*JWDOBZ<09:@UX_@CP_.]_\S6:5CT;^8]V/;J\5-##CSH3
ML:TN!EPM4D(=N3Q9O -C#5<7V(U/\S'D-(0K'YX:+M?2OEOULQZO#Y8LS(#/
M:UWT\NO-/:]K41H<A: C&\T(3PU1=]XB'>1I541IQ,JP#EB4U!'+/#]D8>+Y
M95+4(/#?U#NIL_\JI?#6XDR/T86%$,MDE;,Y#R.^^,I]N'ZR2B>B5!\3CA^1
M-(F45# ])0]CMVZ^EV'??IBFAG.</;]9B2%;B6$DZ>6\GH8T$X%HSNF_D7&Z
M(;()T'D%[/U*R/%LYG/C3U<-3H(HP<R\4W\<^=KJ[XH-'EULG)J,KILDB-#7
M-"Z+?HH%)H%H+!TU%Y[+S)R\F%R3NZ3Y :':NR0"=47=K5#>L]NAACB!S)T[
M--,2WV)Y7$SWD5TKVIG==D4/IS._X6$E?I\/A.69$9;EXC?80'2!S6>T#X>0
M!'XQ[F3=\]Z4*\+WG0@U,Z19?VQ7B%Z:)0]29$1F[K8J">PA8M$L#GJ>MRL.
MCR/H&W?ZZ6R&XIVH6YQ!15-B]# 3I6"T.I<>Y[P*^VGQQ'\*49"43"Q--$77
M_I52.N79&A[P%#S!)\'3J5S@,!WFAGA6;=FH:S1 !7X#AY=8,OH==C&KK,)(
M1U6VL\^]@>&-1_*G\*D[O4$N1P_^D!>_D,I*. 3X@WR+1&6:S7+5[-*. 5!\
M6;JY6W<^[CLC2SGEIR^[II R2\-T*@%"O#KJK%LI!!P[/^ZR\R/9T_EQ[/VX
MQ=Z/[]:ZO51C&#$P<WF1-KL.8:PCKK<Q-GZ %[C,SBT*<8J=;(I6S=1(*UT:
MQ;;)W<9DHL_!FS=Y\=7J$L?>\4X&?C66&,8.BT[4JNE#Q']"YJ*F2VCV1#)S
M>$&9]5:L;MI1,C^GK+^V2_(98(VEG&PCTQS2N-KU#K-4PQ&5LB(-!E H\_Y)
M3GAS!_%2*M^4=#Z*A5O9V(@U7\D:E6*(@85;RB&LG'3XT86N3?2[&ADJA9P^
M(^05-=)D\ -,9G]LFTIW>%-F%M-KFM)QV$'^"#U$MR("H:8:B$KBM\]9'XXC
M')1B+.)C. QHT&="Z 4M%)2\6ZG26 _?[F4(>-GA4>'$\(W-!IA71N"FAU\=
M$D/16L,C$=.TFFDX])E_HKPO.'G@*=.QV6WJ#O;5>,2U$/W/8T>W:*@V ']P
M/G5GI:F)8-8?A=>)>*>U7>C/=LER_#)7P3^7BFESQF''2K&3G')PNTZ1RADJ
ME3>F#K'W8L5N]6%1=;M3,X:)4J;MA3VHF.4UWU>/;:8V'7D-;IW&>4;@5%9'
M%J)TS4K5IAQ9A:.SYF9,R;AI>UR_EDI!Z?E-VT@:7_F]P<T+0?GY:B=&AVEH
M/ Q9W B#P%T#U5.MWB8!9$>[+,=I+IFF=L!0ZH!O[44L8R,F#7;$4:6?0AI*
MC5E39T##N^20/M%94!7N1FUG*)L\G)RZUCH!J#:U^A+$+@):#D\P0L,UI][C
ML"_/Y]4?%E<P\8E3;#5_SUAQ[Z\'UV 2;&5?LDDTY\6NZZ4BOC)UL1Q-OEQ\
MU&SP YLUS6X-[F,MW55+U;"-7@7S5(SFJPNBA*FGT-6]-DO+HSJ\IN_QBMM;
M[J<W>D;H\_]\8<=PZC-/3,#_D@!$O#@V"BPG9'7VN>>W3;[2/8;/X0]W- (L
MZ)Q_$+.# :\K!RIU6,VF#G&BT_QZ>"><6B'Z(AU"&8W'/)NGVN.72+4H]T?3
ML$@$KTY94BGU4K"#>F5K@6EQ9&!')E?I%%V28)5N@YRON-;/XPZP[6G"NVF@
M=;[1%O^4$<WCT$B_3_PI)0)]>[5&T+)FSO.50BPEHCS#:$GW#G$9ER$6MW/\
M.VD]>S-E^&3Q3J'0X,HRS8EOOM]_\I8SWN(UK;OFS!HO0II,-7,7+D(MZQ(+
MAA9<ZG&-K+/GSL;E'R'ZP_G#9M_EBFR"])IK&^TA?O.2K7L4HDRTF):[NM=\
M!3*N(<^<R=C,NNTTE@Y^9SD[M0=',9T#NY-^CJB(*@N=K:TXESEP_4M[5:GF
MQHAU@\0RO1Z*YY<K^X*#'XPG:52EC"B0@X&JFS2KP7QKC^(UZ^K1 <5]L7!1
MN<P+RWM@U;WY2&I8+(P\@1_3\215;3Y_"BYL2SF?I;F@%?*!,S/C>;@O":E-
MFW-=<7D<DCJ?9ABC=/8%^Q-@SHIK6 [$,RM4 +V0F#MY81WGOGOWQIG!HFT?
MCG/>Z S=/C=EWB7X,G= Y<Q@%?L2)G)T-.E96GD_3Z?K<&;B@^II+3+.EI;?
M%-E?$:6]NJ>L[V,98W7AW(P.ZC E(TD0E>6BO^ EM'61];CN@]@J/&2E49(2
M><5,2=;,>I;\< XI<M'NML/0"-E7D)R7WH/^4.JP 7.CX5/6(]TM9,#U3>F9
MKZX?:R#P=%:UAF*89[#%2,***OY)A^..K!#MRZ+=($$==D;;KB;83:$Z8J3T
MZ*P.'";T E1B!199R2$Z&X@M=LZ4&+B5^,AMC+]T8*&*W=50[]EB*,&:1\!G
M>3GR2M;X3E"Y:?!M<6%CYH%C.C/LGFJQW2E?J\8A_1KLH:"Q!,/ONS5.RB*I
M'B04=MU?X"P&(I"5K%*#R*C\<4U3&<[/F^U6""ON]YAC6ASKB/=51TR/=<1C
M'?'&GO[=G*E05%LF6S$B[;<IRST.:=,[B) OSJ!(#_S*R$AQ9$N3H"^.9E!#
MXN87A]188P3=7 9NSH;V1R#=K8-2OMN3]E+7%?<=&HM/TWC!0?!T247?I/2)
M8MNZT!/$K*)GD_E\W19T262)I0,=!!H(K0G]I _#A^S?1/*-KA_^P<Z0ZUH0
MNAXK!$AHH)$"0EU>G6M=8-AS<*_:01O'FE4,-VW01;ZAV<AZ/JI4.KM>56)G
MH!7@?C92[:UE2Z'S4]7J-WG,[=GT"<V[H+D>JM%07PO^/AV/HJXIH7H.P&+/
M/GW+0;YUR/P75R<?5@_%%_<.J(*-SD,]KJ8!.8N73Y]^J:N;^B_#BJHQTMAG
MML)A<CL)WZ5AYZ-\@SS9!IMO2FXR7-R7=G&TL89:[%/%TUR?IO.<K5&[21_W
M$2=5Y:8?J.KAURT=I_D ,TJ4M&X-D:B:U&H?6GU9ZE+U#Z<E0C8N#!H@-,YW
MK_EQA]J:#HIKV!/'5* FW*([2>5UW&_XU!"\?MU%9T9:&?]V9@@5E0/!K\1$
MA-7%=EJ*T<)H'33(3I8_Y=NGL5/J3)OMWFW85 1&LQ 'M+/:D,AV%WE',GGC
M$0!FK+&IE2T'-"7NA9QMDYU_*^ZPI[@V[HL]L>]5.[]1V2FU1]34^1@T\MQS
MZQIJ/^#Y&0*FNO8SKW;8*NK"MW2.#S322WBR#Z _9=1FTK*8^!XBME!1=TVQ
MPR3D0JM*@J *.;X.Q1C^_1P\9#YLYBKQ\,LLFK[=B?DO5!/_1/V"R>!/:_FU
M9SBGYK] 299\\>P7"Q&S']MY?[!LT^3QBVC^V>#5W9.L4L[29YL.$\<F$;T6
MXL%PB(0,:!=\9G=-:C8YPG]61"])%4@LM';R&JN5JO+,;+]A-S(3Q$U[AEGS
MBI<?W-GCBLY#1N'S4\C=YWB"=H>"X/BP@N!?90^XTN2-F8FZ8(N_ZZS#*]VD
M_BNE\>\O_GWZD-""]Z3Q;UI WI'F<A33W6EWE<Z^IRR$/KK(-WB.C"18#%'3
M:-JUQ$/];[[>H<J2$"A;E4-?;:P#L4, 'T+5(*]M"(::>7Q5IT56:E)3(C.J
M7V)^QBQ)SOWU37O]J@>FQ5X'*?%Q>N"\V2B(T18UR!HARL3-N&C)"&TU59_J
MS"VQM#JH3THK.7ZXI>[EE&.T>B0:5I4D)-75_J;>,2RINTN_RW39O<KJ^S.G
MS= )R)RIH8ZME&_3YC:?<-LA<DS5WI2I<NO"3D"YW(L.F*F(3EM.T:^@MAS"
MH^@H%)RUUI*6[8G^M,\F7__\E\S8U,4S!4^<H4E50&\*SU48341G>^YKA7"<
ME!@/$W6%E'^_]8/E/3HQU(,L5*)$$C,H,BH#E[,]S]6<99HF6YS7]J@TKF0]
MTCEFQY[V8Y=)HC]D0$%]@FMUO.E47'(>#TG<[]/WUCG@X0#5:2I,Y@8=B;[<
MRYK*LO5KYF\Y:&*S*)NI>L2*"<)\E,-#>==_(6A'34G22U">#")U+"?!9(SE
MXIV##)]21XYN>4G?'0;^% M/?FV&SFY;'!%OGTU*LUF[;I^T7W!%=]Q:.IL*
MK=387=AJ0LR=04BO;B.!/@3KU#"N\:.!*_M/(1T^37<LX;Z(+OZ7YD76$^3E
M,K!.;T'(Y>Y\I\"!)=_"GW<;E1*4QDAU)KE,:1JL?:0%N#<X3W:$\QSA/#=J
MP/<K0U1RET3:HW#9QN>&/M;M 5Z(E4._Z")X?CJ0=)9S,@9J:J0V9O41V-9N
M^S.]3H;@__XG-#CHN$]>O%U+=!*'Z8_WZ,VI!>BG;=:X8$8/?<E3XJ&! "DQ
MI\;9.'E=W_/&5[T?^?[C.FWG7]]=/O0J+LLN3,JXE_F[5AU)533FR3Q*Y_<A
MG??7\'N%N!X%\'$(()6TFG.TY?"'_R 6XOZ,D!VJV7^2OD=Y<R6')/09^ NK
MA1R>YH%P=>WN]&PQ'JOF_8R_/HK6HQ MI*">\2A16O9[CO1G74V20N.#=:69
M5C(07L]>]@J/\Z?%%4*G! 7]<'PS0?;CS_<EAW<9"T0G:0SF)$NB/ C3* WB
MKY#(]O!E\:\T\60B-C^11)W._Q%S+,Y\;G#4,.Z'N-H%-!AS;-E]9@IPVA9O
M^0?*H]#(" )S3"^D*JLHO&ZO&E[2Y5X::&#$'X_3KK*,HIL0C5-0\LW&I RO
M?J3Q94^.!^E1'Z0WY"=(%^'*TT-MLS*AJ$?YN//D5%\/'09B*R#E?6ACHNNX
M2JJX]AC/2AP-G'DLJS(<)YQ7E8BX2*O)..$X\H*ZS )P[DO!(B^-6<:+FGE^
M$49)&@1U,IQ7)K?U'>[J&WDH!V.#-[M.F+G!+' '!P<__"7V#FCP[W_$GG(F
ME1\IZ6V04,<0"[M:Q>I-C:^09M[-0V\EE8!3\.4XC6)7ZNZO/959!5W3\%4S
M8U.","@8DG +4^R84V[?>_GN&L1\E*W;-ML=<G@NZN8SE40'W$_O:://>4/1
MI2KI\:+%:9$@!7LZ]PPYV:!"4<BOP1O%(HENCK^*]X3FHBAA@.U%<=LJ8LUF
MS- RI5]!VA4#W!^,X72J)", ]+\)^+Y:$8J3:C62VD51,2EA-S#]W;H4'9*8
M;JFQJ"WE!!S#M+!GCV2IQXR+P<"?F)ODGNLIE4XWE-SU?5?3CK*[ 6Z_OF1%
MZE7Y:UCT6L[4N)9[+8":GV94P8@.:)YYZK$4SI^M+_:&,L2YT1O,R8S422Y;
MJM;*XZ%Y\\:-=0-1[!WBV_EQ$9UPVO?N$.AY)Z_B^B7^%Q+';""?+QQ?_I'
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
M%)3$.>$IS20K-;I\-#2-6Z]9XL7Q4CAQ<2NA4?M"RDZH(2M2E[>],S,++U.
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
MG4]S!F/C_P0B8D'F ,O=O9YL!=&OS (V]8)_Y,T*8RV#** _K.6I1%GOS_@
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
M)M\/"6!>LA.*J_ OE5LN_B7.)V&]+/D)1^.1V?M8;YR"9T=!,6F/):BG,4H
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
MG.0!1<OXWE9%=K3S>FZ<6'2:(3V=DZ">G)WVY$ [BM%SE)R1"#0I@73N!,+
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
M:S'Q1 W,^_G6IR!)V)M-7]V?.X7M[]N9PT_ KGT:/"FU*2EP9%G81A, -U4
MRM$ N(I$(Y7TP=A[4]LO_A*TE%G\,0WI[OZ=39YE*_A"9/L-'YLN=QM=&[U;
MY@[O3T=V;W_Z(<^G<.O9;Y/07_"F&S@8]W$VLXTBVW=H9,T2_K_IW5+O]*^L
MCS6P;"K%.P% CG5A>6+V.XMXPPE>:A":.'UK&_-TG6WTQ2W:A5P8>8KF).I"
MG:9URVF6(RX,Q[W_G:(]S?FL[=%ZN@S9\O[U>\^HGNJUO.*F1I'@>Q<I/O>B
MQ/]3I/.?!]+YH8L1GSTEC: T@M*#@-+]"Z>?.R8]1C'TRR":D2]>&5\\>%.U
MET$T(U^\,KX@(U^,S3(>H5G&QOGY;S;?\&TWK7#,<CY%8N63T\+C93 _^^SD
M(VTC(H^>X(B(CR0'\Q/2W%'DI=84.TNTT_NQI1AC(O"%W#9"(>X#1DX0C3P1
M3MI@<'3D(8>KW#''6$RE>/!>$F,9QPAP(\"=(\#)8+D6@&A&!,0Y84@;'I$C
M45&NJ')J,$2.ZD1S!A/B)@?/.8"BI=XA:I3WQ 9+,3L?@#-3KH\GKCU?1GAD
M?!L[E(V(]R(03\<H*;,6!1(]J&=) .(EED?:6I^"8(0.>B. R6B4UA%%E5.,
M$C&@TE&#O#4A&>^5SNF<YX)X=(I'C>X$KH(;8UNOUU7PY_5R<15'7\&KY:=1
MGNRD^B?'O3$4:1ISOG_,J:38(:RQY<IJ+=Q GL@0@U4J(BHT:- Z<*2=]D@+
MKI*'WR/5YR-/V!0;-<J3$=;&8WU-L&84)QS02:0(:K(2R&%)45")6&>I)'K@
M&(C"2^5L1%@1ACA- &L6"Z2<$X%2F[2BYP-K9"KQJ":/L#8>ZRN"M>AD(L0;
M% Q7B+/LN]3:(>.DIMC+H'#<AS7#J4Y)8J0# RATH-R9$ R2Q M"HPU2V7."
M-<)&?^>8*'!RZW]3&/4?%[]<_/[GQ7^-+H"'[,-T^\RFLV2[DW1"^\P8I9<D
MF!B.47G#D'>:(JZB1#H*CGRR1AEIL!9D7S!Y81RHXPQ)41I-1H&T)@$EY9W
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
M;U?*#5RA1Z\F9?-OC>$?;CUZ7Z*5U1C^ 2&4$F:H5111G&/X3#5A'94HNL3
MX\4\J0&$2N6)%M(A8_,F3 HQGO.)(LQ$2E[8%/' X[VW&!X?93[UJ<;P >;1
M:4:1)\&#18T:&>,$2(>@2J4DA1GL= Q*"<,B1SCPE*UP)HRV>:<C8<Q*(Y1F
MC[DK01WG1MVCB.%?5)ARM,'"ELO^>*)YD[-17X@4C@[,&)@GGJQ#(M>;X3XR
ML&V,((.YQLQ+1>2@\JZ)-CF+"5*2Y7NT1T91BHC61*4@C \#,'N\\( =:=6"
MKPT/CO"HV&-&+$_]W 0C&DO0-*1L9BA./I]8]0D99B-3S&JC!IMHL(L*:P-*
M&W,Z-?,;&VHDDBHH;(F4(@SB\P<]-P$Z=W6MZ\=<P;_ER9[Y63&#&ZE1>-#R
M,$]Q+7J;-X7)&1$Z.H=WGM4U[OONY94NV6:]A^;23N:71WW$/?'@K>82:98$
MXH*E7'399L(LB843P0\W.(M$I$Y)(YDK#/%L>+6V 6&IA*/,!L)NMQS8F^;?
M5D-WL&*?Q[F7[AA/?*:(DTLT(F\!UGG0$3E5J@#:1$1@Q,M!3$D"R0MG"J;?
M@R 8$",GX4]FO<72*I_\@ #A400!'Z4QN"K]L';,OFI+U\YJ0ML'"8_7WX&W
M5C2@6]$ 6WB1S^E]C)/+[J3(+)[;<>EFGPX<#,+2!&Y K>WBM4]G<;H5AH_S
M.F+;3#Y&B!ZW E (*XO(9&\-7C1K/ML XI@+/BS+-8"@K4+*U7#/H2WCO 5T
MZR3BYNG#FP_82A?[TN?+P]>62Q,D1Y'EZH7**62$H$A"V",D]0Y+OJN*R80
MJAH080[4E^*$'&,&)4*L4\DD,>0BV:>*.?K)#ME*)=_G:/X]O.B'2>/_^ 8\
M$V\OX"%YQ?=FA_&>IH%_7S+?DTGSJ2A3R6F,I^547LD#P%<(!.B3G86EH%K7
M?(PHZR H]YYPJNV\.3M;9T<ZT5TM5V_&"AO)FBV0^*Y(9+-H0>#;[U_=TMMZ
MFB<CUYP!W43T[^_/A>8&Y&.BT-[\+9K8RV;1\R"_[IY/,#[%WRX9%4"")O:B
MC:_:>&%G,,JOO]G/'?EQW(X[-7BUO.?U5:20W8LX/17?YM.N7[J(G IY_477
M7J%.#3.;_V[PYMJVVK9';-NU-*WZ]BRM>U'H*BU]_FQ-+XH_%>0C?_^_OH&
M\XLS?"M"[B^,D+[7 ;JI:_.I4Q;73,*5X_=#GXJT\S^[V9\&3CC]*FFZ!8OT
M,8SG0RG9<X*1JE)7+S[T&;^VZD[5G:H[M]*=W[:2-7VBK^I1U:.J1[?5H_5F
MCKP[ME]F7B7L1G_*GW5U_WZUESDC4M6LJEE5LT-&3ZRJU)VX7_=D?HKN#%,_
M'H8C^6>5^KG#VNU/^Y8+T6"EX55-%7T]V!T')?<#V[,7V>F79<1?Y!373C^C
M3E=1KYVN$/[2IOAE=;HZX<]'KY]U#[\VH/_B7HZK8O?2L;PK=#I_)>"Q>WMR
M_3CWXY7'ICQF\[%X=^?:$8;_-RJ1?[4@WF34GC?^['GPM/F"\&RGZN@IS;FZ
MT"SR)L3E##YZ!NFJ$?F?AY.*6PS'<9CK.RC9=U^Y4_YVYRV<23Q(IY"FGB.>
MHD26X8BTSF6LL:8V#4HZ",ZXD=HC[3CN:>V)U8@+:)0F6+LX*,OXQ?,65QZO
M8%O'*]AUA<SP"<-7'[5Y"%U<)<Z/5AN_/[@V/G4/HB)R1>0C0F01L16Y.B0-
M,3-7.XQT<@$ERHA6'%M*]* 0@?*&>&L0RU4HN; ).2$34I@J9Z23DJP0.7V(
MTR_#\6I_V8%PF:@3J:ZN3%9Q^7YP^3CTK4)UA>J'A^K]T$HHE4%SAHA5 1Q7
MXS(%CT;1*JI2)'%/T>G;0.N!#Q??#F4I.+]7'R]^[B![:$2I/F\%T@JD5P&I
MY08[Q302'.<RYLHA+7-QW$0"#BIB(0>U>@[KHV[N/WW?[-3T.51"@>D3Q2NF
MWC>FUEQO1=F7C;(/DUE04D3A$D=)@=/+"4W(:"R0C"1PX[!W<D!8X8SEVDB-
MD@O@,A,<D7/&(*&E3-((XPQ_C%POD2>&7LU)_]RA^<XYA>UE4_@K'] X$J?V
M/DIW_'F3S7RS3,XD?D9A/(M%?G)YC<7Y]'48MQ<3>_DJ?_MZ21*_WBB_CR<^
M5X0=I\ME&\JM*$[#G0CD[\ A?K>S"7<;?4+Y@$]^0_3.5DOT%_9#[%;?D4W0
MW%=V\LE>MKE8P^8D+6>@B-_^X;_+*#]1B2[#6A!P)=A_VJKCM+SD)L61]#$7
M1^HNS4]^-9[#2_V7=B;,[/^)T^CMZ!^GOY_^Z;?F_]N_/>%^M>\H&!,VRZX-
M6(>6Q<_P=MW(]FQ\<;&7/:&CP%B-;JD7M>)2:#OV@RN8%/YFVTS9,"3U_&&S
M%!H\[F(2Y[$48VNF;1Q-,K72;#1NVWRTT%V6R_*TCGYIFHX>K)Q$>1-@-,:Y
M<9VW,QV]67P /-Y#Q1L_VLFB*V@%GX[A0S_OF]GF&F\?XZ2YR(TK)==F,9=>
M@N'<K&S>?J&T^6Z]]7UU]79*>.\KI+ZG>GCOR74\5WWQ;6AQGJ_2W&,G"^#@
M;S)K,,(\",2#9,@1SQ&V7@1E3/)&[3J?,0;O<()[)%&(4X^1I80AXI-WUGH2
M>3R>^MJ$'">/VBTXLY>E#_LZW/M.>97:T7OCE<>4+B6DQ8IK1!.7$*9P@ER$
MJ(4:AJ.QA#HQ"&VX<-A0GHE,,G^?9!Q9"__18"!,$CH:-Z@?^Z#%H^E1R=/W
MZX+MUY?^)Z>WM+5/LSKC[5@MMVU/+RL#F[.R<=#C/V+/([2/8>,V=FAHSE>&
M8]>P;Q-N[+7S.Q;L[KQQ1V>MJ%"):Z>1DTJ#Y4D":6\M8$/FK?7":#NH1YT9
M/$6@&C%L,F$\\<@ZFT"?G4^8&Q^,J];J.FOUM6P02\JVKFXO?+>8=G0LH3=V
M1U1X^#%I(K8*_V<X.6RA_Q*8/K4H=+,2PP$&^>?) KZ*G]>13OL2(L^WT]%_
M+2"^ZX*N7\9NUOQGG(Y*<J(ME;5!7WV<MEW%F-4H_3!N6C^.4P]O^>[WQ7^?
M-8OO1W\=GX^S]G^7"2DH?KV\NOQ)7G\_^C!I'!BDDHDO-FQ<S.?'+,D?BA&$
M;QT\^A+D,\[''M!Z-HT6\&16^*0+T.1XZ=R-IQ8D_6P!O1N5 KL?H-WO+R_B
MZ.W;MR_#D_G'_LC=KLJY%S=B.0N/"6"YQOIYYV)T$6^NEMX1A?V7G8+_==E[
M&RL!.[<A4S4?GY>A! W$"P\!K8F(.QV1T20@(86GW'KM_6"K)R.,::P4PM1E
MSBFBX1[C$=7:40>Q"Z%F9QD=!-HUV3'\&-_,9MDFYAE]\P'F%C0E_KCI.?[2
MS/XVGL"8-M,(,<T_+D!-IO-?[66!L0/Y'OH4'Z/KL>@Z"Z:N]#:#R@K%PC6>
M_@X[WNJ^<WNYI+#/Q.2%K^]X.9)E3$$X%1#E3$!('+)P@0N;!#4>4R]EE(,P
MFF$(F&U$Q IP>XFTR"B=D N:41*YD)QO">0OB_EB%K<Y/B?C:5Y]^RU^6(#7
MU\PN0?9^7(4=*XD\L!Q*?IR""%"6RB!M,\.>C'P_3MF-6XY4%R!NQ&CGR]%:
M"G*[BMCWV4,("#_,['D!UD\1G+UC) =+/"FA!4/>9JI13 RRDD9DK54T1>PB
MM7<6S#T"=R@:,'FT@K9/<-8"TV'=II>T\H_ -5JO#>2H 6*&:3._2LY.UYA8
M0@H8N";'%1$<GW%.8!0NS0XHSR'4R&GW240!OBU(/&D^]2OO_6<=K56FJ.@(
M5187F>"SF4T"=#G')TOJ% #:M:CGYO:Y\OS$W;<,WGS=6QYO$C?[UQ&$?L&9
MG??.[&H(UAP@><YVQN=EN+SO-[)1MBM5F<."(ODY_EVYOMVJUIO??QQ)+!^"
M<_7FZYV_;5(U+3-(;>>L+Y-([:-ZZZ!HXWRPO4OT'9M="0H[A4E$V@N-N,X;
M66W2R$ME)#4L>3^@&Y.)^(@-1D&J?/R5,P2N.A@78:1343-%TI9=^?LB9W_>
MI;>K<?AUS?KTSDWZ>/7-_"W\?9%_?9=6J8,M"[3WODU+A+<,$6JCS\8HUS1H
MX_2;OP"V'Y,9VB*_6O4G,RZ/ER,Q#$1WV*/!=^ER6?V%?8IA(S%0%GKO(S$P
MVD20SCSD)(0MN=K2UGYE.\0<5,/#2H\*\JZ"4P^/=G$:86C6N<_2J9+?[#J3
MY16>W'R:YE7P?L4@=WK;]2O[7\H#"F1-+O.?2QN]6"UDY\=D.K+%S&<6W3=@
MC?/:.PA']A7[<1PN.O>)OXV40 3S82>3QF].2&<^KYC;36ZUW)S>S;V>*/SF
M_O ^_[<L@;9^-G8Y:Y#YL;K&I\5D<EE>"MTM66,7O5VT<6NI J:H,Y(=[U;O
M[12'!P;7E89WYA0Z_V%:V,FGW8KIK.TBO3)P74(UNR.+\]S8[.KL,*[_=UFP
M@0G)+VR\7\Q.1A_@NFDOQ6#F.XNTY)8;=PY N_ PE^V*Y+V-JQ%;.75YU\3L
M"G^O9%*6KL[V0LU2>,NR54^&OI3+<=N1V,UB:,X[9<DLY7G"NFQ\2>2O7"AX
M?7%94*<L&^_O9KI/Z%Q)KU=X];JM(K-NDTA>&[FR'\6]B1:4.YS6K8"/M150
M7+$5L&X#O+=M@,_697\[';T!8S0IJV@;6;:L]BN+6J2])(1SM@WNV,@6_[;,
M%O^\7)48_;7'LC5SZ7+-X<W_8\\O7O\V&J[GK%8AP"86,2N)O;"R@4,GY%I_
MHA J+A.(R^>L[Q]X'QT8]R885">L5U>^[ZSLU<U?,DB&U0O!&G19R9T<:'N4
M:<K +%-!<_"[,ULT"1AI3"BR6 ?%DV2$T%VO/<A$B;4"Z9PMYR&!P^XC188F
M[WB@SD1[L[SY:LCN)SE.3J\^UO!XJ:+*Y'[/O?SE^DU5[$J*=WM\.DIYY#@X
M@H@S#''A'#+.622%=IXQ&:4+@\A:.1=<)$@G'A&7!,,]H+*!4Z:]"\8INJ6C
M][4PP(XS73N(;-9<TBN0'Y^#N]I%Q'9OF-N'<5UF]P+0+79!28X,E_$41'\Y
M0(!+?SP#FW5RC )FA'>6@9S(Q/)"J)9(*XM12D2Y((E+Z@ "MAEO_M:%HR]-
MZ#:'8!62#T4QNU='*";:6,-$TBBJ)!&/T2.C)<B*U!&KQ%*(@YU\G$OEHX*8
M!(.$<(,CLC(X9!DSU(,;(5T\]C5V<IS2M.-?EE7'E;>\3&;WIO"*]& +/]HK
ML\D/TY^2UEXZT0"3NUT8+_,4T\*H4U2F1![G/=HV%[TPM#L[!S8M_./U[[A]
M"TZ$9)AH1 D+B#O*D Z)HN2I2 D;8?9 /V@Q%9:BZ(5%'&.#P!0XY)4R/ND8
ME$G'KM/X*$.#P;Z9C;0M^!=E)TU.)B?P9-<'Q+X0G>;]NOV"9G]:Y?$ZN:/G
M&YOUB\';;N=MM/Y%!#4_W>AD +DRKGE,@#\^V--1@Q,3P".ACN6T!X1446)$
M8I V$18I'VR"@9C+Y'V$*.A($0_8(NT9A__ V?642Q'$L</>$]PN^(B">P=_
MZI!>3<T7/1BT7G'T[";9\5$;+^PL+[WY?O/(3KRW6NT]Z6WW>EUOB=?Y1&A_
M9+MLY,KBUIT36S9P>WM17M_W34X^3!;MT>T(29P"G$J!F&4:XD6%D588 %,0
M%5,^!*8'($NXTMJH7- L*<095G!Y8!ED%=>>@-^IMT#VUSC+BW+V0WR7?NU&
M97L_+ Q/^X_I?#S9^OA]]&=3Z/"'RU_RPO7[WJN:[=20O%C,X@IJ$=W$6GI=
MU'A,2/OM,BVU%)QMT<PRU$*_893*5=O?SE=CE5>INX7^^7K -D^@+(^.E?7V
MV;K20,P.7M$F=OJ(B-Z73>AW$>SHTG*5'!Y@/W1-WU#J]5Z- NWM:G]%B>M6
MEWUYKT;GS%^!#YO'PE?%!X8._+V[T8]L9C:W$=S\T2L,ZH_*+3D9%/7<18X2
MSQN7F;'(LERV"^M\,L0XPP:'V1GU F,1D5(L;W8V"CG.(V+*$A*Q <?1[QX^
M_:D_6=EO(OSA<L/=^VG<^DG3 I*\AY?\,&G\']^,(F#*!3Q@/EO$FZVI/TW;
M^N:\XRW?S(*T*_%<Q[ K]6JWCT?UR[)Y&_5DTGQJMT[,+RNR'-%YU&4M&%H6
MH>=GS:*%3]KO7]W2DWJ:.RC^Q[(^7-G(M:Q]N4'19!?S9ED*+K<G[RZ!YN?+
MT<1>-HLYO.)S#*^[UQE\BK]=7E_6[2_:^&H)MLMA*$O[W:/7;%,;[%6Y\$Q7
M,>_5\AD;%VY5LRMO)?04O)9O\YZ9+UQTJC"YYAK&3H5A!WC0M=^S4UDH8Y;_
M[OS VJB]#]RJ]3<D2-.WYT?;JYM#?=[7P-O4TWXZO/*U@[6#3Z"#*]Y+@J\A
MOMRN?(I/<^'3XHU?4X/X?L?C:PHZ7#5<_[OX8C\/,M)?+R%?&+-K:L4^&2EZ
M(%-R&]/QV))ZJ,(C5P8CUY)K'D0P;U9]_<D(:I6;C;-BH_5AL2I$7VTSK^.*
MOEZ@CF%X#BEBF[6LJD =!)6>8X>K!GU)@VC5H*I!58/NH$&D:M#A0KB25Q_&
M<!Z&(ODK8K@K\M)'3:=WAXT#NU7POB1VQST(]P3,Q]WI.\S\7[<W1#W]L7@
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
M'*[CSNSN%YN7+::+6[29)9^[F/FR5K*5E.F3P\WF<R!HR'_8WKGJ6P_7=VM
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
MNA$Q90F)V$25C>RVP?RGG96])\NMWC^#U9Q?_@1H#5H-H?M[>/P/D\;_\0T
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
M>I6T6AG7DI?:24J5*S;*;]^MOO735**]Q:T/5\OZ()6KF3S54EU;!%C(N]8
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
M33X][1UR/$5DLN]K.83M>!"V)VI2D-$AXR!VYT9:N"?SE%G+F!+*!3PXIOC
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
MU +PY7>V8Y@P.]L<;>A_VR[@#C^+83P?M3#C-L#'+D[]61Z![:OAZPM[F?^
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
M"IP0!4(G"LXS6U/RE;3*4\DVNL)S21U)U(/.V=>>3!HLI\LRIN0UL8&'?%@
MDZ:K!@T(8 A@"&!'!&!2*!8\RR!I*F!DN -7Y^T2&JD3E"AFR : 66<-(P0B
M\QR$CPI<B@*"(YE[$[BE[L 6V$!QBQ!VJ+8(9QMC^;D"0ZHQ@S'VBGN8,M=A
MC],GQJ'+@$\&@[ CZYV0!Z&$&:JAJ,D$@H@Z,]M[H$QZX7(@PFP,GMTUY+$6
MOK^N9*^M;JS8BQ4A"[>T_Y"E8^TS("4(41L-*"7 .<J!*JJUSH8(F]L.<K0"
M6<L:7/AWFD[JAAM&V6O$+,0LW-+^8Q8-F5 J(S!;#"4A> *7K8$<97:*1.^(
M:3NNT8V9I5C''5%.AL/WEC#2SV2&^^W::ZHTIG:<0FK'F38Z.QE@0M5[6_4Z
MR854WH"U]4S4!@W&Z01$$^ZIX2ZZ37=ABPC'W5YD59[;"FSH 2$*E2YB%>YG
MW['**LJYB$"+@0^B6/A@/,G@92),R1!8VDQ VR*TT2564281JQ"K<#_[CE4J
M^R"HAJ@K[D@OZCC2@E5&:9X)U3FUDJK1'5:1@69=I<:>&F_O+3/CB(%P!Q'Y
MO3;LK5&,X3A,+GN03K ++;#:!*=,X92I-D7JJS7).M7H*1!%:5"0O)>K7!"3
ME(+H1%'H22J^.=MOFTC)&BQ_7F)E2]J<#PCK>([XD4ZH>E[V\=<(M0BU"+5'
M K6,6^]BHE @,A?89 0<-Q(\X<*+* R+K>2P= 2U7)_G,$"$6H1:A-K3@MH<
M')?6:1!16A UL.Y#TD ER4HYS;EN)?6F$ZBE Z8[3FSN)]0>I)M+&_-73WW\
M:@_2>/:@_,YOQ3A#<#O-?U8S!#.G.5+I@0A.:C3)@5/EUT ",RD+9AYPBW89
MX]:6FA8#;CL^]N[9I$!$1D1&1,;G!XP4#8'K5+P8%VOE4RY>C))@M=&<QER\
MG%8"1ET@8V>]#Q 9SQ$9ZWH1%E]"B9YB(N%)>L\\4*\8"*<)&*\%4,Y(="(F
MPUJ)['2 B9IV547U)$^<'B ^.%3Z*.#NWK,_^[AG+[VP1?H01HN8[@[)'J4/
M$(?3M.26.G)W<3E^'8>SJY'[^*K^]688\J=8WG#UX.NHU^J#?RYF\V'^N'Z'
MY5<AC6-AFP]U,75Z\ T'?7@FFZCMAU3O-@9F-^I33NYP79U,?L-V;V^BAE?N
M35H%!,'E\K*OW.B]^SBK$W%O;]&:_DOF>YCXN]#X1/EY->[]F]MLO8>)\%)Z
MR3)Q0#BAM4N !^M4!F=S5"EH;H/>)920WZ3QJ]_#VQ07H_1K_GUQ=35:CE)T
MHQ_<[.U/H\G[G\<K-5#$];<T<O,4_Y@L=<D,I\=_GHEN4[,)A9Q-+O1LAI\(
MVDQ7%&WFDU7@>88CY<]OI+PB%XH^.?W\0J@GAZ@_.2%="[/[H'9QON^!PXN[
M\YG[NCR<J(X3U7&B^JE);<^7A^-6<>3W_N2ECPM&"<*1WRA!*$$X\OL8& I'
M?K?.@S4 W%RYPC5Y,FW<92'<?%9+PVOT.S;+N&1J+I.;+:;+*&?M_+;1H!_G
MAN,@UK/=[;-;,+(W+KC'"T;V/I,%8^'5'@NO/O50OCDDGS5Y.KEL)G>[*V.C
MG5-LY768+/N>9HM*Z9EDD0&SAH+P-(-U1 %+QGO'8HC"M]\'^!_N8W7P9NVE
MC@K5<>^%D\D+1>PZXBU%[&H1NR*CVML00'J50 2IP%/OP<EDC#"6.-9!7^"V
ML4L.A.UJDC-B%V(78M=18I<11&O-P"CK"G85NZO<+4#T(;M,E$^!M]\GN&WL
M(@."O8)W<O%WG.*,+OY]%S^O9GVA@W]N\H?ZY4YEO-3%!%8"N&,9!&<&?,P$
MLK?*AEH@ZEKQZQ\:K7>M97X=_W)];/NQ)7W3<<5\WUD=T:MW6]I3]'+>*"(T
M!VM502_B;;%T:0#&'!?:D*##9L_MEH89=X9>:"@C>N&6G@%Z"4>5,ER#L,4[
M%\ED,(Y*"%85$"+.9[N)7BV-->X,O11#ZVL71Q_/\K>2L!6/[\_1/[>V4:<F
M?*AI;FL:3;(7K%C')LGE%%\.QJ8$EG'A?!)$T[!S.X_?TM5UV/C7?%OE_/(I
M*;NU<_RN^C_UG<T1MOJUGSV'+5W@2CH&WKLZT#=S\+'XZ\PG0BFUU*?-+D0O
M<._W#5L<9_LB;.%^]AVVG//:FIP@RVIMA6RA'J5 8HIJ13QS4N[BU^\9MN1
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
M"VQQ2MFI8U&==-LM!O6!85 BSDHB&$H$IE5WE?50(Q$M'^?UTH%XZ7'%P;D
M!UWMEM/L2++61$@I91 J,7 B9%":1:6,SD2TTNZYRE]+IW"*#[C%ME [<7-_
M@CO'O*6(5&UVZZ0N**4R..((B& TV"P+4DG%$Z>>6+^90B"CLIHPT-08$+9
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
MRL::6LL#Y>;3B?)?_/2;;_^[?&,X?M/4%*-GI9&CO*"\H+PT-1TCH<"@P*#
MW%#KK[/Y\+*F+BTEY2<WG#;_XT:+A%)R#-5SQYV(M-/0U^G59%KX#IN+]:GZ
M&L>'MY@A%:S)7(L D2L.(C@)+L1:81VE-,XR*3;*L*63V6;I(8EDZ\AQ#S;H
M.H+'6R%<Y*EF51U%%9KA V*P'OO40!]1#5%M%U0C3O*LDP::K 1AD@%3^^FJ
M[*0L/SB;-SOOMH]J. 4680YA#F%N=YC;3ZE3"DQ(%B1$&T6!0"_!RRR !J:B
MYUE$M=%R=I^PV4GGL0'1K'?(B75*"*$(H<^ O()>PCH90/C@07!'P,IB+I(4
MRL?$\)!S%Y#7<86080-"MBL0.F;6QQD-AXJD7EZF:1BZ47/EKM*TE]ARAJH$
M&UFV,*>!6^.D4B"SKKW-DP.ON 5M1/)2$UI^N*]!: HR%I\=@O7%T-9"E>^H
M91<PGHPCG-2Y9T<1095ZP$W_VO-B: '!#,%LTQPN1F^61D#()A735C PS$1(
MC-MB*(>0F=D#F&'@](1$ =&M=UO:4W0+6=%H788<:08A&8?JRD,B.I,0C#=V
MHY73/M$-Q\T>GR@@NO5N2WN*;L1ID94N[F>=HRT2)V -DT ]3208S1/G7:!;
MQZ%,=$ Q*;1%V?GSXO>+YLVD+&5<)R1@:BBJD9/>Y?:3 +R3,M>I.E$K$(8[
ML%81B"S;\B>;E-\X$;-:D<P- 9/5,M\J@'6. &$TNV)5<QG(D<0S*64#*33J
MDQ.#?$0S1+,MT"Q[*I4(J0X78R""+\B4!(<<G"L&,2U0)?> 9GOMX"\1W!#<
M<$O[!&[[R?]D02?B2<%)XS*(J'2!S8)^GJ;,B"A@F>@AP;*;_$]&^F<-8OXG
M(B<BYV><7%.<7$L91*<#",=RP:^D(7AN/2?&,[L1*VT#Z;IN#$_I@ NT_W8)
MEF+>YZVN66_2.'S$&"FJCY/>Y?:C"H8S05,"&UD$H>M($4L%$!X)2T1183:B
M"IDI8[3CR]*"FEJ5P,AZU*9YBCQP)U4XFACI0%FLFC\UH$<P0S#; LQTELP4
M( /G>;&%!3-@2"P6+M?!1!9H9!L'/AV &>9\GI H(+KU;DM/'MWV5".?M*?*
M)F#!:Q#2>'"92N#,J<P\-]YNCH3>(UIV$2-E#"OD$3=/9V\1-W?'.<63]2X9
MB$S5LD;/P A=$,_3XO@:3J3=*&ML ^<ZCY .A,+"^%T"I)A->BM .INE.50:
MI;+8&V;M)<2@(D%%LH4BD=$(E9P G5PHBB2ZHDB"!L\#RTEEK=R&P6Q-T3 F
M6F"&%T5B:?E.H!F4I=Y'3R/UQU(?SP;""-0G)P;YB&6(95M@F1".AH)C0$5D
M(+@18+C*X"FGA)D@)(M[P#(,E9Z0*""Z]6Y+3Q[=]A0J581I[@O41:) >&/
M6.Z 9<>BKO&%8 ^)EIVDD_;OV!PCI0B;")N?J;OW7!#-,E!F?:V[+T9AKJ%/
MGF2,0LCH-[J*M %S'4=*BV.KT;'=)5"*F:2?Z%MXMM!JC)7WJ$CZLLOM)V(9
MXSEA%BR/! 1Q$1R)"7P2S(<D@C(;BD3R3&QF'D)FJ2@2'L %QR%R9G+*BJN8
MCB12*@>DAY56&$M +$,LVXR4LJ2"IAJ,]!*$+ECF90C%P"6>>B<,<QOI QU@
M&49*3T@4$-UZMZ4GCV[[B90:+XFS.D!4M0V?3Q8,(0P(ST'PI"WG&V?D^T3+
M3I)*^V<+8J0481-A\S/]11AS3%L!GK/:H;16&@6>06=.% M*NKQQ(-0&S'4<
M*14#BS.&=XJ48DKI[5E+X^4R"OLV5]/)Y7 VFTP_-N/)//4290ZM2WSAL32]
M>=\+>35O9I/1,#;K[3L9X=N2#YZFP'%P2OOS *R.H@[_(]F9&J0(X(.S$%*F
MFM"4HMV8=QI%Y$ZX"-)$#2)$!2;7'C):*<LML>K%\TX[*^,?%#IUJY<^PSJK
MTR_">R\^9VA_(V:>+69RQS(E7H.WO#94#<6:]]F#S59K;AQ1?*-;0 >8V:O
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
MC4F$NK.&NCU%?&EF!1X=)*9R,2;+3][H##*1Q&)R-HB-O('#0V=7L6!J1>^
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
M0GXRBFV0ZN>"Y.,"PO<&^]TVF9__D!O^O[9)UIT\"^LG*@F(9&O]G&5@B=)
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
M093A?BZ)"7BE8_-=*YE9-I&1E(+&AH:"N& HT5DH+F626>YL3<28L]$\$2;
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
MBE.&82\]*/!4TOBJ04[&N'_R([[L:A+*2]9(+36>P)25 !AFXL=__%Y>PY>
M?A4(?]NQ3DVQ%!2)J%:]KDO?VJ/3FL0YQ+J,Z(1G497RQ")A,NB0@07REN<=
MK5%44^T\)90A[Z[2G'B:P3IFSJ3D7E5Z9\_NYXD;-[\7\<""H^]QW3[ F%W\
M;?S?L&SX1VP'>M..GWS+BR%-"NC)8&EMD\;(^9>.2:&F*XZ#CNFAL.P6"@U4
MJ._=^,]-;&X[TR_;#"-+1-=.?=63$66R)2]$0H[5S8Y-NJQUU#(9"2 P8'*$
M@-M("5$W4TQ4.AJK=FH.C9(JA*R(]MB*,1I%;)4R29P")!OKQ+JY[%*Z?DA^
M_M.X 4<(=7VSO>R'.6K>FF/B-A02?ZN.RA'^YF5$SS_E+M78I,(N SK]9X'W
MUJP46[$F-H++%J-":8]MN>$N -&PGJ,+- )PX[9YY**IQZ@DF/)>?O,\)?A>
M8<KK7"C\(G@[_VRS%<VP>]:YNQ@6 S2=@@_5!K/%;%TR'B6E?HI-P8NQ7#'H
MC!#ZAC#$;@]G=19L:3.&@U27(V$UDGV,"D\3_ CF9WX"<3[>Z?@SQ6<N#OYQ
M E;\!]P*F2'C%$#]J#B01Y@3UM9);;0B7/M$A -#YK2S).N*@S,8);4[&WNW
M/O_ZIEWH76>QM/-?;>HM\6I_O(1'N=-[E"EA+7703#NBK09?ABH([8641 EE
MP?<Q,5XA![=M O50<H!+?52!PW*I0>.G,P"\>HJ(NI@W<U?:+FQG@X?'*1(L
M&V4<#43SS(C(E!(O*W")>6#*I^1YV"ECNPTT+)V6#1HZM%+=6;\WXWB#0Q*W
MW2,Z)AZ$XP8$%91RD58D:J>(T#(15W%DUN8Z<2FTSSLNZVT X?%77QUG"2M@
MQ"IH[CRBR_#0T2##-0 GX$J-N]![D_3YNDS5"#R^U1X,_ $/H;I-1ICF#!S
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
MPUB,!_R 6U&3EIP0/DCUQW+W8@72U$'D@I43XV5GCNWY@J&G^8VG*B8PR;!
MK2%<A5NKX:P?W_+5KT)53+9VG@FN($3@#N/$+BV+-UUMK(%EA%?N7N'R-*QV
M;19HS%MS6C++^,UR><D7OQEW;PE/&79.%CRK..AR%2!U7A=^M7&8.UZY+,,R
M+[.RD=_4('ANALL,GNPRK-HVI&C0X[*&JHQO,B8@"FUV>^4NM2[+(,_<(G;W
M.Z ^?8)7^3@9@7@Z"&,PQFW N^J6964'>.O95(\9V77)Z<,&=_^U@#E9^G6M
M,[B<DY4('9L9$MYDRIP@SD4T0T(39Q7$;"'+Z*S12H7+9BAHE56BB6B?&!&J
MLL0S%8DV3'GE(%:,]X[S/IP!&IQ-1H!W/X!/_[$$2;>*])KZ\S'9HF;]0O 6
MRS>Z.KP;XN25DJ!F V(VXSL(%ZZ*[U91W68X>,5UYT4JF^6=_ 1BH:TM\W5<
MB;M.B-^CS9%\NQ4FKE[FYRZL6\:+)X/!;\OLT!67H86""&0SKNVLR@]@+S^A
M.6CC(HP@SQ#59QBA?II<\8TOA:2;D>CJSMNOT/WQ78JX.;@YV#;'L'JEMO /
M=Q01#&\\A*]$Q5NCV?CSM>/9F&&TLNL(L#-#G=TH2][=H[-&*S/:;)1D%&/6
MQN(E8-X(E#OK]=7T1&ON-\2Y2>E/T.AU?49TY^X4_1('^#T;IXNF\UY*-<=P
MT]68-/.F>S4<RF)EZD&IKY(D] \Z,<<L-L;EH]'D4_/J@ J_:?TVMONV=EXO
M[=!<N<4*$S";ORYFCL!0SYM7N(2C>IQV#.)Z+.)$5OJ; UK(;@#+MZW'.&!2
M7OH+;]EV).%JM16X,7$=O3VEE^]ZH#IC@*%.*-=HU8'4IHBN=J)6/F6; V:B
MN 2\E?O_6@"BK.+GLF=02HBWW.LK(6OUS+>;EZX'L(G%8P 4#^$?7-T^"\:P
MD74[ASBCQ"B=7W?-RUWSH.Y-X3D_H7_;:G*\_/'PID"_Y5)6RYG9&&V9)-R=
M*!,%H >#?[W6NG;_N/S;:]_ST[Y-V;G"2BX3I[.$,3H:D8L4,3N:T%2TOPX@
MQ"TA<%><"8%-,6F=5G\M,]\J;MDR+J*^>]_=>YY/VC#X?BKV&I]\I(+^F%ML
M+T+*O^P-=E[8%P/S_W+C OEH:Q#S3ZX2G6>[\[J9KUO54ZSR4*L4#3K-FV9I
MU\5$!<7$T62!N^X "$7_L;0 'Q7+*:./]>ED-EDTN 3%4FVFC,Y/!O]S\@F>
M/QMV!1;S97%?C?DT )'6?UV,N]"M.V4$U_YS$4^718'U^)]P11G<#%\H#THE
MW%6[@LL"@XCIR*WRCW9S?V/#K,U(E>O@MQHF#(*4S<J785> TD:-[:F5SK'!
MFNRZI+&Z8X'#[6VRE[''_U,K.QD]F;/!OT#GYB4DW]KF6V5C4_VQ9&.;A9].
MTM@-<JEVPOW.']_"!?]:8.$$6)$X"8OEGN4JB[QF1UIE@*>3"3I6 ;<U)Q]=
M$Q:8@VQ<3O.+LG6YG;M>Y9?#9'T$:948A3%L7Q[<>+,2I%Q8REP2;B)NE,;.
MVQK[[>H0O-]&JOHCOEHG^NTYB9(C3IOE4EB),[[8*!C9R--?JKL:-9.=\9VE
MK@(J%;4=C; TJ&@=5@XY+!WKZJFZ$6Z/:HR%NZY4#BW/(L!OJU*6I8NP+"-:
MECAM%3AA4GFM>\L)*0@#D]]6RRPU=+FTZ[JJ3D/+%D+:$A[<GUUX6/MV7E9A
M-;@=;E2.6;45.*T#4_++9VYVWH+>N;OH2I(V"I*Z(79*WZ78+^\PW T'3F>3
M3R J*RA8(D,=5J5U;?(;='42_NPKF@]6T6SZBN9CK&A^DJ9PN2.""8ZB\#MU
M 2M8^1YSSR4S6S1Z,FO6UC&7LLBUFQ0AFD-/JYC*Z6(VG12G;2.U?OF +2:U
M_US&>%<\"K!T#?QMOG3N_ESYU4N'Z@NI]*V4>US=>'L8;:EGEU_]-)N,3^,$
M1[6UI[E.PG;;E)TSN@PG-W,I2)5X349V65MU>:OZ8GF_[GA.-\OMF9.-O<AN
MDE^&S_8!0\*N^GM9-]6Z:ZLE/\,E ;/>;*3EVAS6REMZ>P:F;_#KTMK^!'<O
M.]>+MHH?;"1X19=KPCK1FKIY>]KIK(9U*/$([M'/+L# CS#T+(*VS8AY AX^
M/F@[P= >'MHHS"YN3Q'G4D2_3%?<KK[WH<MYG\>)C9_&H#;C.G<E!H,WJV-L
M+^&@QE;/#?1A$+O0304?-2+FUI>FQ\V*I[S5:^.*@Q=KEW-UP*$@:?KLSJ<C
M$$W,^@+Z#@'>ECRRRTX*6#SBP+=8:MMR/4X&[^'V"X<G,B;+QA\;P[ETQF0Y
M</2JT<0TQ9<>K5N X(V+'9FE^MR7D;?AQ/*+<55ZB4/'P"!AVY"<2\A>XOGV
M--_R>/+EKUYLOGY=]@3&75E,0:!Z$VZF2[BIQQGGHHOVN[V_BQ)L0/PQZV[=
MWJ$[F5ZL(;9+2>%L#()S>M':$(S.UF7^.VNYT35E\W@E#&.:RIC*,PL"H=/8
M!7FE$'F=&5W=9=MLX:G'97:CB-07GMY.QKS9L,)E2W%IH%?Q#P;7<,GEH&IY
MZXLOW60)VYM58ZL;XU&BA+/<XF7W;O5LM8DY6TILV=E?.PL;;L3VH:$I!L9=
MD-D6?VT4.X&E;V?KO#V!O ''Z^,LG;5?G7_=M0#E/%*9D9):.$>#L=469TM9
MVU.HJ[(N&,?VBFWDV#;.X@RR@VDH9X[6DG3YQF@?S]UHRX1<V;T( I.M@/#F
M"+8J@^ENN.1YT-FI[!7A3@DBHM/$1Y^)#H9[KE*.4>R<$^=!4BH3T4A:*9B%
M[PB12*4=8XG:I'.X7 6S4=72_ A3/K]X,X[EC]^C)[@\,_X'/.7[$83#?X$9
M#&X*=YC/%NEFX=$SL:BL.OF/=HJ* G[ [ !I_644M31N"@ \#?.ZY[EYVV9,
MRIP\C0FXW_O^Z,"S+5%>V2'>>'N$#82\^:@%KWN6UUT##Y6121II\&!!($(K
M3ZSQC@09C6(NI<JE?<!#^V;EQ?Y[@F')[R@VS4'F'$N</H(]6<G792 ^5&%-
M:VXVPOTM>4 9*0GA3:E8AKI@,^I8]FKP<"?NQ(!YQ%_Q6^7X)6Z$?'3UJ-A7
MQ)UR"C0F<* V/#2_3"2L3/@04[+_['RH$AG-L!E6Z?]8!KDQ7GA*&[&G\FO)
M>Y9SR>@MPZ*?7%,Y='\Y%CDJSS(G5CA.A).46!8UL;Z*EG''H[B7')=V*!_P
M>-%BE'[+Q; UO^4-L?X]M84:[R:SME_*3PWZXB']@3-^/[OW-!,098YVQ'A#
M'(8M\FW(RG3DQLWF)6T^J+UJULUPB38ZYZ_N)GES!ZD3N^GZ@-GO'_XQ.)V5
MVII+J8)5LNY'"+LF%REUHUSV_AR\AQ$-ONU*DW[\\/[]ZL3@!L?G+&U4YN&9
M]0%NIC:8;/KNU2W-V-/, 2];<\[;P_A=J\\-TA&WF$^634EQ/)@?A^'CY63D
M+F#)6_JNU^WC##VAWRRO+P'OM$FOF@2A'2SS<AH*"+6W_LM5="QX>KWM0O=J
M>8]K>%;:IRI]0JG^!K/^UU_$3A1E7[OF:Y_S$V/D?6]RHO@!!O(5[AMS>^J;
M*Z5T5[*O&N!M.F:;/2G:U9M9#]0R^_F^($@&?EI.XGWQ9>]*M_:PTW&7 .FZ
MV=H\:'IWH;@[P]:3$9P>>WKLV2OV\!>//9O-/'O,Z36BUP@L[>@U8N_LEP%>
M/8=;L5_>A"0%INH0U57W.*[\=J,J<#/7L2_:F/,ZQE$ZFI*S1Z0->C)T)D^:
ML'3O)_5=K+2-/)+DC2<B50K[K#EBDY)&*R$]W2%5ODO#F(UL;9? 72O?UA']
M-N%X1W8?:X9:/S"9\G,7]!Z[GMV2/E/LDIH%;+=/8B4E$9)KXES2)&3)11#)
M:+Y+]2BCLIIRHIDQ1-B4B5&:D20J[V/,PJF='FV/A%UBR)3JL>L>;NX=2-Z?
MIYO[86L;KO=S7Z(*];9BTU8P;Y/D2A%O'>"^-XZ82!-)666O<W(B5/OP<]=E
M=YOU9&_6-8G?7^Q4YKWYY&;QMU99-TS+%?VK[F5@&!LR*GH#TSO'_9(^?\!3
M46AP@#/A7 '@!>F(4X(2;F2DWE'EPEZ<XR,&/#NDQO1XU^>-[Z]COW_X1^]'
MOTS-Z<W*IED)(3D9P";$*E1$9)>(-4P3F:M$G14T,GM0/[H]W?'3N)G/V@8G
MA>#JCS,W[@S.KY-R-/O*_K#W,C=B*'KWNG>O^R5]"3@H1,4]"Y9$&S(1F%EP
M6E-BJV1C51E5^9U##X_J7A\.!ZNA4M>3RKXLI>GSV/?+8U]_^N3*DR9->]2D
M]\Y?C(+U5FDKZ6.3S%Z@&6)@88P.Q('G330/(G))K4J']<Y;6[,\Q/=F>2CR
MW63V=U3</2:[Z5#W5JCWQOLE?0FXYX6RC@%R12H ]V24Q#OF2)0\1N6L\2P?
MU!M_/-QC0\G[+$2?]'Y8[QM/8V-WH33KD^%[T*B['NPX0IV[HV'Z^@P\4]/%
MN$F:.TJHC@Y,5TK$< WV*T4:>92.[C)V!C!41JM,DC64"&XUL4%P8EB02E0A
M5CE^H8CQK9O6<S=JU?O:WAG[LTER:"5_6)-T]Y,_ST>%>MSL<?/EX&8(3$FI
MP46+M"*">DJL$)0PY_]_]MZ\MXTD21_^*H7&]HL>@,G)^[ 7#7CZF)\7.]T-
MVS.+_6N1I\49BM3RL*W]]&]D5O$LZJ;$DE2+6;<D%JLRLR*>.#(R'JF8HMZ;
M5G,]JJGF#A V<L\!-Q-#6@>-K"4N,@!BIV.G<),IUN-F]Y+M9?2YL>>DN>M]
M_/_M#CWE)MMWQ?N=@CH8'GR:@C)LM9':9EQ8!PU];'!<%:5#FG4T3)>YV=/K
MM'*'U^"%VCE-M*5!)02104"<,(F<\@PYXA(+2EMNU4-2^J6[7NN$T\JZ'3$Q
MQ?# F$?.R%\K)\_/H/6!0 ^2/4C> B1#BL%JDU!R7B'.'$4F9.9Y[YG"GGJC
M6DF4N^3_GPPD*1MH^L@'V%\82&Y[_?!SWE;Y\7"#]VZ@XMZSKWW<K1?D%C-[
M&0W<WRW0XBRBO]G9O^(BT^!\GMGSU]"M?)MFFZI!F_MJE]$"AO?N/$(P&>K:
MJ)C)(N"7IOG]SYDR:.26N[0R.US@ME[I\WJEUXP8ZQZ\A1CCK_!:8=351^O/
MYM7_9\\OWL)XAH/J/__SI_+@OTS3N^KCFE1J4+V?^&'U0\R]U^WJ41\!*N<P
MC*W;#QKJ(KLUB=EJ$IE)X_J)W#BX0573(+];?E[.%Y5>T:;GI0M7#3L3/$ZV
M6:VV!KXFM["+;=J1OZ\H+ZHKUG/W'19"K?E\N2+C&H\'#85G9CK)7< WG$NS
MZ?)SPZNY&<9\N['S/@]BYIJJ&SO#\V$ GVO6R7H7;T.?N+S(3_JW!W:]/[J1
MCX:2Q*A" 4L&D5#N,R[ 8#-OJ%3,.TE:&3]'L55:<&0YC8AS9Y'Q3"!LJ2;>
M&ZFI;FWRYZ7*V;P8?B[,/W_ ^DS#/S+-"$RO?#+?L?E___CS%0:?WF#P*<;#
MJ\W]TZ-,!5>/\Y)O(\&[3W];(>U*/5\'C]NOTUIU+Z.=534.;;>+K;;[-S[]
MZ':18PY@]U"BBJ.KK$G8&>4"TAB[3'%A$;C6#D7G'':Y>PNU+6H YS16H*B8
MVX!XX!*YZ.$[D@7.K.$1WU9E:S?]L,Y>YZ>__^W7F_1VP!4=8-,IW6V ?\VR
M5&TI[J!4;S0\?C5AQ 7\]JT0*8TONX?VR1EK@H! CA(!X1GAR.!H2J\?';%T
M-+4:D]U'=/YHEN17L+*K+9P=<HDKD5[N(+VXZ728'EY=EG4ZH!]4D[A89>\S
M)UBNI@?KO^M29)^FJCWY&)"%N-)^WO<<YIE6;,.GTSF!(MIZ&UE"3AD0#J$I
M<DD(I$%"%%'!*O8@+"HY@O]JUNA=O42_-ROT1UD@ *6"2+L2!3_&\#$[MO/?
MT[L2K]J?,V/";-Y<W<@;WI:WFQP+8H;RZKW#IY>WX0E%O6?_/HW[1)CIV;\[
MR/[],C)!#5E09BUZ2?F?^M)\YS>YV&3D;UB ^C3GFFKIQ:W'5;/?)%;VZ:0.
MYKT@T!;51F36M%)[?]^DGPYG93:YE5U^N$SFVAQ%!.=I14]UX*)\"+=8[G*3
M6">Q1I,,TZ/";SJM8D.'!7[7+ETL3'Z^'"]LX1MN3O'6!QYA@ANO?W^J>?0N
M;AZR=W02P@)P$?YW"2^TD /O?#K,B:^#7VONNGK\=#*^W!G\+L'M+G']L/KM
MRB?6B:^:D6RUC WAW=XC;[U4GPZ2ZQ46X)*86R[.IK/\'N".*PK:DFS[>C8]
M7X^K\)YO'E]+R*2<Z\CW;2ZK_URXC5=T9_%;G/E,X5O<Y,V;RXXR/&1K1MG-
MGNQ=7XAQ,S-T3BU.:L;;)H=8$]_FN X^./QZ\]NU5[_?+3%:,RSG0^'5-+,8
M/@[MI<5.2$4-BI@SQ%522#-KD=3!\)0HX6W:R\ <Q'X"+J),(RZ)0\; /YI0
MQVCTE+)TM+,ZY9]_9)+A51Z![#C;:![]F["<Y0*Q>9R<!/W2=#DK::D-UG>'
M27,E4_';12;$GDRK\VDAQH:A/)),B41IC"!3A!+$/8>PSD*4YZR6T4D%G[?.
M?VF0J.@Q <'S'F([19!V 2-)(.0C2CABV$&9<C?+E&MU8\A+42ZN)>J@0.7W
M>1I''7=.BFKAWN)V#_5>18V5P^KO%]-)C:X08ON">ZLK\E]G\7/>&*K9W(L+
M4+:%MI@J#WD.(XC%,\_YQ=*!X[7.;PPV9K48U*]Y'ZAQ,N!./F8;E2\I8RNY
M-7 :MK:);!:!8FQFL=CI067'F::RV;]9^1G%Q.0U&$V6Q3;43L?.%LYR/?&5
MF8#GP<I_&4V7<X#OE2W9-:I[WD&>QNM(X;\'[RM>+.J</<6$[WIV-L *9<M;
M/EMM*FY\GMI7W-H+*9=M>XK-/J6+'D1B2QKA+?T&5K0\E[!!N7_MBJQOD6FF
M\ZWG2^_!P(.I;OQ!OP4NA9=U);";E[=WIR(YM>=2M."Q@%8+ZU1R#B5,%>)6
M,8C: 4.M5 )C3Q0VK6I$QPU.R4A$!:>(,\Z1-L8AHKRF6FJC$C]>VYLUT/X,
M"[&;),L @4"3%F?Y82C82Y11!IW(AF_$@Y:M)-XY$-Z7LHO9-%-=SXO/N0-X
M5P07@VM"BT'9SX<);M"JQLG!ZK<+F(L?U5I0AP"#G&,NKS3S#N]^:?L3;^=G
MZP]:C\G9U_E6.+9]G]M'%;L]UE>P>YZK"5S>[5]EQ7?]]ZYEQ:7'C$?NP57R
M)G<,D> %X81P4%8&$Q,1K:RX8,X;HL%I(AJ\+:5RM1T%OUR9@!.-Y- .W7T]
MIQ4;=$FA[VS,@">5A6XGFPXAXR9AGG??=S?UP-/ITH[=]RMWI1W5@?SL>3R/
M ^B)Z"BMA#?HL$2<!H:<,!%1'I.G4AA%6GW1GQ30MZ.Q#P4$3E-^58?37^J!
M@(35=/1U%+].&H3*7>[Z%XLZ'Y"K=C),KBC3,YIL0NXS"\!IJW50UWI,]4/7
M<",F+FT,&D7J,.(0N"/KF$51,YJL3$(YWY(;##%:@1DL(D1IX$;H9 D2$')I
M:2*F6AP--]IRT^"%_1QO"QGTNQ^IZ!1>K 2CB0'2:#;/.:,)6-[9/)<&-H"R
MNBXO2PTD6>+ $L] 4L>7=2A2!U<EU5-R6?"F*E8'7EL%/EUQ1@ZDJIH$P^,@
MHTHD6H,!&67.4_E@ ",%1]3(%((C#JMP-&1\M)S"*9-4\)^.YJB:FLK]M +
M0N.IQ<:QBS$':;8B^/O:33R;CDO\/IHT@9]?!?\EY[M*$C^.2((YICP(BYB(
M(%Z>&F1],H@0H3RQ1'C:'6/=V=1ICE*>E5CF*N*Z5>LZW%@E?T+Q/^9+]T\(
M4ZY*:\WB[D[*H_F2!DL0IVS?N0-?TAGDN(S(1R4$]5H0VB[0?4KQ7%%.9.OW
M?N)G.7$W_SDV/[QO</3G./>S4;GT) )ZJ.W2VG$<K8:=78#_L)-R'H"4O<1<
M4E^\QYPOC!/?^ GKBTH.2A9'(!82@]:GE*_\UPR#];[6#Z,_U;MDY],E(&3,
MT7P6M*XYI!(;(V+F=C*.(^XP1E8;C:BF-%H7HU3MALR62;C2(,63R@YI-O%8
M(T>-CI$PD\CQA&_C?OZ>MDA/2BC[-_MM=+X\OU,HVZ5JPG4@N]D/;7;*2P:[
MWHO?HL_(DK=525V-0&##J*Y$O0 =G*V@;(6#*['/^YD_C$ DYTN0]O'T*WR_
M]4R[WBIN!V;M?>!A]:[L3Y]N]3I;4YYWR-<PU#6%9S0J:BB#N%,0T'H&$6AT
M8$B,(I$[$7QLG?DT@D"4B1GR7%O$ ^BZ$2*!P@L>C04KI?#C-("Y2W%YZ5VK
M!X9U*?:\[EA1.?0TB^=V5+::&IW?L5O;&U!-.OFF$/-E[TNM%F8#6V5GKZF?
MKK--FRV^56%UEJPLTSG<+ZJ0H2[$]6FPT=9M)S"(%2+6)2[_MU,G=/%J-@%_
MBK,%R.9N.5:SQG5 -Z]S<&7K.+O(91M@M?K+/>][L.UPV^8+9W'<RO[!QUN^
M=]GJRX\>K-*"\$I@L<"?VBWY*=%EV>+]$NOME2_3,3A?);\#.C79_+K:\BNE
M/JG9N3AOOK5^8#W'>C=G)1$@3)M$RBR.LW4-=0"R->:RXU,?"IC9?+;ZLLX7
M;>I/ZKNN\YW>9S=QLT-4=F+ TL;1EW(TM>RAC& T]9A7E\&=2CYG%=6LB\%R
M\#T>63<:CQ:78*H7[1-8Q;G(IS=/:3:[9ATU"<0(9Y%/"N(J!7;2>2:1%YBQ
M((5.T>U;1Y);H*6@$"/)Y^^ .VP8?-%PCX,-1/K#)Z\^K 7FP/&K.YK#DB(
MD[A)$1R<'U4*<RDU2J7]6PI@_0,!FZXL9TEK#/\<)=9\]/E-I@>L?!?-_@YZ
M@N.]DW?8PHQ=$'P=%N9]/IU_NK>TZ@O0Z@FPVI;N&CP1+S%\72*E<W*=^URK
M%P*25"2=G-=:X+;Z"FUCWCD* 2..@T.6"(F8(,0Q[!@)QRL"O9$^J?1M7^>,
M;@ !?)/'+\R B"YM38-.[W;W^Z/0ZY1RM]J9 F/MEW71^LJ*;Y=@7)1U@2 <
ME'620_[=3!/;SD/MFW1Y.$/YRE29/@]5%MAP[31'*<:<> .-U#I29+GWED6,
ME6Z5A#''5,S][*R)"O39.F2HI\A$;J+U+M #;1F>ARI3C0?\5:DRO4Z5Q2E5
M.4<FR_&BG'%OIPDC^ RCW/0*5J(<>LASK]>FR%0=#'5-W8Q1SD2MD/8ZYZQE
M0H9'@UPBV%,FXP&*IWQZ7OH EE,[!XYOD,@$*Y$3/%$M9/0''/M3%E[<G"/K
MDH)]W\G]$*6-E1#LP/U 3B0W$.Q(C+PW21JBN>:M\@6,390I@42ILH=B&+*6
MZWR,PE'C7-+L,"5.=^6$=K/@;P%!3%RT,2G$B\W>G/5GH_AEZ^1"WKEN-D9@
M5"&FLK/AQZ-)[O*W@]GG,=>\KLM6RXF"L)T?*AVR=L[DU:'M?L.;?ENDD_F=
M&&G$1!G$+/.(&\%!2Z-#+I# 63*,T-;N![,)<PJAEL D@==%9*[98R@)[XF2
M)CBJCJ;>C6_UCRV*V17]U8,W2*0>"$XZI-=;SE56G]J)*!GE)G.<U=#%.%EG
M6ONT2)\6:6LUQCR!)FJ42 J(6\.1%:#:QDM!I,068]$BM6 XQJ0BPBJ??0S*
M@G/G+"(QM_OV$>QVBPSHF<12SR M\NGCAZV3(WUNI,^-[#CA,6()XHPX4;[>
MA=$1 B])& =/6]-HVR0U'B>CLY56^3N2RKQS0Y G06(MI6#TB,?E^MS(X^OS
MBTJ0Y+EO+5*',R6$0JC+'$:"0MS+P7Z"(N7J/N)]5 Q;Z5I;H)Q10HWD*+(
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
MD_WV7Z/%66YO!^]R?C 8W.CM^]]^O7%;2'(]H+A3_0X;8_ USK*1&,<,:<7
MC,J*#"IX<K8*9_GCAJ&H-.?]FI<F@O& .3<?CPM;PH6]G($/!ZCP#3"@NC.5
MPIY5ZYLF/_.FR=0SXXR.*-B8J;DP1PZS!,^GE$:3<#(MJ_VD[ W=/$)Q Y9<
M>[[B%.:D<W)'8E2:>(F"QP[Q8#3X@$0B0Q68$DR<:O/*/RFQP[.4.SZ\AH?^
M!)#7R0;.E#G/C35(A&0SFVI 1DJ&)$0P+D8FO&B[,D])^? <18_A(>E2U_EK
M6D3?)MC170YVZDOSG=^,%O!0?^4J_/+QCS_N.'79Y9E?-<_WD^ICO%C4GA_X
M\'Q07-*L=W9R6=DPO2C[RN6S*J]*G6!QT8/*5C&E6E(J (G?IE_J^Y#B.P*F
M%B]Y\\T1!)!Q#A.&.RZFX/&63,XZ11//+\;3RYAS.-/JHFAHSE^.+ZN+Y<R?
M@;*OW/K&I6Y&67CNU-LY(,\Y1*U535H&@[15&,W]=#G)":+9=/GY;.W%@Z^]
M]#61"=QL>9$?V36X55;B&'%$,1(!<.L%&'GID.:$2*\5U[S5.DP324)P$0F>
M\T+.@:4W22#,F)3>)1WH\1+H/S>K^^ML>OXW._M77!26ZC^:MY6A]/;IH1_)
MU;6%ITH G46(XM;RZ;=69U#-E^Z?)?4XK;*F7(QAB! ROO_PL1J/S@%>BG0-
MJW=U=A+"NWS+:/T9_#?%$OW50C[8DGQ8YLHV^<I]J>]@ZM)Z9I7 ">&@P"/@
M6" G$T:)6O '"*9.MDB@[BVB]TE=KF2Q".;OZ:>"$"5!TJ0PCY6_U%V4WFH\
M_5JG+O,O)2=Q7O1T-S5Q+8Y.ZZQ[&LWF(,DSFY-&5;"7JR_O"7/6@>8K8PO?
MN/K*8;5Z.8W8^ZQ@X]'\+)N'-5[G3:S1A:V%;E(0?187K;O-#QB;45Z/4!N;
M_UV"J4U@T?(^0WW%$CZ;@?FK!9I3MAKH^[P).['CZD/\$B?+O$ A#A^J?-\=
MILJ0AB0B =:%Y"F3+QEDDW?(>&\4#B$%WMHFU=)&FXQ BCJ"N%:Y=C* 9=!!
MT01JJ/#Q^J$UKG-QI=]/8/'S&_LY-C^L?.F?([R74;GT9#M**Z\%9"H[L7'V
MY8J,VDGC]Z DIF#+J>(<<>43<A ((2ELX$G%"$BZ_[Z]8@QKP0!<F4:<0A!O
ME(V(&&9ML%@QH_;?]Q;4_60O1BM6D_F'9F%^G<Y^7>:"UYPCSH0HQT@$8SS
MG=K(V?(81XL]9,L9WE$S^08,%CL0DH/PYOMK<=KYTFBE#M5_V,G2SBXKLC;R
M.:M;TLSP<WYLA"^$#(WK2XN3+ >5NZSA,L[G-5C_,/H3^*[[^TY5S!C614?5
M*AY$- JI2%3>XO!(TTS2%'QP-H)XAN-Y ?>!L,UVY>_I]^5BOH W"Z:C*,??
M[+?1^?+\MGY 5H,?NY2B7-OZFK%Q(S73S42WM&#?MF^E_:L12&D8@=>>0RX
M]5D6MGSK8(O!7<O[6Q!1D-&NR2''$9O<551H#] J'$<Z@F4E.K/=8D%Y2B>5
MPY4IW;R9VGBNS.K*JAX!BFEWH7B6I0?$9[X$:&RA'-CN<_ 9'4@=N'DSN!O
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
MJQ&SV%&;DC)$OR@LZY;YL1'#*Y,8EC_"*Q/PWC2C$+7Z9,")P)''%I-W,(R
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
M3?QX&>(Z(U M9G8R;^Q/#O(/.: EH; *HPZD.,KXUSB55[W.C*R\SFUSO/)
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
MH$HLM+%@%5.@/6%HZ%-IY*I(VN)0?\:R3Q=&WS]KB9.]J0I<%>J*@!4!=X*
M(26CF?;@*0D@K&5@*2=@C!$I:,NRR&U&!6R/@+(V_*D86#&P8F!K&"@E-5['
M!(K3!,(H#L9I 8YDI:0(+JA6 PNVQT!1N_;L>8 !:\DUP0[1-?''<.+ZG3 C
M]RJ:3L8)6/W=-T[K$I,\NN+J]A2$1"4;Y4(&Z@UQ7DA4E%?%RM.="QL*6K;4
M*V['CH=C)_&*6D>WI4>*6B%KZ2V/X$2IRAL+ B6CP04GI$,3/XI5U'JZ0V!;
MU-J]/^#8Z;A"T]%MZ9%"D_1$)(M8E*-R:'.S!)985*A"#E(R0^V:\*>GV^G;
M0].NS?2#H>,=1 <\O3;3OJ0#/8HC?DPY(57&6I_I094^CF"N=7Z'/;]*J\<^
MOUI3Z9AW]RCF5Y,K:[6D/6*QX[-LJH5^(Y[2D!2S%, ),2"BEF!]0!!!@SU%
MX[Q;$TWTA"./A34TY[=6CSYJC'^%K[JE)PE?)FNA0W:0I. @.+5@H[/ ;#+*
M9V:"HVV<?53X.B!:K_!U=%MZI/"5K<W>FPQ1\ #"^ 26T00J<J>E3E2J5>WK
M"><C%;Z.Y REFO*U3E(5)564K(H2JBR+"@4(\Z7:<0X"K%4H5#(:\M9';5(K
MO;D7HN1&LGX5*/M,\17$CFY+CQ3$').:1T?!<Y) 1!'!:2% ,9L%R9JHE-HT
MYRN('0S%5Q [NBT]5A +1"="!"2$)@2D9, S@L:<TM%X+A-/ODVCOH+8H9CV
MSW5*?T^&XD%:][5X4DV;KVGS6_H(O$Z*"@]9T@R"* $H=!0D09@/BBHK6*N'
M_3.>/6R9=%29]14F*TQ6F+P')D42,AH50/.$"GS(!+SQ#,=+> B1<^Y;Z;M4
M8?+(.*;"9(7)TX%)$Z+PJ91>"B:B-HEZI2\ZHN1!,.FI46ZUO^8VP0L5)O>,
M8UXDP*'6:4)ZGG%$%5]5?%7Q]=1B3Y(PS1#]?:8HBAQS*,AB\7-('970/M!6
M,Q^JW#IT5JGX6/'Q=/ Q4:T=]Q1(I [5>VW!>^<A9!=SI-$FMMIX;PLO2,7'
M0V>5BH\5'T\''Q'7A+#1 @M9 WZD8)6FD%3.AG$565SU$F_A_JCXN#>L\FS1
M'T_)XS@4)\;%:/BE-R[\A(39Z374W9FX;VE<Q5*[W,;.6&&W.)SZ?GI)P723
M9C:MQS_O5$*M7XPCE5'6ABBD2B"U*?IXTB6RFD)&#9ZC/IZ<"FWX. ZZDO6=
M]'%XPJFB9$7)BI*/0<EH32)<<:#>6M3DJ03+$/LRRUG0*'/0K130WO_*V2<.
MA<=<'K""8P7'I_5$L20D)8 P24"D%,$JST HGCCC+F362I3'_M?N/C)P7'9B
MX&>'T]@3%?#6N^]\W8.GCI21OH7^-.(L8^_+U3S[Z1O$WB@U!/,:V6=Z/G@3
M>^.+OKM\77Y]<^%B[ T^+?FN>K,7S]T]LR_^,1U/>OER,8;F5DB#B&3SK4P&
MG_#ZBH*^/9!,U'W3?ZQ4>0 \M+#Z5,@;5(?K?4UVGZ_<91?N4YIYPL!E'.QK
MU__J+L=O7OW+C2U:K']#?.L7?YLU/E!Z;A:U ;PKLIZCWZ_3\S3JA<4ER\3^
M\(%<B8/YTQ9.;T6)%#:"] :E@4:1X*UB$*V42N _*;;B4/@8/J<X[:??\ON<
M"V]^25<"XH.;I \)WQ%Z_9XK;/M' :\_\(T_](?ASU>=A#+BHH2-C:;I841
MV=,Y[8G>T1:HXH_/J9.'_?[P*U)^IS?N3/"+T8VEZ?@T^9K2H/EI/'&3Z60X
MNNSD62&H);=K9X3+VG&#V%SY;GB.L[ELC@;TFW$G+7;AZM(;;0V.ELT6\K$1
MC^NB"!VNYT(S*.,I$(3#+Y<#2I#A='[6\F;V.DO.R'>+ZY%(^NYBG%Z/TX4K
M:[I8AD:SFSWZU;ISAN(W][C#D\O7BV=L.D!HWBKUF9'LNP*LFR^B]_U.S[C:
M^B%',@C!'C>(>TZ,S-YT4S$'Y.^[JGA/R3TE[Q]U2'V'S=_6ZFRGG'V=$8T?
M]N/&Y?M[<J-QY_T@IMCY,85T[M.HPVGWZ67U'W*"NP^K^'RU^"O7[K1/Q>DQ
M+2.,5P9MM1G(,4ZX<M!=',0J!U4.JART!0?1RD&'&@SX<L$<V\0#NF\=-UGC
MG1H]H:#S<=07JQ7UEL\@=936,&XA$V9!<!7!2L;!4IVUHSE:M=I&^ E>YX?X
MFM].YD7T/R[(]<;%-\XK+Z:C='5@"6SYQ)(CTM(S<G3E]!YV/C\C_N]J"-L!
M[G %M!8BSA+3O(1%!&\-"$LLF, T:,FYLL%(Q50;$6<5T"J@54"K@+9S0$/X
MR4;3#-XQ!2(X#]9PB1J:,JAN>6EX*\EP%=#V ]">K?+/?J/EMMV*2C3%H=-3
MA<_MX9-))5&WRX#V;0"1H@0OB0)"**(J=Y;&5FK1/ 0^UY>33^,UN'D-EN3T
M"L<_#$>K2GB(>ULQK04;ES O= $D%P@(%RU8&0GX:$,0WD>J5QN2[<C&K9A6
M,:UB6L6T[?UV%M&,:Y#")<0G1L!(04$;M%P38<:N:3>^(S.W8MJS8%H]WMW>
MTAV&/\&[<2J!%^<ENV^6FI!FF7Z'3F 56!]##7]9+,A.@5H$$CBQ",]>&1"9
ME$:2)D!@"EDS:67I*E _PJ#.G]+@02C]8XK39F#SM-:/G]TH_5!XX=T2*[P;
MCB</]TMVQK@Q^/6K[^D9/5&\_FM50@]Q<RM6[A]6:AV5(XX H\FA@NH$>$X-
M1%>*&F9I$]FJZ>Z>8"4[DQ4K*U8>SN96K-P_K$S9FD25 L90/12V=+]1V4%*
M6AIA7!1K(A$?X0#8$ZRD9SLN-'6 6%F/O+=EJ5_3I#.\2",DS<&G3G\X'N-
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
MPT]O0[-=32S77^;T^?.'MW.2_&OG*Y)@J2S64"!*&V2>L\[;\R%NZDR^+?8
M?YN] \U!I#-\!1+^M-!G3//7?W@[9SNDA6V%5?M%%4S,/A %"L43""9XZ4-&
M (6>MH8K$=S*D==C0MP;,?=N."K)&)/TMM\L4SD1_H_>H'<^/4?A]WL:%<L?
M;>L;^A3"0;I2J( M:U3L/B5;[I$Z]1VNWGSZ'7<]?]2RF@5HL &W8QXP>'5Q
M \<M^ /;[_9LD\@T:(@D\^([EF"LE8!"AW.5=39IQ9/X:(JYIHG?\OMOH3=.
M2"B_#3Y.AN'/'Z:7I<Y#:\2R5[22FLDNB.)BZONHD8:YL!N7Z7?\;/[C*\$Y
M"UAM-.-9<&+Q3:TX(.:"LY&T)45LW%#87%P7D%J(TD9Y<IWB'!@5!0'!RQ6X
M'"R[$9KD1?UF7#:ZJ2WB2OH7RFPW".6F1N\HYL&,B$>IWUPPEW>X6X\72N9E
MA-+7F=_.#_NQC2W^VR(TN(,4W?E]..XUK/[(Q=C"R[H? ;;%"S4=+*7V%;KT
M:8!JWV3-.6G-2[C"7^4HHQP1U'@ORPFM >N,A *PAEC&+%UQCCVE7,3?EG8'
M2?6'^=ZTY/,PM*8?W+)K&[+?([<Q*KS[[296R21MD@5.8BD()@PXQSWHY*0+
M5OLUT;\M<L(?:+']W^&T'W]N!.3[QA)#S0XO^8 KUA*CD#.UAWQ22'4C?'?+
MJ>;U;]W.U[)*RZ9J6JS5+*<%5VNFG)2TB^*/N&KE,6.*EYOO"CLN,G_8"^Y!
M,4ZW=WHNWPGC%*#W#3[W8D3M^Z?_$DRJ2"5J]51F$(HPL"%JX#%EE;CB6>M[
M'Z(%BQ351+R+EIB#G,$'JL!DE&$T)L_)RD.>*:SK?*'=7NE=Z_[S IB[K <N
MG_EO[<]64E!ALX<DC$?@LQ:L-;E4F>+9*V8LW<IL6X#EQ_ YQ6D?[;8-L/EA
MV.__-/-__5'<_7_@^W[H#XM!EQ A+_!9$^3]AYV%'Z:GZFV#CF@H]7LW\@"7
M3#A$F33+&9PY%\<KB#M/TKFA-\?I:)%F./D\2C=S&?<)18LWMABP)6UMW/E+
M8X4.IV.<]OBOKQ]I"QUF/,2BB$U3PV9=R4@WG0P7Y7O*>$JL" Z_7 Y]=SF<
MSJL)O9F]SI S\MWB>MS6OKL8I]?C=.&*>%TL0U.B:?;H5^N*:1:W0%/DZ/+U
MXAD;JF1>O95Q]5V)@-E\$3VSXKY+[OM=GAG&'_60>^J%FL>7"UU+&^M7YS%5
MV\SA%6T[UND]N,GYHXHZ+T:^P\79+G1NV<5USZ'B-D)DQ9,VG^?_+D>Y?M3[
MWUT4 &-4(T>]?'^6\:XF6D3OQ^*]?#HC/*0 \S[01XOL4_O*;UOM\ ?7GY5I
M6.L'(K6 Z-&VAVV[..B1%OX4TGIFE87 2FI2">DSF6DPRA.EHHHIKUBPC D:
M;$2KMW&6JU+.*D55W!J:94%-IF);Q_?C&@ (TY5ZQTU7#K*<Y_/5]"</K.E_
MNR'RC8+^Y  +^J-0:>H\=N*L3-'%J#<<=2[6G4%6$7/4C'>JDN5Y.M4D+5-D
M0@&W.H%@AH"GPD%0/@FG' ELY8C6YB2X4P)"TJ5TG-?@LTJ %SN2DB(N/O1@
M:L'FXP]-)&-O\.FGT?#\]\+LOZ-M-2S77@4>/%BL?<_$YK"J0^6>0^R/>;KR
MZ^?!3?D5IJ-1"8TM7NXK,5:EV 'R895BVTL=*BVG*%E !X6VCI<&#$,QDF*,
MDN7@LELI9]2BU%DPYTVI\V[&HEO(G7OBB+KBCFC?TV*':DT]JS2:UR4I(;M-
M,D 3QW+5;F"R'%Q01=$3>:^V#SV!]J$;^OQ$):E7"KPHM;1+'J5A1@"1*FM.
M0A \;2/.FCR#>V39PI*Z(=+F?#^3;.'RCY$;C&<)1@^WI2S;7-SSF'N UL.E
M?3Q<HE50G8R26&VF92$3K&&""@8L10/"H'PQ1@>0Q#A)E?(DK31YB)PD)5"J
M1$E-J1*:4$09#X$$&8UA1-F52B.[/5.2NJOTYCRVTR+P:@6]J$^NGBE5R5(E
MRT__14OU<,9*N4RN0&@MP7.G(=*@C;;1&Q]N2Q9)I+?4<-!2)C1?2A5@XA(0
M*H+0T05OR%;>N&W/@.YIJ=6ULD8V/+/)4J50/1FJLJC*HCO;HW JN)$<%-HT
M(*C+8&F)H7,>14N47J\6>=FY+-KUR9#MDAIG5VVB>C)TG**HG@R=P,G0\X3K
M:8$"37$#C)468HDR<+DT.F",,\DMX9YN(QY?\J2IJ6*'G^X3EF1S!=IC/H\Z
ME/B__98%.SN88E5.GHR.6DVV&P=3C&KNF(5 + .A8@1+8FD(YK/SVDB[VILP
M*!*\5Z7Q4FD(%K, 6_J#)4*8Y5)2IM7S'DQIUM6V'DQ5(ZPF.U7)4B7+45I/
MS)K 0B(0F!<@T H"+U*$G!@5**4DRRLA%%E02HB@$*DA(-"^ IMY!ANE#S8)
MM*<>FI:[FV2G^^I+'Y]C\5 LH2K<ZGE7%7%5Q-UYWF6YL#$E4(E;$#9;<(HZ
M<)3*& S-CN@=BJ27RH0RI&9"55.KGG<=I2BJYUWUO*LMBRUI9YQ)X(RF*!Z]
M!.M%A-+>VT0>A:0KK10?(QX/X+Q+Z-/,OSH4*V^_9<'.SKMXE9/M,AX[8X7S
MXG!:JBR_H*1\F4J #UF,@Q>:&X1<ME(&M $U%PF$"!$,3PR,RL%S2@)S*_'W
MGG@11$Q G%,@ D]@;>"0'"4Z!VLU?^;,+D.Z5NW8JKN32 X[61@_EWKIWZ^V
MKVV:T1]M@X&_;>RL57J&SHVTI68! QQT9_(U]4M?0GS*YUES.1S<^7C6F=2-
M2ENZ>;<X))C>P(WP2</I"+]&2>:GX]X@C<=G.VK'G!+-4ND,.1D'@I6S[>PR
M.$LT2UFGP%=.&9[4O@(WKI>120:3=\TR_3S8I,F./Z ".QP@@5W^/AR/>TAH
M[\>3IEM2_%!N_74X6?SP(E1PHT_N$&\IW?U*U]_0NVBZ45[W^)N3Q&38*41R
M1V.V+Z6W]WJ*F37(O=WJYW:_P#6M?^[I,7W436N7]RCT'5)+[J7Q4B.D0>Q<
MI(%#&RDU/3-<TPUR.$BSAL-E$=,WO&*<FK9+^)S3Z/:[O'"YUV_6[*HARBA-
MIJ/K[I9_._MX=M5)_A\(>^,X:WC=G?TT:Y)]W;P^S_U9RY>.9QVJ;CRJW+'T
M 'QST[!E.OD\'/6:#9O![;#TW$;><M/2 7IY@+=;>%X.Y]W-RQ.GDP9:E_HZ
M7S3.X\6AS_@:JYJ'N,EDU//EKIM-IC.:UO/PA^8]71S6G\U(XS^FX\FL2^=P
MT+]L3I*6;KU^XGSVBX59/SHT^\NR]$L+[7/7*^W$D3!GK]^-5! I$HVJ&:CH
M2CJ+96"5,""988(HQE)TMZ6"UM:KI%$3](J"T*@36GP*Z"QEUEP2:U:DPF\X
M#X3^O^/JO0BQ,T+%/2CY_(,JU+*;;?64&)34&;PC$H15'JQ!B1\#BRQ1SDA8
M"7Z3P4MCE09N(Y*"M7@/YQ982KAXU&:Q>G[S\MNZ9/'OR[;..'T!K;V9UC _
M7T;6G@X0^^9(AO!:KBG8LPR5-P306LT;U?,;W<WZZ1O$WB@UMY?.0]/SP9O8
M&U_TW>7K\NN;"Q=+-ZPEAUIO-H6YZVGV18&S7KY<S*:Y%=(@HHWSK2Q+Z:%T
M9>Y\>Z!-LT6OW>W:LFRWCU3H&_NP6/?/5UZ["_<IS1QRT+2,?NWZ7]WE>-Y$
M:7F#%JO?F'CKEWZ;%3[,#E[K27EK\%/&**FH!R-UG#DN7*GJJ3)N N?,*+_2
MU?0IELZ'64ONW]UH,O.TSWP+XQ^O6G1OUYGO.-IU4W7V3_.5ZC1+U5E>JU/H
MVOUV/$E]M$R:GGV#3OKO:0]7H3?X@N9)\1'<: O?J,2E)7P/$:#T;[WJ_'Y1
M%N^L\^.UTV&Y-^&*(WR6_K'HMHI?+K^D6*>C<EN_%XKETUP6TY?4'UX4;18O
M^)(&J"0O7E[TVM+.#I%IIJJZ3Z,T;T__M3?YW+F:Y(MVF]V[#LN")JM)1B#Q
MI5NRC )0RY(045-V/BMEQ4HA>^,BX\ZAMN8S+RGF&6RP$GQ&/<QKGQ/+JUC4
M[%=;S<75V>;3O1?0DU^\MWBWTO12UW MM/+60K!9HWQE"AQ%XR+0Z&4.F46U
M$AS&? C6)30L.5H8(I"$TIDHT)Y;HKA/2:\40VB9ICD[VWP.<)I$75"_$O9U
MUQ%I.6*K!&H"6L"IM+9O_!Q*6NLBZI6>W"9L8D46SA!(+I0^WYZ"MSR#$T91
MY 7C$]\Q85-.SC:'TY\F98_2^&+F)>^WI3/A9@RO%:<XFG[J7(R&<1JNM:7&
M45<UH;7,Y271(ED'J?$:^D# &A0(C!!68HN-IBLE=)RQT3,9RR&504V(!>0K
MC_R)O$:(TU1D=R-FZD?<E=]GFS)GLA(5M6RHM<5SYFQSOO]ILERE]2M:CR%9
M9:("*U&-%T)S<#(HI/7@4A9!2[;B@9 Z&$&$!4Y0? B>(EAK,AB4/%8:9H+0
M+T3K]&QS!O)ITGI5G&[0N[4B&L,C))O*<8-$G"Y&+TL^2*1G2>A*8U$;43M*
M0D$TGJ%%4+#=<P7&B<2](<YE_C+TSL]8)?<[M*F/*75^'4Y2AS\'Z,\N+4]^
MW9NX?B]L'.>[&PZJMU<.JF[GE[F7Z^J[AH$7:OA+KFPYOHYIXGK]\=D+TMBI
M!3Q<!]/,(C^>X.?\6ARZYU?Q/V4CT03\W(24X(LFG_&^NZV-TP@S>;L^3GMA
M9+$7%>,A#*=E:]&L2[TO)=+QE@WW-8U29^_D+7.."64S1.H=ZI<*;:E * 1/
MO<J"AL168OD"2F*M!8&L2HTV30*4\MK@>=0^.A[]M7ZY<%2\G:_/AZOE^35-
MYFF8#Q:VWY.]-)4: MR[G?56LDA3@!PY02N9E%-,QR$0P0E-WMB\$G2-^A/N
MI,"ME &U+Y+1VLB9 &4R1$8X%6K%!=7.SM*]]*C>TE>J6#U=@)\,465$HLUI
M5 Y3U_OI]A/CD_"4%Q PHB!!< EL%!1XD"(E1FC.I@V,?X=/*&_^OZC=O)N.
MD;#2Z)>>\[U^KST/@CJS>P@4>RH"I%/(-@IXM!$$LQ:\)QI$MD8PE="H7A'N
M3Q$!S['Q@ISQ/=SX#1+B%&%Z=L;ASHLVL B+7B!CMT2$]Z?%>"F!BB&,IB4B
MY2K*>U$SIS^GFEX:=Y=^[@]+P%L:G=^\H,'DM(>,9XBW(1,%/ID$PI18C52B
MP9#O?.:>.;*2U6V-#H:IILJD*^?:%ES,!DS.0O-@!:<KB/M;69U?KI>D/5[;
M1VWLK+.>\EY6+VB7YHLO8"]E"3519ADR6*Y0EF2)Y,FM*>E?3!M"610K)]HJ
M.^.:V$>2%0@G/5@?-22)%S.BG#8K15!W1-**[Z7><!H"XR<<P)]N\*G;!"T.
M)B5H\1_#7A/#/OPZ0*[PEYV?>GXT_/<TZ/R0>O]H,F*0#9"71N[_I4$*;A[S
M.!V4D,92O:'QLOWGS^\7OA?\J[C.W')HY'F:?![&>81D\;UU5Z(BQ[<#(PL/
M+YW6GZV.#,<\WC;=HOV3$\^#$=H!=]ZCO2\,.(+Z?H@R4F8U4W(E42-EXZ42
M ;2BMC2C*7)*E>-"HK5S1&JS(G/^TXUZQ<K_>9X6][[9S]]P&T?CS[V+W].H
M1-J[3^D&YUY,1^F*=8$M\RY_];W<KW/![XJ461#MM8.W(:FE0PNY7X<6[S>0
M? <ZBSWK+#:M,]NU>EYQ&HZ5GX:C)X8L#=)D?6S2V)4\3X3*!9_,G!_U*/L:
MD)T164M>^I PU)A8 !^2 >)\=H3IE,2*$1 9:DQ%K<JVV.E:6#":)J T<)((
M*EE9[C@&T-B]PN)].+2N1'W=GR<*Y4UT$*TL$=N!H4K/'$@:")=!&&56SXLD
M#\2C6D%#L6RM1\TD:(,W.A$2,UKQ%2VC9:+6M$9BW!Q!C3NZ&6>'P"J4X2 3
M05,U!@(F)@51)2:"SE2$?)NN1>;9"\\0G8M)S#T'*Q):NR&78.](-'6[SD20
M9ZK2]3T11D6/V2=%?1YZMH@:ZN)#)B_(B^,T9X1!C<7:@6W3I/#//'[SJBB-
M_GQ3;:[A/[LT8I9LX?D6_*4_'(__6DC^>A_<>I_.B0I$3@51$45:3!X%H@T4
M/"$4=!(\1YE"\"N!N$]Q)_W<;,@ON!TE!G?FP_B/QH7Q\]6NM24M6166U;+9
M>&8G3 Y2![34B^E-T?3VSB+Q,C1;4DQ"DK1R6![0'$(3!K)J,BV"!:MC@DB2
M<\$I2:1]28*GE>!KNL6=/BJ39&S*.6E7@@1U!I\S!\.S]E['J/3*J9[61 2.
M5]+@T.R12I>#!@TJ:;S)"&$)?5FB)Y7H'Y["NDF3>NE#]:4"(PE'OH='XD3E
M2 /"/3.E1'$Y''>.(?.0F(P@S'N[$F'[-!5IP2(S-OJQ]Z47<==:TXKV,;"J
MF#]Q/E'\,)X5/RP_W#"?UM>XW8]PU>[ZHJN;CNEN&"/U+.6F>TY%Y8DVP)UR
M((C7J)P% 5HF9Q/RFI(K9RE4*-3=F (:#2IT!IG.<451; 7!##6*:G^;U78K
MF>1><EIU0N\+E2NN==!%_3*.@7":(Y5["IDZ'@D3J&^ME%#UUG%B2[FYD) S
M'%*Y9VB'R$Q,=%%J39^=RNOYX8.27FO\2-OQ(T?M_]S?[)AUV8_=$CK27>?K
MWCO834PGY7T&1K0L8:H"C(RJ>'&DD,);;5>JD#U%N6@E4^X^[-W'8^[]C&CF
MVFO'*8?@2NLU[A*@P8;B,VDN/$TNYI6 R:=(VV?8=KJ? ?MW),<\J!3UPT>R
MJ5,)3;BY(D-B)9FI5 VT&DUN*Q*7C'*;^(I/]TF=2M*G(BD_I(OAJ#30JW5[
M;]3MU6?_-%^A!@G^/0T_X;L^XS;]/)C1]:T.V<=:OW>YFOMG-R[Z2QKAQ:5<
M1.G84OP%X7,OY4[ZEL*T:<TRS+D7RN'Q>.GGX44J!^(H4@L&C NHG;L_\:J_
M%#\#(V_>_?;C?S0?Z9N_SJO(XS<EA+.7OHX[N3=P@U".FWO7.]#!J8[352#]
M.N?%%U0$A]-Q)_1[@]*]JC-ISJPO1F5'SYNF*%]3OU_^.VJZ299F%DV?E*68
M?>_&O?'9U?']/*QTO*ER\/C:!>A0?6@:Y_21I195-A9CNAI$&?S%='0Q'*=&
M95JL<I-44"[#34$UUQ7^;%Z*0QU.1Z43X.RY92T6ZSIN7GKN8BI)"I/%0N(<
M2K[ "/%WU"MI#(.;<YS/ODE9&D_#YYL^S;+W>/D\.ZC9>AS2;%-3LXK[)BQC
MS$Y11%*C8P9!'.H[63'@1GM/J>0LTS:0%/$;E=O?\F\+ I\#QTWC=/[ELHS\
M^=>?;@A)&*=0!&5I;(E$_>K[X2#MDX@<SZ: YN#TXJ+?A*\@(Q7N&UV4_E[E
MKG2#.PO1^)26V=0CKWQ]M/5S'%)E28K<#ODI"]%N'P#G4V3"@R*9@$@F@XLE
M-CMZ)8U0CIF6^@!<52-[_PTI8>#ZBWSJ\0^7US-^6_KU_E%4R:WTBX.4H4O[
MOA 0W0Z^+'QND'H&S,-9)?Q1^M1K/KKK[ 64H[/F2,A W>865T0&(C_*Q;\T
M)?11FJ!8&/_U]2,YZS![9RSZ,S;M&1=OGP^V#.RUFTZ&B\Z493REKP@.OUP.
M?7<YG$[P%=]2?#-[G25GY+O%]4T)K(MQ>CU.%ZZL^6(9FLZCLT>_6M?&^ M*
MWUD!@=>+9[S9T)^X>:N09_J[>;N4#9?0,VWNN^2^W\499]L^XX2'<4_3ZB*9
M5GM6S_J>;NA9O99-UA/*8_HRF^?F[*<U6#V%Z2$5E%__[14EK^Z>ZQV-WN="
M:<W0=[@ZV[6<6M:7-BW?WYM8V/<K$1Q/IY<[UO"J__ ^K&*+5%9!J8+2DT&)
M54RZJY-BQ9\V^.48)UPYZ"X.8I6#*@=5#MJ"@VCEH/9TX,;;M*H$!UR*'#8H
MP1N\->O&?&L;<*DVK.=./6Y;')J\^]P;N(<0W$.F?Z>2_/P^Q^TA>?FQ@^%^
M3?GFIM\;*MK2WJYE[5U.O7&WMDCPZT\)@PV6^9S*$0G#?SC"0BG\X9*-SLID
MM5HY)?1!:6^D!>6T U%ZOWCK//#,%5$^>T=7B@3>6T6!WPB?X?>&S]@NUYLC
M: Z5MMOEW I7>S#E"E>M9I4$9X.2$+Q4("CUX!"G0'.1>0R4<[T:'B:-P!\X
M:%%JFN)'0&0C8!! O&1,6?;X+IV/@RLCNHIOCK$_5-)^'K0Z[\783P]4WUN;
M[[-:P/N\R16_VBS&YG.TJHDZCXA%1G,POG1J2($99R@U?B5?2&:I%3<"<BPM
MX6F08 GC0+46REE4Q#C;,7Y)V55B<X[VH9+V<QK>=YX^G9+A_7XZ&EZDJLJ>
M#+]4"7##X)9)L<@1_#D-((AD8%A2P%ED7H4<G%MI[6-S2J$TS=;"9I0:)('5
MVH#(GNK 1= ^[5@"V*X4F\OQ5X*N&+4G4ZX8U4*9%)N%S @UJC0=$[JT(T=M
M$^$G)<F90JQ:J=V0>(I)$5JJ$97@:>80HV2"P',@#"UMA+<=8Q3G7<.JEEJM
M[+K))PE;5/#L%4?+V'E>,KR+<Q _H4Y%DL\J!K6:'LRX2D0P(/@?$)82\-$S
M2$K&P*P)+J^41FO[+(/3+A.;Z\R<%DG78^VM../_.'Q.55Q/AEVJ!%B6 (Y1
M+7/.D'Q XSH%!<5V!FET9H0GKE:K!P23$HTD@N$T@HB)@Z?! 2/&97R"<";N
M6@+(KE&Z"H *4G5+CQ^D8B(N$2U AZQ+OV8+UG !G 3#2Y%V0E?;_H48/+4!
MK,JF@%114ZU =$.XH]%G2W?O =1*5(RJQG7=Y%-$+8HJ5-04K6D=4;6R3H()
M.8+FW(IL2D,EMJ):44%BM@X2]1F$4P8<IP[ACD3+K<ULYZH5ZW)2PP2W,:WK
MP?5\<?^&])ABY^.D5/RIVNO)L$V5 S>T5T:\95%#YE:"\"2#,5H!DUYDXDT*
M9*7_A.!",\LR6&H4"*8"F*P-)$OP>\)E=KL^&Z*L:U6-P*P@5;?T!$"*<:>3
M$ (856ABRZS 68\V,^.)2F]45"L@A1=8'@@'KQ@JN$)3-+%= LJ8S3%[S=FF
MZE\M@I2D-<JFVMAUDT\2MH@EEF94J[*F NWEX!&" F]:J$3*><ADI3V1],S&
M:&(YP$8;VRJ\1^@("O^D(B1.\N-;&C\.MH3J4E9UJVV,["><7S>C[PTB#FKV
MU*=8W?,E:8H&-@]9?BJY7;QP#XWR/X:E".N\4F35=S=,>EX>H1GNFEH2#^;"
MFV46V!DKSXK#:2E#N7C8BSMUMDI1>L1*W4,]#UFK(Y5C6I9PST" "4M :,'!
MAB"!!1^8Y=I2W6;QW=;4;Z&[6FYNQ_$4NKFJ/M(.CUT][F#D8<7>BKT5>Y\/
M>U74,EBO@%)?VI7J!(9: 2YG2Z7A/L>5_"(NJ2.)>M Y>[PG:K E&(HFEKPF
M-J#EL7/L)5T$_HJ]U852T;BB\;&@<>(D)9,5F,PI")L9>$5*$Q8EDC=!$[F2
M[\^MLX81 I&5- 8?%;@4!01',L=[N*6[]N@P+KN</,T37='X 9XA_%R:,>R)
MDGOKW7>^[L%31]))WYI^23=;N_33-XB]46HHJG2*F)X/WL3>^*+O+E^77]]<
MN!A[@T]+U1Q[LQ?/?6BS+_XQ'4]Z^7(QAN962(.(9/.M3*;TO+BBH&\/)),M
M^JML5R)SRWYMPMR@NGEKOAFI?;[R05ZX3VGF7D1U$ ?[VO6_NLMQ:?>PO$6+
M]9^S\+K%WV:-#Y2>FT5M$/&*K->V1#S-ADYOQ^,TV5T[)\]32-Y1D-XD$*79
MME61 &5)BV09S;P5C](OP\&G7TKCNME\:@>GV4;_7DJVC":73>^]]-_37M/N
MKVD87'KL?;JF@ZMN?+5-4^MMFLR+M&F2^@%MA\[LMHV)]!DCR__C6S=+:F-(
MM5?2OKA1CW5Z5R7A52T)?VOU:GNDVAYI?QCUR*=76U/4]DBUN4OEH-H>:1\(
MJE;!J:EZ)QU.7JN.MWD*&9U+W#!P1"40VE$PG"N0,EN:(Y/)K^1NFY*S[9F'
M*$LIG>@U>&<U1$(U#T+3R,AM[^G"3?A[WPTF;P?Q_<)3^&N:M!5KWM6FYG-7
M -O[+:T UF9BC',A9A. V\!!!)W Z22;%BZ,$!N96#G^B28D$E*"J(@!P9-
M^$,4HRF*;)4,<36?[QD C)(NL;6.SC9J;JU(47L8MLDN]]OC!\-03]ST1WDD
MCDFP>"JIB"%#<"7RF3 #1N.?6G$NN;'"\)7XO!Q)T$IR2$*@8$F4@"G9+:7_
MF-"6:!56XO.>0;"8+A<[3L)\B"/FV%FEXF/%Q]/!1T)13<Z9@TDV@9!"@%$V
M0^1.HA8>O5)KJK[%$&UT8%GQ' A#P7O'@:&>GI.DS,J5:C_/HWA+6@%R#WW0
M-9/].I/]8FVD795A[7+F,>;KU(2<AP@T2VVB(1.(CHE2?#F DUJ"MEG$$A5,
MK%A1^"G1ENLF'[+<0R2X+!(0'W(22<3X,@*-=RE3SRG0#CX%I^)EQ<N*EX\J
M^RRY3 B*P*QW(+CPX+,5H)5SGM(H>5HI5I]E5%83!IH: \*FC$:#II $]S[&
M+)Q::5C\#'C)2%?MNA;TD>'EVI3%]5E/K:;[6*V#U(E"YJ5@K"O&I&8$J*8T
M&>.)"ENE^^1/:?#ZX_0<%_'RM_Q3;^ &(2'5_88TZ":]P:=?DANG#X7#?LM_
M&Z?5;"#7_V6>Z;)]2A!EAY@3-%^U3K\L5:=!(QAFF(Y+WD]9KL:$&2Y6=/-U
M-8WH5-*(['WI-.R,W)MJ='_6#F';)@^]S#AJV/YSAR$?_O1J^E!-'WKFX..*
M0Q6':O)#31^JZ4.5@VKZT%X25$T?JNE#^W.6\.*;7Z/OMSH#<"S8*(('HS,!
MX84&ZZT#J[2TP0='Y<H9P%/2A^8>Q76^U]:.3)]6W7N?2;V>A%;TJNBU&;U"
M\EYF1L%8A^AE8@(3J )& S4R\\S32E.=I^0.[1Z]!*MY0]OHMS5OJ.8-U;CX
M&A??@E#)WF6IM 9!::/>EBZXE(.2/FI/>-8\M9$WM'NALNO&;4<5$E^QL6)C
MQ<9[L#%RDZ1) 5S, K%1"[!),[!!L^P2MT[E-G*&GL%=4+%Q#WW.-5WH.ETH
MWQ>$5R59C82OD?!MB#4>.+'>*)#1H_HNJ4<!9R50P2Q+3LO$5U)AGY(Y] QB
M3?(:!5^U_HJ5%2MWY1[)EJF4!$3&BWLD1W V9.#*:YX<%UG;-K*&GL'GSFO&
M4!M6P.X"1E?,@8/0_/<@O/2@YO?@Z+C]0-27BH8\E2F?$D4?P5R/>'XUU+*&
M6NZ/ ?;BFU^#E;8[.[%*I<!+@V@A0'@T@JRW#(R4)#+-A*,KAM-30BWO3'1O
MR712HFOYTWI([S.]5Q]2A; *89LAS+.L1(@1!Z@B"$T\():%)NA29"]U9+&-
M>,OG@#"MNDSOV%E^,!!6@RYKT.7+BX<:6'2R@44V4>$9ZL4TB3SK F),D)"9
MC]9P14,V;01=/H=DX5TJ=QS-?U31114@*T!6@+P'("4)@3+#@=J JC<G KR/
M%"AS5B>6LP\KJ4Y/B;Q\'H!4C%2 W#\_= V_O Z_?$!UPRK0:E!1#2IJ0[II
MPQB1R@'WQJ-THPFL-0$BR=1%ZJ4)*WD%3PG ?!;?N.D26Z,PJP50 ;,"YJX
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
MW*!*0^)EY[79UDTUZ+46Z#7?\ PRUDS-Z<G%R4YH:U[/-S3=#US'# 3O]=Y
MKR'Q ET&709=MJ+;Z?L.]W6AV89C:+;M&9KG>+IFV)9P0U-W2&>A>KD.0K^^
MQ,LZCO:J]6[9V(CN^;W[\PT%MR?RC^]SON[#YI\8:'1_-[H/(D 2T'T0 9*
M[H,(D 1T'T2 ). 4KI=%W]37GG,*U^'=L[=R$?!2%!T6)465H63RW% >_3XN
MRB$]@J.X<.0!>E??WD%*T;OZ]PY2BM[5OW>04O2N_KV#E#:^=UB8B*.X:E7W
M7A<YP%*>%6JJ!(^%'<>>UC.$J=FN$6A>[$6:'H9AP!TC-EQKN:;*X$8<R:I0
M._)T^D\OT'S#X)H(=*[KKJ7W]'B;-55&Q[*Q95J3--C6ZT/KTG7HLA5TF>5%
M@>T8/C70L$F7<4OS#%_7+)T+K@>^"!XXM<:R/=XSU,9$I,MB2R[YB3S2?]SU
MW$#JL[!.RQ)=JV/W'"BW!BDW+$M$R?N?#_S[&1P;59&Q[<=!X/8TSW7)?@M%
M3_,M(]*X$)YPHIYKV>(-5>0KESD6- #TMS]1E=Z&C,"Z$^L#%&8KQQ4*<PL*
MTS"MGA]8GN:&44^SA>-KOBM/# N%PVW?]'7_GG^\?H6YZOK)^V:DWO'=S6S=
M4W<:03VV<URA'I^U#Z_G.3[W-<L- \T.2#]YD6UH@1MZ3AC8EN'?.P F,CS;
M-,B9=D5 ZLP(R:UVG5BS(DMW#5WTW$AL=1^RCFX8+5-EM2AZ1(((1X8U,Z"$
MH.KZ-D:*;-.SHT#K^3U#LYV>KG&?"XTF!=\Q=,<W[F^,9+NVZ\@=DJW(H5G&
ML'N:YT=<<[AC^($1VU%H;35!9'=LVT(0M4$J#!DB*+,U9+N-'C=\/=3( Q?D
MS9N>W$U7U\CJ%8X7!8;IW<L0F:3M'#*2-#?6?5)F.GGS@65J?B!\,_:Y%X2U
MRA!9?D?W3"BW!BDW>/3PZ%^KTO2>%3JFX<CJ&U.SO3#2N"XWKO2C2-B&Z_+[
M!3P;5&EKV+CR@7H>W<$.25!H-1Y.*+3:9G!"(XP-UW>TV/==S;9)59)Z$UK
M>[$A'"L,++YY!;GV#(YC=4QS,_N3UYU&C<_@;-V9K?L(0U$^0[%Y=D^W'%/&
MXWQ+LV.7=)KAQIIMVE9@]D+?T&V4;F]?Y+'8IT:Y')Q"UC3Z8,987_@SB!T1
MFV366I9#\P2/2?O'D>:9KN^&9L\+>O[RC"$W78Y]T]>LGBU/NS3H=ML+-2L,
MX\@0@B::%YK"ZYTQ'-O#?-$@_;5UV[<N74<B9Y6MX$,S['%RT TC\C1;#V/-
M<V-7"^U0#Z->)%/3RYK,\\V>982N9MB1C)2Z)MG+9JR9.N>>:WMZS^9U2N38
M=L=T-J/<D,B!<=8\E=86X^QMXIY6Y%H]P6TMC#U2D4+8&N?"T5Q']$1D.W8O
M#M]016YTJ4_/0BT[%&9[QA4*<PL*T_-,(6(OUES>XYH=&+;FZ9&C.8;O"[?7
M$[VWL"G7GB@R_8YKMBVFNB/J<>O.<MU'&(KR&8K-M+G7(Z6F^9'A:+;EQ%I
MSK/FV3P*X\#DO3!&"7<-9'ZU3!']C0<#\9<9*-_&0Y$G(?T[2J[E+?6P[I:^
M_>3GGHN'[!QU<MZ]@;C1HB072BCVB5#C87H0)<5HP"?[\NK!B$=1DE[-N])U
MDNI[TQQ;]8/<T#R))[-/JT<UD48'078C^T!O('')(Y'3BVZ>*3+NG_7Z<9!O
MM=(+%<8:0#=D#=Z"!,Z$JC]/3X[XE:@RCQJ/J9W[?/"#3XJ#=WO+ S1#7TG<
MP]"O@G SA?@M>:IF!NK7\-*_#/L\O1+%99)>$D7X52Z$VL3_\D=2]B]Y&+Y2
MW!9/%E@#7B<7QU^9WV5'OQQ^^_GXG)U\8X??/K%/)^>'/Y\='W\]_G9QSOYQ
M<O$+.SPZ.OWME2[#)EK^[>)0MNWT6]6R;Q<GWWY6;?]\\NWPV]')X1?9BZ,O
MI^>_G1TO:;7-ZI-5#HY8$9,L%=V7]]7P5NWL@N3S2]F>/!L4EZ,\"\GQRD51
M)V$_)&D__79Q=OJE1M)\KD3W^]GIT?$GDM?S'1'8P[+D85]$C!?L^*:?!$E9
M,,OH&NKL$_J+R<J,E?VD8(=I.N8#=B9&65XR,L,_DR7+#%W[51V?4O8%FSRQ
M'2U[+X\X-_6#.^]1OQD''QC/!0NEQ1J3S:H"!2R+63;.V5$_$3$U3H3C,KD6
M[#2F6^C%LH&WUS\G*=GA";UX=CT7_QR3L12Q8,+.Q@/!#(MKAOV>?U"/&DZD
M&<Y[\8$12X;CP14OZ=XQ-;[JRSE]+T_*1$A@JLF$'8:E;)7A6W9'(D9^@NKL
M>_G M'M/?NKH3@]GG>^R"PGPT92VZIGO<^JRHC+XY)?E=^Z.0Y*&@W%$=\E+
M25IY%_)N&F-"(25+0UV:Z00FKF?^#"$4BUPB1$.<I.JV%[1^*WJN%KKB^!9"
M&I-/21$.LH*&ZK$1W!%=<DIDI.MD+DM#J\.DH:6$:L2E)YJ,YI"M0.L.Z_.Y
M$$O1I?>+.)84N1:I*.9J([H=EG!Q6&[G1,E@.7[+FJI3O52VHV+<B!S.3.XV
M3RYUI4_N*\3NHAP\]L'W],5(Q$E*;R'"2;(5%=L4OTB+WI)M=4VT>/-,U52*
MEO0%B4I%?&K>=1()4@:\R%+I:M/[J!<RJD&?Y^4=K3)7JO1D(&8@5Z!PZO>0
MI&XR4R:Y0J:8OJ5D<2+[2[TLQL%03C2W?;S3,<*6G%SI'D6="KZBD'\MQD,2
M?)+12 %;O5Y>D)(V_69)PCH=,-*<(Q&2PJK05E >'TDDC-X!?4*A+U\DNU?]
M3;6T&(?].YVF]I"_,*9)0HF<O)%Z.ARG4A566%0J5O5^_H%%+E1J6BICV>^G
M9/]1N9>C/"(T1GE"7Y4?Y3(@I7H\F*@H4Z'FS5Q<\5Q]:SY:MV3HKF)SK:8?
MV"LF#+.)BO CEXR0JH[TT.U\6^F55XP]J;QKI5345#^5TF?JN!^DLFX5)*,'
M*V8^0/:!N!:#QY3B[L[V7^<TGC/[GBE\(@-8*?TTM0"8G"H6!K*ZDRBYDZ9
MI="+$2FG1(J<=!=$(<.Z2=&7>DK*[) G:4G_4_^.2'%))9?,< T7<8WGN.8S
M7)5Z5(J;'AC*#R[-L[-I-OXPF]47IYPNDRU^]M?4C#";F6Z[<L=_*,8T"UTK
ME2R_*+OXM$'T\'2Q@JG4O17+EW7HV>;![4Q3*95!PH-DD)03V:>'/E/-L00
M_<3S>?=O;R4HRRI.5TG)S;0#HW$^(CNCD,-)<S'9!JH!"M$KLOMRF@LG\HH8
MJ2FZJLB1GZ3IDEX]HKF^RSZ*D(\+(3\II^$D[9-V)/D<)&2.5%Y-YP52,.03
MEF:E[,VU? TU.!(E:5HV3(K;GLAQ8#(T7$T"A.COE4=75((Q6?3)Z)>[YBR-
M03PNI8J?6372@B,+2KYD9GKD2?%'-2W,YP'9N("LJ*%DT9Q0P2T"TP"I1)0>
MJEI'W5>N_'2:B(0,FZJ;R;:AT9UCK@8Q&Y 05Q;=PHPC/RQAH,;2"+\J'-;(
M6?_KG[L^4OP?U1 K.46W#E'V(D7V'!=(OC%.9#Y3!7@Z;%S,HPKDE]! \SLZ
M,$DW;V-6M\HW[Q-S20X?MSKOS<V:^NDJ5W!]SLEU^I'E?[#M&<;O3=VP/K!"
ME%+ID>0H#U.&$X:DE\J*@>=R^LQRB?QI?L73Y%^W83)Y\P5IZ.@'<4\]54BI
M@JV_15O_[I2NHA8/6/#/9^H/&?:XM>,?YFW;9FP(\,8[>O%0 &VJ?>Z$,U:>
M5!0' B%('LBV+:N@T?><)K ?)$)Y/R/#Y"C+:%(LV)<OW\FD3^FCD1C)T!91
MB&0W*4H5@AN-:;()%X4F3O)AY0242J]7 9\DGS:K8AP?C6@"*Y@T^Y)T=UW:
M+[?VKE1=RAM:%H%9+'M'/%8RT2NW9Z;T9KI\JBK_/-32653W,GY)[_J7F$8_
M%^SN*E%SW_-0BG)P2Z]B0L(^+#K*0WCTFVE&GR4;(6?][ ?[(>@%<_=-68U$
M)ZZ"I"%!.IL;LI1T[\($(;T8'A398%R*SL)T(?V3D&S.ZSD,]&Y)P+D.4&X(
MB<VRES.[^4I-%\\(5 W'A80M'BBWAIZ.>5C.71%Z4+H]="/-FJ%Z2U'F,F10
MS*>H@&0WEGZ=\E>>^$I0/4] R*[0),C5G%KY4J0RPJPHZS3WH 9LTS5@!FK
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
M!E#\\A;%+Q:*7UI9_')=CRFS=K4O?]]RZ8MS*::;3U[.0]67\Y7%ET78K\?
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
MM<KVFZ6-;I,^FUW]\S%+QP66^<#GA\^_HKBH$[C,32($^M1*5D ?T ?T 7U
M'] ']*D!))NA#\(XC25JPR,XR-<@7X,8/% !*LC7-!]S0^^ZF.N1K6F3Y;>&
M_=XLQW<-?R_JF;KA^6J_-V^]&9\O0N[D=C@_Y">8J.-_ E'^$")E2PDA>>G_
M:#;[E U&_21E7[X<=1@U7D1R84\6LW,Q*L4P$#DSS0XS==T]6%CR(]_^.<F+
MDAW*'ZI3A3)6M6'%+Y^&92:_:^CJN[WE[YX+ZG2T@0__=9P*9OKJJ_[R5R_Z
M2?[*CQ[2T)W3&'_.>1HF19BQ;UF7V59'-H&]I^\4XS 419'EC-J52*=7%.H3
M2^W]<+?!7_F$&:J]AG%O=+)Q7O8WT.#'Q,2KVH'\(D)4"%&MM(U@\R=,4 ?4
MP2:"8! 8U"P&D?/N@3O@#KCS&N[L&=A#L'U4W96(8]6XVF  ::@'$A"+FHI%
MO69OB *0J $2( 5$ 4B %! %( %2;*6NBO[DP4"HOT;)];Q7 W&C16I'T21+
M]^GKXV%Z$"7%:, G^_+J')E9#[H.(2/;,(V45#_\/B[*))[,FJ,>U40:'039
MC82-WD!.2QZ)G%YT\TQD7?KG6P>2EEKSY.<?BSDY=\]\(;P5[OW\5B:O1!4_
MTGA,[=SG@Q]\4AR\VUL>H+O2^R#TJR"\>?*N <\'>#Z#5 GU[/O3YLJF[?-Q
MF1U,X9 MDNA0!^3M&HEV-B8136Y$=%!]T-")\C_-'B Q&?!1(?8+,>(Y+\4,
MB4H[J'>_6PX<7B=%$B2#I)SLSYY_(/A7?<[K>H[WTW2X'[AN/'6MZ]A/7#;]
MKF<]=<,*[_:[^NN;_=0UMVLXO4V\V.KZ_D9>;- ,<0L% LF;KE[MM6N:1_7J
MKEN]FZE>]3=1O1IG.?N>BV%24">3E'T4R>\$&_OXZ9!]3+*AB"2N[#O/_YB5
M,?)A)F^8WC@K9F1?I[=>B+"?4K.N)NR3N!:#;*2*(8^R;H=]*2/Z[^S18VI,
M-DQ"]=:%QTY2PJ=43RV^@=I0O6A( %1-66SMB30*4[5C/K6"VD[OJMK>Y_F0
M(!DK$5E\^U>>DK&VW#P1Q])DOA;3@LO/(LC'/)\P0]5;6FHC_F(\&@W4HU7Q
M9]D7['S^F[S[MBYX7@=*+]LZUO7!^4XA,$\5Q)9>88R:5I1&H#0"-:V@#JB#
MFE8P" QJ$(/(I0=WP!UP!S6MH&H[XI#8,>?/@,&..=@%!:@ %>R84W_,Y:([
M''" I&.K3+_-)!V)*NL])2'+AS+A4QUYK5)"IW$L<O9%E.1)(>^#\ '"!\C[
M@#J@#O(^8! 8U" &D:UHX%1XD ?D0>('5&U'+ B)'R1^$,P'*D %B9_F8RXK
MTVC"L^R6K2Q']F?7[;^79G\D2 L9(,>U'5\W==TQ+,/9FQ^2;5P:NKG>#-"1
M7$ =9+E:072[2JKSG%WRBU+0P\5TJ9&Z<'^]ECI40*W5TAWDDQ"50%1BE0E3
M^UOSE2.X ^Z\/7=H6M4LMV<C) X"@4"OS">!.^ .N/,*[AA[SIY)'AVB3*VB
M:L.#2T@G(9V$% %0 2I()S4?<YE.>I]\0$8)&:7VF8!KR2@9OJ[;?L^_S2CY
MR:5A&^M-*=T>N2Q/33;DAGN;SS)-=ZPSL&$=XA6(5ZPAT?1K\W4FY .407X)
MO %O:LR;J=<&UK1<1 #).EEC[ID]N3[IP=6QB#,UUI=JN*Y"0@D))20)@ I0
M04*I^9BK'1203D(ZJ7T&X(:VIUOSXJ3#5 P3SKXDY#\50J6#-IY).ASER8"9
MGEJQY"*1A$02XA38 0_4 76P QX8! 8UB$'2?S-!'I 'Y'D->; #7ANIVO!P
M$S),R# A:P!4@ HR3,W'7'HH!C),R#"USP#<4(;)VM1:I3)C6TDWC:_&1<DL
M _DF1"T0M4"^"=0!=9!O H/ H,8Q2'IS%L@#\H \R#>!JJT(/B'?A'P3<@A
M!:@@W]1\S%M8$8=,TZZ;?AO*--F;W!7/W%:^Z9,(Q3 0.4/""6$+A"V0< )U
M0!TDG, @,*AY#)+NW(/Q<I"GC9("\B#A!*K6$ DDG.H:*P<P#: /4 $JVTXX
MT9\\& CUURBYGO=J(&ZT*,EE##4C(R0;C(?I0904HP&?[,NK<V1F/>@ZA(QL
MP]1>J'[X?5R423R9-4<]JHDT.@BR&PD;O6$_(%-!Y/2BFV<BZ](_W]J<6FK-
MDY]_S/)RW#M#07@KW/OYK4Q>B<J*TGA,[=SG@Q]\4AR\VUL>H+O2^R#TJR"\
M>3-A#7@^8%',(%5"/?O^M+FR:?M\7&8'4SADBR0ZU %YNT:BG8U)1),;0::K
M^J"A$^5_FCT0RBS%J!#[A1CQG)=BAD2E'=2[WRV;S]=)D03)("DG^[/G'S"!
MJ\]Y7<_Q?IH.]P/7C:>N=1W[B<NFW_6LIVY8X=U^5W]]LY^ZYG8-I[>)%UM=
MW]_(BPV:(6ZA@#NU\;2^A66D2.ZWS\W>4'+?66]R_WP\&@W$5M>18MM2Q(81
M&T96']0!=9#5!X/ H*8R2'IS#L@#\H \R.J#JJT(/B&KCZP^,K5 !:A@&6GS
M,5=UQ\@W(=_4/@-P0_DF=Y.+2:VW2CI1CT4T33A]Y1-FZ#+=9)A(-R%H@: %
MTDV@#JB#=!,8! 8UB$'2F7-!'I 'Y$&Z"51M1>P)Z2:DFY!" "I !>FFYF.N
M"N*0;D*ZJ7T&X$O331*DA923X]J.KYNZ[AB6X>S%5R+59+[)NO2]#62<9/(G
MC=B9*$J5"9HFFSKLD[@6@VRD,E)5YFDX%'F84&?_M91]8N^/^DG*/\R24'R8
MI5?S%!13%V?)K%^R@1R9HL.^E%&WPSZ*Y/=D\>ZO(I*#R2Y$V$^I<U>3.TTY
MRKJS1^>/G$@/,%6-H@??_R*__BO]YP/U9IB4TRX>%F7._U>D(J3&?+R_W.JO
MX\&$657ZRT+Z"T$4!%%6F=^UOS5?E8,[X,[;<X>, ,UR>[8. H% (-"KG$N<
MV0?N@#NOX8ZQY^R9Y'\B*-8JJNY***QJ7&TP@#34 PF(14W%HEZS-T0!2-0
M"9 "H@ D0 J( I  *5#WTQ[,U<H$U/V@[J=]:GE#=3_FI>_7MNXGSG)6]@7[
MK7M>+3(_HC'A2<I.Z=><78@\3\HL3T3QX7DKU%&A4TL*U2*K42];IQ:0H$('
MW %W4*$# H% 32(0N8$FN /N@#NHT %56Q&TPOKT/P,&Z].QYABH !7DJ>J/
MN<Q3]3#9(T/5)M-O,QLAF\9ZTU-GHA"<6O.GV:<'5YMWIOL:TU_5/L=+B\.K
MBU]%Q'-QLY!Z4H]7&R-W'CF.4V6?_ XS?-]#\@DQ#,0PL#LRJ /J8'=D, @,
M:A"#9/()TP_( _*\BCS8';F-5&UX0 K9)V2?D%$ *D %V:?F8RZS3QXF>V2?
MVF3Z;2C[9&[R&$Y#'L-9WX14*J;+H70#&2G$-1#70$8*U %UD)$"@\"@!C%(
M9J2P'@KD 7F0D0)5VQ&D0D8*&2ED&8 *4$%&JOF8RXR4CWW[D)=JGP&XH7W[
MW$O?V61JRJQU:HJG8YY/F.FI[)2)[!1B'(AQ8+,^< ?<P69](! (U" "D>_G
M@CO@#KCS"NY@L[Y64K7AD2HDIY"<0L(!J "5-TU.T9\\& CUURBYGO=J(&ZT
M*,EE"#4C(R0;C(?I0904HP&?[,NK<V1F/>@ZA(QLP]1>J'[X?5R423R9-4<]
MJHDT.@BR&PD;O6$_(%-!Y/2BFV<BZ](_W]J<6FK-DY]_S/)R[N[?1W@KW/OY
MK4Q>B<J*TGA,[=SG@Q]\4AR\VUL>H+O2^R#TJR"\>3-A#7@^8%',(%5"/?O^
MM+FR:?M\7&8'4SADBR0ZU %YNT:BG8U)1),;0::K^J"A$^5_FCU 8C+@HT+L
M%V+$<UZ*&1*5=E#O?K=L/E\G11(D@Z2<[,^>?\ $KC[G=3W'^VDZW ]<-YZZ
MUG7L)RZ;?M>SGKIAA7?[7?WUS7[JFMLESFSBQ5;7]S?R8H-FB%LHX$YMN@3
MU/\+/A6R_VWRL->Q*M73=:]W=U5J;[VI_\]9/I1Y]9,T$L.49K?[J?TGSM5+
MRH)5YF66%^J7+(Z34.0%\O(([R*\N]*JT;W#YBM!D ?DP;I1, @,:A:#I$O6
MLE,J0!Z0Y\W6C9H6%HZVCZL-CR,A-X_<//*M0 6H8.%H\S%7ARU@X6@[4T?U
M<DCJGS&JUHH:/5WW/<>^72MJF9>F9:TW971><KKY]$<JY,K0M"CSL2HO8E]D
M NBW0K S"1[[.>=I25C*F\J<AX\FE-C[HWZ2\@]R1:@<#G8APGY*#;R:L$_B
M6@RRD<I''67=#OM21E7NZ:(OV,<QZ<>QS%^I;\O_G8DB&^>A4*M%CWAZ]:]^
M-NXP HR:6ZTA_2R"O%I$:LM%I O'<?*U@=0%)=L?(P D6(H*RH R6($*WH W
M#>(-^8Y6R[9%A8" ,QOEC+/G[]UQEOXDU(7P5MTD<%< @.,,(8 0U'XN B0U
MAP0T@4P $M $,@%(0!/(!"!Y"A*4^VR\W,=$N0^\X];,5.O:'E[W#->X+?DQ
MO<N>8:RWY.=V WAV/AZ-!B];)7Y$K1_(6ZNMW=EY-AC+@J&BP[Y\.7I\CW=#
M5N<L;'"(ZIRF,*A-\WJ;(%FM.N?7YNM<R <H@^H<\ :\J3%OI*OG@3,M%Q!
MLM8M3_;,%^T&CVA4W21P5P" XPPA@!#4?BX")#6'!#2!3  2T 0R 4A $\@$
M($%USE:K<RQ4Y\ [;LU,M:[J',-T/&=6G>/[QJ7AK+<VYRLO2&T^6I?#AUEZ
MM525TV'G?9Y>]7G"SB?I15\<#@;3XIQ0C-4H+&VV<WYQN'S#+_*]O\K_?$F&
MU-YHL9#G*R>(F(D"GH:2K$U3?YL@68$R'NIW6B\>@ 3U.^ ->+-=WOA^UP!E
M6BX?@&3-Y3LVZG<:S<I= 0!^,X0 0E#[R0B0U!P2T 0R 4A $\@$( %-(!.
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
M**I!7A/<05$-" 0"-8E Y)@]6!, [K114,"==7+'V_-14]-H;VI7 (!+#2&
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
MLKL*R0H$]'#(4^O% Y"@4@:\ 6^V7BEC@#(MEP] LD[*]/9,!Z4RC6;EK@
MOQE" "&H_60$2&H."6@"F0 DH ED I" )I )0()2F:V6RO10*@/'N V3U"9*
M9=[R>*>C+"W&@Y+@N]T?YN4E,\=IGOQS+-3&,R)/,Y3-8,;=54A0-@/Q &-0
M-@/>@#>UY0T.8=H!^0 D*)L!*W<0 /C-$ ((0>TG(T!2<TA $\@$( %-(!.
M!#2!3  2E,ULM6S&(_0M&TH*WG$;9JJUU,[X>D_?TE%,AT.11B)2%3!GHBA5
MT<SQ33@8%_)<IB\)J=MBX=PE%DS4O7R8I5=+932=^;_9^Z-^DO(/[*N(Y&"Q
M"Q'V4VKEU81]$M=BD(W4RXXR>NA+&=%_50G.8$SM%#?L8Y(582+2D(;C?/RO
M?C;^0$T94K^B66'/X2A/!LSPJ\H>%.M@GM]52' <%.0#E$&U#G@#WM27-S@.
M:@?D Y"LM91ZKX=BG4:3<E< @-\,(8 0U'XN B0UAP0T@4P $M $,@%(0!/(
M!"!Y3K$._<F#@5!_C9+K>7<&XD:+DER$99)14[+!>)@>1$DQ&O#)OKPZAVC6
M]*Y#$,F&3&M^JA]^'Q=E$D]F;5*/:B*-#H+L1N)%;]@/LCP2.;WHYIF0NO3/
MMPXT+;7FR<\_%L9U[R8^"&^%>S^_%<XK406;-!Y3._?YX >?% ?O]I8'Z*X8
M/PC]*@AO7K&M <\'I'L&J1+JV?>GS95-V^?C,CN8PB%;)-&A#LC;-1+M;$PB
MFMR(Z*#ZH*$3]W^:/4!B,N"C0NP78L1S7HH9$I6:4.]^MQQ9O$Z*)$@&23G9
MGSW_0*2P^IS7]1SOI^EP/W#=>.I:U[&?N&SZ7<]ZZH85WNUW]=<W^ZEK;M=P
M>IMXL=7U_8V\V*"IXA8*E$1NO"321TDD8I"M\0<V41+IO&%)Y.<DY:F<5)];
M]1@2_CQ)61:SI"Q8,0Z*)$IXGHBBP[[]<O%W]IDG^75"(/Z2#>2XL"]?CJ:7
M3DX>N?KU7#Y(:E7><CP<#;*)H*%X^&;9N'\D ^K259FE["(GDY4^P*7ERP?L
ML"BR,%'_FM5/\D*VMZJB-%%%"0=LQR%!%27D Y1!%25X ][4ES?D+3J@3,OE
M Y"@BA*DW#T X#=#"" $M9^+ $G-(0%-(!. !#2!3  2T 0R 4BPY=DVZWL<
M'?4]\(Y;,U-MHK['?</ZGN-K/ABK6IC[!3Y/G _X.:-1*-A%7]#+Q9A&I)@5
M %45-5_YA#DHI,$<O-N0H) &\@'*H) &O %OZLL;<LM<4*;E\@%(4$@#4NX>
M /";(000@MK/18"DYI" )I )0 *:0"8 "6@"F0 D**39:B&-@4(:>,>MF:DV
M44C3>\-"FM/14A&-+)/Y/N!J)YRO(K\2^9\<%_AX28U\Z+S/<]'/!A&]YTQ0
M<PKZ""_EN83G(K].Y.F :O>;Q1UM4(6#"1R0H H'\@'*H H'O %O:LP;\NEZ
MH$S+Y0.0H H'I-P] . W0P@@!+6?BP!)S2$!32 3@ 0T@4P $M $,@%(4(6S
MU2H<\[^@G^ 8MV"26D<!CNTZ/7NA ,=XPP*<HRPMQH,R63RJ:E8-<RY&I1@&
M(F>&497#=)[:W>8KS_]@QTF1BAQE,YAQ=Q6251(SVJ_-UX@0#S &53/@#7A3
M8]Z0#V: ,BV7#T"R3LKX>RZJ9AI-RET! &XSA !"4/NY")#4'!+0!#(!2$ 3
MR 0@ 4T@$X $53-;K9JQ_A.;U\ ];LU4-:N=N:U\<2Q5^K(VTAP.11JI?66^
M95UFL#)C95]N_4*W1$Q=E;N^T-_/1%&JHI?CFW P+N0&,5\2TI>%N%\74^T2
M\RV[GA;'N-@K!A/F;D.R D?__=\\TS!;H,X@(F -6 /6@#5@#5@#UM0+DLVP
M!H4O3>#DK@  UQE" "&H_50$2&H."6@"F0 DH ED I" )I )0(+"EZT5OI@&
MEBJVSRU>02!8\Z7AI;O&J.UBYCO'&(YK.[YN&KIMNI8_VSG&-(Q+PUUO <WY
M."B2*.%Y(E31R]UM7UI9\%)3R6S3C-DF2'!*$K@#[F#C%Q (!&H2@=KG5H$[
MX,Y;':#DRZU@'N0/HD&-96K#0T&$JKSRW^_,=\\'8Q><[SDP%H!9'9@ZT0>H
M )5MH8*)?K-I'ZMK_"<F>^1]VF3Z+:UX-JWI7O]KW<Y?+G?.8O8]3T+Q@Y/G
MT\_&A3C*LI'("_;ERW?D;>#^P_W'*C+0!_0!?4 ?T ?T 7UJ*RN@SQ87,R.B
MTPBB-CR:@]0-4C<(QP,5H(+43?,Q-VVD;I"Z:9GI-TO=_-LH^R'RRRR^Y'1S
MGHK)^F#Z+E\M<S>'TU>S]TD:#L9RD]J$/D#MX>4X%VS$KT3Q 7D<A (0"D D
M#?0!?4 ?T ?T 7U G]K*"NB#/ Z(6CLDD,>I:P@:P#2 /D %J""/TTK,+0-Y
M'.1Q6F;Z+2W!L8RU+\&1_8VIQV62I3*9<]1/1,R.;T0X+N6Y@J<Q715Y1YXC
MF(M_CI-<1"R8L+/Q0###XIIAO^<?6)9/?W&BZA>D>Q Q0,0  3?0!_0!?4 ?
MT ?T 7UJ*RN@#](](&KMD$"ZIZZ1:@#3 /H %:""=$\K,;>,KHET#](]K3+]
M[J=[S#=)]WQ.4IZ&"1\@W=,$::R%>XR( 0)NH _H _J /J!/#2 !?4 ?T*=F
M]$$4J+%$;7@$".D>I'L0P@<J0 7IGN9C;IE=XS^1[T&^IU6VWW*^Q]SX\I[O
M>9*&R8@/[B_Q83R-%JZ_+"<4W,L)T2_RA><B5-\V+$>O$DY\1-X7<RWYKXND
ME$]X\N]E7[#?4NH</53RDK \RB+!WM/5W[KGW:,NDQSH'<@W?7AO(.6$J 6B
M%@CZ@3Z@#^@#^H ^H _H4U]9 7VVF')"]*EN K@K -3,O8800 AJ)@2UF(H
M2<TA 4T@$X $-(%, !+0!#(!2)Z"!-4X&PU6^CWLM0N_N!USU%(-CM];=PW.
M]VR0A!,6R_H8$6;CT9!^EP4O)ZG4@;("YR@;CD1:J"J=Q:J6-;6@"TG%S+F#
MD" ]"1$!:\ :L :L 6O &K"F;I!@T74#HS\M6'BS*5IBT?6? 8-%UUA("U2
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
MB7LQ]W='YIZ(N3\EU29.T4OSM_%%BGYCZEGW]UUS_ &LRV<FM#@*#-YYM+8
ML#;L][B%D([.?HG5Z PKVO]"T=<T0GE-SBD#.YR0@;L=!N.V;!>\+?LK:2GF
M]O/?-[,/*IB^0/S(_=-POY#.>)/C9G5, H"VQA&#8J?F(Q3ACEUCUTF20%$G
MZ'2#<G*%@5FLP6\X2;+T\:>X7)\41;:,H>DY6J$\1WP:3K^?62W)\ 6ZPVD$
MI-9FX0%9N1@"TEI\P%=/2,BLA/4.0%]A#T1<CB"$70B>\38$S3X$?"/JS_SX
M+4_\DLD?!P5!J7CTNW%>-'<3,WQ77:^?FY=-\G*1)1 ]1#6$6LK[W?';^!6]
M<Z_]41OT@G6]IZ_I!3N^5?]]OL=6?8'7_G'*%F/X4KONYM?]I;;K11R_W/%3
MA9NBE1O.ODP*.BDDC]XT0QFXWJD76RR N:GYF$N"87%\1CPP(T./9+^_1J5S
M'E2-8& ]IQYH@?4X7";[ZQL25WSDN-$YKL,&9K?R=,,9>-&I-UG*@$=?LD_>
MQ#)L@K?\.<PC,+,040S2@7(LH_&4L!@5KGBSWW &WG3J'X:9O653HQ8;*I;R
MV07"](Z,.3YCGN?58_LFJY_5[I]<L>>00?5,^@>GGF"8Q/XMVG[CI2V.[.J!
M78U1N],-9V!1I^Y<!8L>(W9]<>:H?'@ USEU81[9RQ_45P\&<TW>P&)."]@=
MN<PKES6I5,SLBYLO5C=5OER'!6I9CDD*_2+]5)3Q!F3X&E*J@)RK7RH77.ER
M.@8NEI3?.XB+Q?RO9O+$0,2FOV>()PL(\ _U$@1@K8+FBY$!(PCG0&6M'QT3
M8<<#T.N;%.:*MH%9N\XBAD.QH5![L174WO&J]<97M<(K[^2(P^Q&,?!:UT4S
MC-<$]5F)"WED/&?@C^+[=Q&G8;J,PX0^'*P9GNXMH([E<?J('Y^XT'"=XR$,
M+-=US:@@)M_NOY'U//@CR6<24%\WG4M )G-DMP, *AO1[$M85CFQV"Y6Y&\=
M$_-'#8YE/SH&QI$ KE&XR[8\UHQ$XN&AB=3P''P\<L;!%U%?$:HW$0-/=/T7
MZLOD* \YOR?Z'K^YE_Z\_ZWK"JCO@./QCO@,D'_31Y>8+HEC3WZ/6ST'?>@9
M6*)K>I<^"_0A8'(#-7U2[Z3ZA3BR3'^6:7"+V2%_>@&L1%U$ME5' Q-T+>$U
M$PA(RC4;,-K'DW9R.=Q5VVU"GMDP.0N+]462/0M7<!V22_OUN"4&$39P2M>@
M+;TNQ*$#&#N P5LOBQ!URW'7C^SDZJT!J&Q(N\6M(-CS%N]TW^=%3<+ (EUK
ML>9%(9C>),N6C1/ 0$=6F$C[=*1\FEA"66IAF.YYY(K#"S,TQPO7,^!ZX_\!
MX^-3F,#?-?QQ$$$#I_0H[-#F'?+($"AQ^$$8]\@U#KFFK\;:GXJ!/[KF3PU_
M''7:\:\1(=LE+R&9Y"PKRL]Y5A1?TQR%"?SJARR)XO3Q<QBGQ2('''$$>FMM
MS<*]G_"!@'/D(LNAY$/C]QAP$4TU)0.K=@VNNJNLE9]#IQW O-\$9.9!,_6
MS3T@DP^R/*#3?T.N/\& ![3X(B"P^"TIIB&LX_@E](T;,7'<'L^0RC5$=KE,
MFP,D@/Q90594,QQ@A;=9%)J=[JY0^EBN%ZO[>+,?->)W,@;N[YJ6+;F?SYJ
MI!&.;28>Q*GX(="*!&SR;T36)PCI^]\-:7ZZ"^@J8#"\CIK\#HC3.B05?C!4
MPQR_F5&$4+B5TC++=P?(G?LT]!SZQZXQW%+4K,<Y\L(HO'"3HVT81\S*",_R
MHERC_*S*(6V:VJ /8),>Y T<U+6=6W(0FP(WI%*+.IE%P*:Q%\=VY##'')9M
M44Y*'H&FN#7$%1U SL!!7<.[-0?1(0GGU(,>V644=CE9+O.*P%^(-X6=,<T5
M;0,C=>WREHS$QI?<0$?+V]A\1?;[*DL?2<5,)^QD(&G@HJ[IWI*+*.? N&]+
M4J7SR#MCE^CLD?1R.$$#WTCL^WV*>1XM==.RCOCZE/$3;@Z0O38]#^&O@T<U
M,&'7=="3"=O/(ITB!07N4YCVR+).RTWWN.8.H&1@K6&EJ8_7VD0\TI1"T[<;
MQ#8]B1LXJ>L4L.,DL;Z:357T(X<Y?3BS79B4K7)Z-9KA#A3OLW#+@A>8\;%O
M[?0! Q@XK6N MWK'^$3VWD..H\"F$^#Y\'"-W3'9<IAZR# JA/H"(DY[3T_[
M8&)Z-OJ^:R7GT!IB7001[_+X[#E&J-UL8NJOA: :XJ#"%);BT[2HRJ(,4_ *
M7V?I&6CLQ(?&TZE;:*P:^-@Q1C+PEPSZI9X&#>@1)])^"H79!'@Z;Y?U?)I,
M<I$UCQSHF /[%P8=1,K 0S(@%ST/'6\HY\G=^#SORFSY,\%J $,A2@NR-CB+
M+"5_&P89<"AE _=(,%IH#C8P#B'^]H'@3XA#,Q[#/Y 6;9:*CRPU+DO5SY'
M ;=XR_(G%%UD.95E+XNB@O=@.'\-&<; ;!(H%2MF$QZ]%M_QZ9!H&2;#\QD=
M>:\W+%"+'Q[V^>&D+-<('\//J,1"\&,>;D+UM=/1 -T2-_"9$@5%SV<GY5L\
MB[=?R#0"-H^W^M?RJ/:YO=O@MS=)V%\%=$+8P%=*Q!/3_45N*S+Z\:WTQ$^-
M)1-^Q0#&FFH8.M70]1@&+NO:VX=PF6@S)7]@^&3B?(X\Y_B-;"JF%=4V+RK<
M\+[(3P#46F%_/YR@@9NZ-O?>,M?MW=<W-_@_I,O]W6U QS]RSQ@WUJ?--LEV
M"-%;A=EQX*-V_" .&L? :UVKNQVO\;GP*XQ;KV ZQP=SV@=3<,$LLSQ"*O8Q
M0C.,,I"6 3$+#KWL6LX>.AW6_K3;_H@ ,0D#GF!-?D.$EN)K 3Y#CG\JY*D)
M@E;Q&4LV)0DF5=YMATAY4\S+P-Y==T%_]A9F'P 7@!N4+V O?TZ4&XN +8/&
M7&LN[*-<,)XFT_GM&%IRKT$,'-MU3O30961W[U$:F)+I?@IS^.I=&V-LR!H8
M:ZC?@@]]9*21=.(#'\X][=9@1W8]F('IS/Z+@#+=TLG[VU6UC]9F=Y::AR*.
MXC#?40]J&EUGZ1**C64)GLHCAZGN55YC@B$-'#K0\Q$T<V-\#.TAJ.2LF5\-
MW7V\/!V_PM>H)$@$*+];ASEJ+K&?4/RXQD+WY68;+@'=4(CY.4G+^#Q.JC)^
M$M -2&T*K+U>Y-GFK-F>Q8HT1='>4)HWW/ND#*S>=<9 .4L*5X#R@%#:NWOY
MS ,V]?TH*IC]VXA-7T1>X L(5G@%@; $4O.-+D(V_/%S&/(Y7.);<8/NPY<]
M9$] X4#XKA$;:!AX !D#RW4],Y1$0&AT\4()Y 89JMWPR!8'LH4 MR:<[$V>
M/<4%GN]%EO=FD2$D#>S2=;WLL4L+PJW%.O6X4$3HR#PC,0^8>E-(&R'K.T7E
M,T+I'=ZE"@!.+A"48$KJGH#-"4:\U0I!?AS_55_V<CFH@0&[_A@- [;G%;")
M!?7, C8U@0:%*R4&03Z_YM='/G7&IW?Q8QJOXF68EN+E=(Y6*(=TK/#%B OC
M@JZ>VSYTG2\:;A.&WKOZ^.B$DXY ,&YXJ:\!S[*K@2.Z_HH]CCA&HH]SW.V[
M?+$Z18]QFA+]+/I$%;4-X$WCCQV@WI89_AC_A34Z3N$4I7AQMA>*X]$,3-5U
M*>PQU=Y#AJ^4<HV">E+TO6(*'YT7M!%G)CYQ?')'IAS$E"S9\B;,RYT8>M;W
M0AI"Q\!(71<"SPPEH[0CY8YWE5.VN$./K)3U9P1AUMMUO!1VM2]W'$#.P"1=
MDS\;BZ)LUJ.U>.)H'IV263I9XZ>[IMU)CL+AC&-+VL!$7:N\%1/)4M ?=F)[
MF,*1J<9EJAKP= RV,A$W,%;7!MZ;L1H\UR-K>62M^L?%<XKR8AUO';.7<@ #
MB\G0?PYAL>8?]42.;#8NFP$RX57\A")J31GC'K,;PL!J,GB@GJP&\PC(1+CI
MZ'BK3<1N/%/E@A1:!J/U8HOR$) '2#&C6_"]+E9?>>U&D4?"Y"I;'BCDNYV
M@56[EG4[5FV2:M@L*?0LGR<K^T1F2HP23=G)%A]CM8+/]\C-XUZ>9U519AN4
MGV7XM-(RIUZ;W5F6).%#1O\)]@)XRVC%N#*/'RKX]2=2X=[%]>IJ$GJN_MBU
MX/>^@/E,@]94@7M;DPWX;'GYNWJ^ 9WPD:U[PP16#P7ZI<++_P025A_H2/N>
M!@;J&OP;V@$A?C2D.;['V+=W>0EAH]3:E49_K<(D7NW \KXDA25UEOR>) PL
MT#7/U]?#Y27^5ST&^?*;40(^S'\31H#_0"@F.9$D_;FSKV&^A)ZW:!6P'T5V
M>7G(DV^S_/%=G);OHGCSCK5Y%R;XE%\(A76.5BW^JCOAF_[WA$14OH6?OWTI
MHO\I]"SQ=/_\31%OM@GZYIVCF>&?40HQ+6_QWH554@Z<IY+.V+/.-F&<'C[I
M%IEQYDR&>+M!FP>4#YVPC,8HLUUCHOFR>D!OZTT:.&<-)?W,^;0/NY2S946*
MG[#_)=Y/D&6$5ZZ]L!4F^Y:3)"OH36B"=4$$$*EFC46Z(DOB"'QD8BF&PFI5
M]F1FL28LH.(_KU$)VI:C!4II^EIM_4N(X*8**/[K\)7JZ<UKE8X.MP?Q.:P?
MXJQRM(:+\0E!<+*;E2O)CKMF\[S68?H(]1Y)1LLZ2R*L;])TF',LO"WCTK1^
MAT/,XOS#8GV19,^NSGV?W*S6.,(GKJ<]A811JU7W:T"3W8;ISDZBT'2<=-X-
M0E83_\D4/ZP#WN!=!XS:GFOJ1W3<]8IHOX*]Z^0Q1Y2-KN(E@(?4O\#"'2^?
M\L&T;B?$IUH_R9DB3P*;%-CC8;KWV<D27Y$YE.8MXP)S9!YN484_ICX[<!#Y
M27F>O@=?4+G.HJ;^](]A'@-6-T^JI!)^3\X?0GK2M=?)UE]0"/\F7-ISD5H:
MDZZ&>&?Z3K_=:=+YRNOE]9R_GLA4MXFA_HS]O6%):*IUV=4 LU]>/WJ3<J.V
M2$=/IK2B->GJSM3@_CW79D')P_NEA-P8]&09J4VZPKW\\YXK4O2>= 5"-D;/
MV4MZ3CIS56!_SV68R$RKY>C]^GW5&SMJD[W$;6]Q#Y%=U7/:L['T=O8]I)YD
M9ZAUCZI]3ZN%#YKB/>A,XZR^37J^%@B[+7 WPIQM$7WWXO Q9FN5&/1E#!_
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
M'#ZG<T3_]S)E0)0\9)TE]7(H01H0I%CI0&(>-1+]L=#DLK,PSW=U3+92!1E
MRK6QH1_Z/_F@M K]803]*IHQV)%)TM]7K"(7MW=?M>*JOH]',2REJBV^">%K
MPAH@*HB9/(UB4.N+2_HB1*=5>9V5?T/E#?[>U![,0=3\21/<1W"9;JNRN +C
MS ?M.>IZ3.1(HI[+F^HAB9<721;*/$C=-J]/)<)\$U/I\WP$]] >]=D[??^&
MPOPBJU1\V9N,X[>ACCB_3,_66#Y6ZQ>*EH[G0^#QBC6IS4:%],N45FB3S4G3
MVAMCU,F/K:S(=FK7.8KH;:N2F'H2\1C=P>)2[]%RG<:_5(C72T$1KR>CO9=[
M$/#_VC11)X4I;$7?9UYJN'#-]%&PQ6X^]13Z?>C]4,;FWA; <>L!>*<4P>N_
M%FA5)5?Q2G4H-CU]NY,)6 /SQ?\4EVN>V$#!'$#C@;(E!<F UCN7>U'R*9=W
M9MA8I-8@W%RF]_$&K?)P@Z1^\CO\WV(5HZCVJO,\7[7T/N*8WK:RDQO?"$E9
M41"-F941+_"3C^)'573" $(>;P.QVD?;'L)+?CP4Y+B5MX(]!?]B Q38?::
MJ^U#XGRK-:[T)N,^8 S*:70ALXF[O;Z9%'; 020<KZ!;T%RM "C;^KLBXB)\
M?,S1(\-+8-/2&K#Z]76\W1U@><J76((Z6>$#)DH>%OIENV_;U>?3U^0JWL;%
MSZ>[>SR<)'K!IL=$-IG+Y2IG@?(G98D_,#*7BR1\E!AG-(V=\PEL3+*#\!T4
M-:$1GZLX@FN.VN!.HFP+\2KF"*R#Z,W HW1:%7&*I3M!T2].=\*_[-Q)EF1<
MF]_!CA7M7^U2N[J\I7_%5Z@8#5+FUS1[ .!TFI<!]M2V9:)=49L\Q"0D'K_-
M!7[),F)]_<ZD.8\SZ$Q5 ZV[UZKK+&P*7$YAS]0BK:=I85G0=)[!'=3H1)<1
MGET,ZA+S?,$%DA-,7<'K1=(70!*U$$9<C^)1:1-#8_9#:&BUCRJK"GEB-1C#
M[['$_N&C-D'*\2#^> OE@&N)-3:JM! /H]9:JNOA;QEMA :C:53=WI_-GGCA
MOZ!RG45-E5SJL2^P. 1QJ.P/2"?1]J?C6-8XC;-BA[D:E?'R+,M3I''H*-NZ
MUC'QYWI)',S$B4<57IU.K.\PCL-I']IF\5"&6%;$PV(=G!@1\/5RC9[W8QL4
MUABGI)WG%R@ NRPB/ZS[^HNED[M2S2%UQG[^+EA:JFC+(/K-R68].CKF+7AR
M>< ,\<RFY'_@7GS";W-:,C"6+_@+@*_@,N6)DS)N.X#:# 1&BNF^.TO"HK ,
M=^ST<)T$E6TVD'L8)B IU<6DZ3M<YS5)\Z#L>HX;N59<X7OSLD0;N?:L;#QI
M#L^G"OQRTF>W\^>9RNDZ;K7I.8Z9_60;8[8[K9*?!4OT#;X=T#W^\]>M7(<>
M0F$6JK3]TV7JY6TY7T'NY7AMDEJ7M7OC+-S&);Y:Z'L5(9;V;W!U.2/OSR8$
M-SV[]U5WF[ZMY_@WD?4^87VF1.!77K%R;1E)L%#YK?M0<"WTL^S/QL8B=8N?
M8#5DB;;4052GTDA%_8,(>HS24&!IZS\\8S=O"Q*Q_JX8'JE&7U<V=\QOC=<.
M@E87Z2(G3KO_#-,*, A3=/^<W:^SJ@C3Z/X9M]Q=XR]<K;H?1,]?0IX8A* X
MD78;?P$*--WR/ -$"U7T0:N-OXM8L!BP<D?K+(E07E!KE.KV-75S_0GDV1*A
MJ( X+J)"Z) WI3S?BX!SQ0DPW@IR;S>UHPH!^NTZ*\$Y3ZP@&5A^),6DY(J5
M$\HC!"KD19C@/::B\UF&]W^3T:Q)$EHD78U5OTGS+4ZB"))92!KH(B=%@/"-
MKTR]4#2?410<J-W6D6ZDL>LOF2)CA(^(%%4"'>H+?GA6(0/:($[KKW@WD]:O
M28!WEF2/NXLJ27;<-YMWXAI'&L3;$0H2DO8]Z;9S?' BLAIB.5 ?[ZEC_ /?
M*FG 7>_NSET(>XR-+[XP?83;49IX:MG)KT67!N.(-EFRN]?HF?Q%:]0U]GU]
M:6-=<#>J5*FVP?DXKW;+2$E?S-V4$?8@\<@?S\5*H2-M:-]9> S$V6QSM ;D
M!YY?=8W*Q4J=@J#K,9$P@^]78-6[W>8A2R322_OO\Q%7\#[9"BO0U"=3;%A]
M9^H9HS>LFB&DK6?@=5+K1"8#8S\:_AV\1 2$O">F5QB,5N9^XP1[<QV-H<^D
MCQ98/K9=1P? Q=\DL\4(-C^%@MZCM\>0JS:@3).=N5A1!;"@?X/IL\8FQCJ,
MIL]4(R&([,<,IDY"553W@Z:#<VM+#6'UA 0)Y(0E;$",7Q%'K-*'W*K2B\*<
M\[W4IV'LZ=X(I@Y#KK/1%48NFY[C6-TAJT_0K8?AJ0ZFY=&WLV5S!APM AJL
M*6*A:CU75_@XF'&#Z'N.'_[<.WY8WL.Y]-,PE&RO%4*$33?',VT092")KN,Y
MNXM?U(*:=5_7<;YA^C/9H 2/Q<5$@ C1A/L:NGB-16K"?4VQ1_LM_5U0-%?\
M#&3>?*<'GY(U=<P1I( 644:I&^\6X6<H)08:#;RY12^_9C'13J<S7+7:O0I0
MJ'L\IHK1^].9@^&$AUF1\[A%D*R'(LS[5"+B4/1FDXHE'9\PY]6F(D(?$;HE
MYD$3U+EE?W]Q-"Q3%D_M 5#QP2=E7;++LK/C"_!+^!)O*AH:T)1H:(P1LNO/
MV&?:DAK9+DP(8.8!U32Z-/S"&DN8&[+Q#!9WJZ[>GWZB*BS;(7!8](-_)C0$
MU0Z5:CB]L83V<U0L\WBKTN>E[4:*^F:6#6;3$/0 ;3$NJZXCV4>LYJAN[#S=
M:Q]\62Y7X EH(N@'4)E9-J<Q+]78S4?<TAG^<9'?9\_[WZ&NY=SBB:\,GB=C
M-__.IM'L4"Y'<!UU4Z'[K.VYX4Y;9MY4IJ;T[S^3(]Z+6^!@I& GT=>:ZDW&
M=]()*T:XR&E^LE'--G;S:D"RUTY4K>>' &I:B45'YW%X-301%Z[,L'&F/I."
M\FG$156/5QL7UABGZ["LD6*_9"/-!8]$[Q"1MIW+U WX>:K6KB'B]XH-,?E>
M\KK+/JX>O5V'.PON(\'D=K*!,(U_*4,';+HY#\Q.XI]#B$SJ5_++JI_'[-^\
M!K.Z#U].48I6,42(4@T2++M5 A(39/3<X#LCIS<'0>=FZ'P*SG="VI_].*J3
MEL,8JYK,WJVW&6O[S"#N$!Z.+*6.VQIEG46GL//I"876GZ)'"32/GTBLT47\
M@EK>5:44JN[A$4R?H?O<AL]?\$QRK&JJ:WK)VGJ.A3CM'0LA[S&'9$X[N&]-
M!W\*)B_)@G<5+F !8%6E6VIZS!0CQ00SR.$%%_E5AH5H=<J>TT'FD=MMX-DI
MP.@-(#TD% /E6[ X7H<;F92M;#:3B%TL-2]R8ARDN5]8PB$ZFE7TKK*SQY2X
MVLS9348W16!;]77N5VF>;(96\IRI975=\U=K80 (!.)G [%L29S1\"O!*KAG
M"/WT B!B!2*@2R,9(PZ<U CHEWU2/[3M9V(DMX2M-G1R'<;9IV0:4R/DK 9F
M/VFPI]L19E1]A19O)8%6Q1F>\2-\-#2A0 [/>!"IF42:8JT%Q*Z=IDJEIL.H
M"$&7J1A*O(ZQ^+&PQP/2]O:GVF0 SY!O-$D(K2;S\\>H<UFU73SKQ">]=6)Y
M#]_^2C(7+8"&I*''2 A:49F"E9![4!W](&DZ4> A3U/2._)[]!X- )9%>:^$
M.&%E:'"?"N8'T/T5B^UUGB166S!;%O%R3.B(X?/Q%V-F(0N>E!<(4DP3T$\K
ML)6V&JO"T!Q0GE/<.+5A/1)WNI!S:RH,,X32'(P7]"  J;P;O6QOQK"BX@_1
M"M->K,2T:K636MYV4F-?HZ2DT5^K,(E7.[A2F#HBQ ))T@3Z]Y\T2O0,011Q
M<IE&Z.4O:/];4K>;5UJOWHR@[>)/2\"B/IB$M1+I7B/GIJ4Z^![+,9##0M/W
MY&8E15M_X0%W]SFI\+;#G]7G[ GEJ=(R9M?'VU(^X\,%M\P"\IRVS#>#+ST9
M-)U='\]^'$GU>JTO1];>HQ>[DZH YJ?:&JD]%LO.CK_D'^+'=;*[BG^I8B'U
M@-N;I*%[]OUFXJ^R3><U]7*M&4M2;9MP1O766_7S9S.ASR-++.O$S:@,*(9>
MKO.EZ' W$%B'I7NPWA#H_/O,F, E.Y%#R'FVT5WTMM')>\PH;L4Z7F5:@1DS
M-:_10.'^I2"CYO;^'F@E-I\I6*3![S6$9S@<87[!I]0+OTAK@PDJV/70-]94
M0\FG[,.RI"&,BIT7?I[8.P7UKM$*7^_"G#^]X*/*<ORVAOF.I-O1>I7[&/-J
M@6FT$5UGAM0QM"W[$;%*+M)K5!*]2)HA8M=S7.-WQWI*;GYF0@7CZ6:;9#N$
M:( /*X<$&FACOX!BP;1];Q/YF*//('SY!/-M%"<5&%Z;"X]6D*(QB6")J\J0
MJFF?PCS%G%KPN"F[^GY.!IF37E5#JM)H=,/#TH. 3VP7N,%-*?S&YNZKIQ '
M,WUEVG*L-"! UWY>QK\].*.+K%+":-EV]UOJ 8OEI*0.RI]B".(2\K:;6)("
M[.*%_$_F*A&NAI@*M[5^/K]N5SE^Z/FA2=6XWD3F@W:.?^"_8ZISRR&:1EQZ
MM X\&W4HYT$&2YC'!2)7CHBG1,($Y)$%^B[^W@$0<2"82OLQ[K?R-MV]B%9>
MCK!C/3L'Z0-%C9F6B-^&=]L1\4E]?HW0)8=UZ?X6(4TBP$'DG >>XWMP_Q:4
MAYS+&GI$"DQIH!.^?BY3+*$\ FR-5KS2=AFIQA /:B)Y2$61X9<3RH\SN"9M
MI2%35[^WF2&;O-UF')Z%X,ZK+$QU:1*RAC-0$*DY\">L^[-3/MU]"?^9Y1S.
MO#C=U14 .,B_G58XG/(L!/F]U^$6P4O(/2)PCA\LQ'D+(G[3&=,(_@>N^:<P
M0>:B$(9.KK$O\9.+L-B<HJP2X"NEEY6RK?=0"LWEU&KBVLS6P!_SE#%6$+4;
MTB@_],%D9@:11\VP19;$$3Q<7)#1BL!#*+DVCK1J1:*KL$J7ZSH_G9F6P'P/
M-;?K.%+V9U8"6FI$<4%WM+768!<+K.VE,:F[FN\@*!OB(S<;J*-.(#K%A$/]
M,H>1=/XYXJ<.KGP!@Y'A])H#(NP[3ZN-T&?[,\(";+A=Q\LPD7Y4^K:.-QI_
MHW]!.Q;&^$-6$'8&'$$(<P%A4"VEV7:=%1 [L 7$^:=:/ 5S1\^Q6=I ++?.
M]"4M6$#GQO[13(O]XA]?[_:F)/QA)@FK%*MP];6@E5\56ZCOX_[K ^&0^SJ9
M#:].L#G/JT<&2*<QG_4GXD_BX/Y!8K-6Y,5>9U10B&@%"E*=8M]J>9V5?T/E
M;>V3%_V0*AEEDK%GY)CKNJ6X#ZCA<64PE3.RCK^8SSF$FN39$J&(*2[4:=I*
M1I-])I8])PU$ND6/,6@!6%;&>HTR_FBOF=^WYS1<_HR9OO9<ZUVCFA[>/3;,
M]D  /LTE:O=;O]K$/\%83\7@_6]<9:P:?5S/DN(5G4R=(W%E0"PW]9H% KM6
M;Y<T]#CI999'*/H*1H,:YY#%$"T>DO@QM(.1[TG&XX)+O.$HXA$^ LXHOG/B
MI3)"VZ+C*\5+@R_J?AW6D&;"RJ"9\H8><TR/.,#;;4(N5BR#8@'_(LF>+]-5
MEF]T9LB^O9W'*/&J,"<;T #E<4E[;9Q'H&PV .84)G4L@3S&I-O,>2D=O,LQ
M26:/-_B1("E>!IP%8Y_97%A:R4_1V']VM@@0HL/55K9_?8(?-<\+D5]$78-+
MCXEFM=HK3828?GR/7+*/'(B%U*0B,BM-*3HI\=?Y4)$Z[O=9KRAY1\3]F1@V
MVS#..38!%N4?H>@,2_Z,T[A$">C4*DN"9>\1'@,&Z=*N):EZ$N2-_7(D8,]@
MX8Z  U'=B4Y/&6^OOM6&49O44?(%<P/X:F3/2_?O,P@+42=+M1%;>F*?#R3K
M^ ,28.1.T@A"JTN$TOK^@K2X)\(EF@+#/4GX0Z[!*J->K!%;>!3$:(B94O1B
M?_;W:<2/*4F6Q ( ]0^2-R[!NJFZL&G/SM[-A\02* 0 $+4FKA.,Z<O6IR35
M@63]>77V8]=:D6LF@XUM[YEX$4V05:K6LPC3,TU>WG9N"@^)4<5*!WXH58"H
M0RC,;9GVAG6X%^JP'6Y-KXMPJ<OX>IB [S>3N6T)/(=5669SO]?'-TV*?I.-
MRU$7?\R@RC3!^0Q+Q$1MUWS3?P*.A=I3%/\3W]%_P1.-PK]EZ>.JNL$SW81+
M5)40;7667=V?JR7:7OW]22IQ$;*81))+S'C98#DV]?(<KUI7A+*(2-UOZS_P
MI8D5T;Y;ZO;.+=3D<!OL<&J2/Z_09:K(Q+7O-TYJH;'8J+2=X[G\&.8QJ-TM
M* BV&SRXI [!.LN$>J*G,3'G2</R'5#U%QP2_;/BU=(S;J! UZALP$'PG,-B
M?9-G3WAQT>GN:P%1X0VL&B#>4A^> 9QFC*'\">C\,3S=?2&XAN3IO,A)5<_E
M3N.CL.GIT7V)&9E$C,&9*+V4K49C!HLUH5X4SUMA1.G1T:N3O;$ F)YS>>-I
M$6JIZ[+)8 /$ZOV=-S;WF+2ZYQ8XJ<IUEH-U1K'INAX^RQ'@EWD)*6G"R\'B
MA97JCZZ/<U\-C:[_*2[7C0&(F2%D>92VO69A?+&+/]?U<+S=7\'I%A%'-RO8
M@P?[*<L33=*'L8]KF8^@XY+EJRM(ZEIZ-Q,S($U%\5I3T*F^\SA:\2<L4&6;
M>'F/ENLT2[)'DG[4?/TG.0J-JG$/(IYS::P*58X7+]4(&0RCX5HL<H#_<8M6
M51K!/88_.(@)$LTI4O'E<*(^ZR[54^<55UIU612G9.[W^LQT;8P5T1O\&7(!
M7!OE3,--^=AC76ZQ8MFS-W@V>(XH.GD,X[0H>4?9*^J2\DQC: VHJSJX"0>$
MYR"#ZZH0=9J-F&;^Z04*AN)7>4$'/*UV#Z$<1].FF^O<0E1RF#A2TU23R"MO
MZ1I:!^N@I%8*$1L?0(#4%$!5-O9[C7>@'?9O4G-T0U\RLWB*J?U#6>'0XE$V
M47"M-U#TP"S?U4-H#,;*QLX1D/:S*?=0HW282'9=?2)[J5_=MA=59S?I1<2?
M7E_E6!$&>UH:7<0O\),^;DS3848PMWK8?G7[N2>-$;?4'3@*(G!.*6U=@XB-
M*&$PCF]@YC\GV4.8Z%#*^W3W%V?9K>O7?-6\U$)8AX<3>TY.:G>(:><0.X B
M!K(E &RI0C?''70D]:@*$U:I"Z0@]?N@;3^1L9^7CL'"6YC M_$IC22%M;5-
M9Z:F]U*RI]KGDPK?3EFNP P0_^H_:+)QR9H")H66OJ/$\"5*,B7!B-3<^V+U
M/":G RJ0(0R[)RUO2V]*-"1)]@S3909^2( I#+BAEIV=WY&"05E(;H6O$YS\
MI'+J)B[+&O5%HW(.)S9:Q0^&5A8W .X@/K8CC OA<>I3S^- VB/A[MZ'+\*8
M6%#&[Z\,\,JRTYP$G%9,#[>WX-FKD%%[D?!7["!\H4&^NNJ_K3;>'7+#/'$3
MN>#H'4-,0.3&82X;2'VY4B12V/?S"4[58\M=;_7A\#!9431;NFOP<@UE[DS=
M?-IJGE!>0@)NVR=@ F+7]IIG8(L!I<#<TSE,,P.;X*9>M4BB:NIMHQ5E\.J,
M#[R=50+\#A;?&WSEY_3BAQ> ^9-4CX03TN[A&9<:9$5)4*#4O=*?RCRSS86P
MFD'YY:W^CH]JL5H!J.,VU,KXDE9>$>55%RW\:=*4^T9_2Z._5F$2KW8D2IHY
MX>01,CTZS@'9K;!+^-+U<,RTGU8K!('H35U,2'EJ)_=#O$*ME&&! A776<EN
MQU*.8N&"K#^O(WOJ+K*<("%5RY)<)"H7HZJY/V$DVX4)@.'KQ(Y6&Y]B(/@*
MJ#YY&Q<_-\X#E5:J[>+/DY40NBB2VV7U(<Z6G6=FF':;94G1\5U'E/6?@/=K
MIQ;+\*T)3FB(U "A,\M[^0<&DYM;KJ@VG$S7Q>_G\F#FUH=];B7_^1&1^@4D
M\KYH[C;=E^%\+&];)R217:;;J@2[O3;+5M/!OQ^#1)['OU3Z)2B;S\EV3,+R
M%BM!@>+7J+WQ6$-C#HAR.;Y-MED1)HO55080\D_<BF\GM@\BY<\]2DHQXSLC
M1VM\;=2R.HCB)$*YMIGOQWT9LA4<$)Y%LE0=]/4UC5@L*-2XQ7I[(066'49C
M&J@T%:Q>;\ T Z'7)Z%VD>$OL6X18[Y=ZH*\QQO/GYV"8A9HM<9V&^>VSJ<0
M/WY%R:#'OH1I2#=35P'*T&<&V(Q695^8"LBD6&Z&IO<DP6.S+.+I<*Q)S7]G
M%/$<OQ;4=D1G@X6%*"-?3 .XH 3E[$UB;DZ,&K^JY6E@KKI#W1A]B;O/,H3Z
M3X*+JPE%LH H'$;#?^Q92PJ(4<&U\G,C!E(O$JYC8; *G0F5.6* 5&N%^LO=
MSCT[^\PKD>> &,[$W,_U070JI\%'*]9,D9Z N==(P5,GVVV.7^2FG($FO\K0
MQ7< )FS9IY<2Y6F8""6PFWJ8D#ZNCW=S0=%CQ$GZB.>Z@3@+HQ5&T=@QEYW
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
MVTXE>[/!_5!JSE];$I E.$HU?AMUX]'<P0T &,7]K8W ^+:'!+$EG@Q^!;#
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
M48M/%O!N$'L/I>K3)<1CK:#Z@.8YDK7T8+T@^$-%&6_ /4/=,F>9$/1S&I,
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
M'H*$-&[C$'(S2_U@J:M:=<RFI^MH*JS>8':_P$K-SZ$.,UW><&*PQ8)']&I
M%??;O#ZIU@A3]R/ SOI#R=L;WF]*LJI.W#5Z)G]20K_8=?87 +;9)MD.(68
M[ +MJ.*^C/U<NV1 >_POK"PL0_7MT6WDW9LFUDQ1B]&JUAX128HU_'_X2I_P
MG4SBJGF\%?R!5D(1?B&TI($7F-EI>&Z8?,ZS:@M"')12X.G4IM#"2:?@WW;6
MF$H,QA5=#Y_B8EPBHMABV0_?_7'MOSW=?0G_F>5G($7I-,D>%$9$NF0%I]A+
MM4@_)]E#F%RCDD@FLDNG1^]Q(ZV[(3ZZ>"G[SK)9 Z'@99/@G]+'/W^#I_?U
M[IO60O#[EE6YTEDLU!\"J_@_DH<:L27/$D19$G/D\_/SMX0K@2$_OG__W3OX
M\SM"[9O_$*@$0.;?WS5CS7#66"DJT%5WZML\V\1%D>6[(,U*-/=50(2M9!5
MZTU XF_'6@&@CYS@>[V$T*]\<QD-Y!M&(P BP>7Y;*<K,LQ$<V[\J+)4!4G$
MTL CX/0#/D! 1PB:(8*_PR !&>7_OMKUBF=(E9[@"RK7610T^2+!VT"U'V.O
MFR(4M6-'99;.:[S^^V>4/"'JA3QD&_!3]KM?R[H8.]/AW@3U@ $9\4U0C_DF
M*+/@ 040I/PF ,-QL$A'O^M%'$HL_EYG:=C\1@"[9?[XP>]P@G\"("@LOP7"
MF$&81JU_$RT_*+&:'[0[_9T:4D;_SD?>D/83?^BNC/DPU86:8,TQC<+<9OE0
M48R3"QIZ 27X&A8A'MOT*SG8F"8K7@VV=]",?\P P)J8LL,2#3Q=,NQ;,FX@
MSJW%Q0^[0&S')AB0&;X)8(X!F60@S/)-P.<9-!,-8*;_#3>[)2KP;7FJ28ZU
M(V(HLY ^#R[LVD.0Y0,OQ(A]332C[3_X,$%>CQ.L\$!!)(ST[:M<*=<M^ H;
M^@$,$(@C!'^G8XSVW(VZTI9:(EGN:O+E'IP.8XQ!KPTDW%M8A0F823[ZNU$7
M_ H59OTFX/,.V,2#>N:!,/4 YGX\C18K#]G&JW@UVDM%[71$/"UY"H3$C73@
MC<P&"! ?(8C($,&6C!$49)!QKV3WBV1?&5]<33F@I -*FWY=Q2M;F\BSC'K1
M'-^;D1>U%^E6?Q8D/3\G^?D-1MO 8V.TWP@?G4 ^:.B_"6BR[ZM<K'B.;("]
M;X\\I%MAY5F#?C?VDK]D*=K1@N<751H=)A018@&E%A!RDXD$;M8AGA5=S(8N
M9C7)8FAP#$KC+"=1Y!#R'Z9U14\GHCDE'Q24?I#@ 8*0C_"J%L9%++H@1C<
MPD%-.?C[9H(CL\NPVH-!// <ZS&QCD4&!<-C@8<-LA5F5Q@8_X6./.ZS/LGJ
MN0&V7C4;++C/ A@N6*P".F# 1PS^3L<,)O O3+<1XA75W8V2[4;6V8U15\Z+
MCHCQNQRQSXU%@8\01,T0P8:/,2Z#C[ Z;E'GJQ)(!PWM:1Z<$9;7LH_S-8(Y
M7+K.:9;)0-TYQCO@WA3:#_5 CF7C!3$;,%C"B-YOZ]&W@;$V7SX?*" C65S;
MKWOUK>L9%<6? CD?C*_*0,@M(+\#" '$T)%%PH(YKB_/."T^)?$&(#I01/55
M%NMTF*(C#!]L\2K>8-V5V;IS"B20I? 1/&?YSUCQ66(U<%O'6/T*=R>1;0Q<
MB?R+@,'?!'1XN!7J"03-#-YPBP:;Q%C[!-'O->)UDTD0DCRO@2L7R01_!T*C
MW?=.IR^RM4AK=!=VC3IS!^9*J%WX=0OXHA_??_C=^^]=>"^ !6OB :4> /FW
M[[^?3',?99TMW\7=6?"']W^8R!ES<WFWCK?.U'5,+R@8P9$=9H?.G/-6<!-<
M!IS4*]GU%K_<3#W]'^*+^#1>N#7T,**-<6=<]G&S!L9#/\3!11R<QL%"-.6\
MGJ,0V8F?PW0+X3?K=0:PU"6>44)JJ]&(PX,.IDVRB6)\C4L2#TFQKHE=VD/B
M5,A_((NN=C=]\.>K)O\3L-DP6?77O',B"_%5,Z<.EN +2 L,LNTDCAQ0'VH
MJ<$!GOA3QA-G5&8]Y78()IWW8Y9A.;;(DM&9[K"IMU(K6EL^<F9%+7/O@5(U
MF$5M\*JA4:*82-!0P?<"'^\M5O7?PHBO=87BV9&C"N(ZOG_T;WRL13VA_"&K
MOZ;+U[^@5H@E0P^.A-C4<961HD1)$A9"C'?FV(G+AVB$^[&C*4=8$]<7^5I:
MM*>6^\=88$NIY*O\%:RK?5WP$=YR0^8VS,O=9(*S%+N)P1/HBO8!;%=:0$KC
M55P,M>:RP2590&P&;X)Z#L0GRV=16W>#OS<3"3ZE^".G1S3ZOI%DE#; [Y+.
M^3!VH$DN298^OL7\OPF29HC7LZ16O*AZ0<%O_M<??O\'8L7_7^_!F1'6[CWR
M$?SV]:PX$1<K4'P3-#1?SVJZ4EKFCRV;FGYWZ!%N IIF1.P7).0/OG>LI-(_
M$G#YH1H\&PFN&D8NJ <+A-'>$#V>M?@[&7)\"\?XVR!^MO5>+ Q[$9Q.OA68
ML7,4X2<81I.;M XT9C7D@S1+WXJVK9C;ME[A*A/9 A6VN[&7UZU<<Y.C;1A'
M>[6E3M*(7&P4Y<1ZQ=_3%:> #8XB=K)L!.)*!^!]\O30JXW=E$%(AL$OT_LW
M\"B1M^F/?_R>!AE/_3Z-O$?[$2=TD. W?+C?8F8/^)ZQH<B.T&>.CC9^K('^
M&Z!H 6=AGI-Z$230_;#0"_^?_A1K3CK+55P$;P(Z'!;*V8"3I1-,</*"I'/
M5HQL=VR5S&7%V5C=GSKX9K^\5[NX\:%1[X)DE)!+@MV3<!OP.Y'^09 ,Q[6I
M3+H?^Q(BEHK( .P2#$Z$2"3Z!V'H@(P]"5#+]#LC%1JSO>T)==LS2;3:7@W4
MV[NO!UG=&IH!(1H0JL%O,-WBMY,9;YRNK!-_N+^\U[FLMGD%SF>R=9QE*8U6
MQ'<HB&[9(^Y 4!#2*(8H64!@!+DS.JW*ZZS\&RH!]^:0@SL-$V)1PX);2%&8
M6P87(7IZ+ZX:_*TL!8@J^) 'M J7$WVC$VU5PKV&S6A4QJ7C!>*  1\Q>*A*
M+!&4P0Z5!)AH=)LLQ\ZX3+=569 * 1\.NJX:U\V;@!)]$Q"RP8?I+,WN5M6.
M$I]F&0"D0\'&;JJ')%Y>X"]DJ-#-0-PHH8!0FO6T6_[ Z>9^.'SVRS:F_H!S
MKZ@^S3R"\SF#]ARV7R*7 ,P$*UL:D+!H_+X@BNL7IQ!Z#V!?D-<P%X0[@)J[
MP(0.1.S[M]>^GH3?J@.0^F"\416;Q7.*MWL=;R_3LS5F+R?! #51D 0(V7'U
M5C>+X ZG>O*7;/+3^,7=+*(5A#;=Y*^SE$"C-SCREU#9HQR<FX,)!DM,$<O<
M-4G@)DKTE:QE[[/PLZ:Z=,)JA9;P2-1 [@ 5!Q6P4U!)Z!O%\^"&'EL]2$!'
M"? P!%4O: _T)JB'>C-VZM@T&]!"<JS3"2%/CAY_@/\/O6!]D.S.4I B7OFZ
M!7/O(:<_49QIMTPOJ<Q0I:R6 Y:^GP]Z/NH!@GJ$-T$S1@"#@(S_/)F6.-Z2
M6SSO<XFRPI^'&J8%W%"!ZJ38X$Z7)1Z6L#:A!M_H3Y"IJJ'SF+=&GGYM2^O&
M"S%,!NH2VC+*$[C+Z9/A!BRG>1;PO4^A<":$Q'&]*/&+:E8VOF576;;Q:X%6
M50+0D //AU/&IP.TB9.IIOXFH/1'Q9X<<8WB<7'R9(6(TPY0'9E?T:4F$RR5
M)=K0FMS=BI"T9C>XXXL"3 @1YK'#/#;G>?4(M5] !.,8+X"+G#VF4/O]5[#>
MEMV,W)[Y- ED$ZPMF<4A:FN7GJW!+'J9WL<;M,K##9+"5M[A_Q90WK0&N>23
M/\SH 6,7H%?S72&!9DOV>RP2-%_Y$R]^@K63(HY8I/M_J[UK_'=D3L$SGE3
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
M=ZL=2P"WD%*,K\[Q:+X7^MC,;A5?89-N+7[KH%FI:811>"D"62!STT_?B'S
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
MHF:1R\;M#PZ!UCV$]XM3]21M'TA]PJ$,U<<Y3$IH+OU4JC%#JME,*0I] (<
MJP]>"1*D,R7>\!0RK6" &-UA\3%PR)1B=5:45F4M1HFD<W];0!!P,C]K:N&#
MRBMK[]YCJ19[C&NK)IDB2,K5KPMJ0!:.[QS5B[\A_5&H1();17UYE#6@^=BN
MT*:8H;KMW1;4F3R9,U++E-YW80PG^ ]C%O#<WG6#O N3N('(V^_.#)U,H&]W
M;QA*L)6TS&2.^0P^@W1/6-C(UL#S%/\'=3+Q1BU95B0YFR?32"2P?;&W8[5*
M&M)^2EP@<,]DMMA)"0L3>YO"MDFF1KDC;V0%Q=07Z<X#4E_#PRP;.O':*<RC
M%\+42M@O9BWL-!=?8+JN11IP_MG_S/;/>Y[9[@52Q\SVS[$R#N;M[-KA_:.X
M[AL[W\;:'#J!Y!WFYH$TF;O\MO8\UJ&AVZ1(QW0N?'+F6?$D&Y6<ISD<C)V?
MTU?NTZ @3Y]7*1W(_^!)N4'"=Y,^>Q@QHG4P4 )<>W^*<]:$0I=U Q,*F-+
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
M5V3I+%&)1>*X&1# S,(V=K!90F.4!)F!Z^W![Y"I3O.F:"JX'XF[K+@= =V
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
M=%86ZR2#[@W%>%47UC/Y';MI;S70)3Q:L15P XC%80(2:\QQ&Q!5;;7B4ZR
M&YG=:FV]DF.M'(")4:SM]^661[^4RD L7C:-8,58/"14+C4Q08-]JH\&O07H
MI=>LQ;@=@\=R(+4 (XIZW4HHZX*3CF)=15K3@*E02E/BFD:-$P@$\YEI5\72
M 1_113T:.)&C@7-<@\VI3&TC*C<R3;)I \\6,ZD9U!K $&'*%QY QC"=XM:8
MT9K?IPFSEO748.5+;;W-;IOVU,OP@6H@%3/9#1H'^(77#X75!;CY4\Z!HZ4'
MT9X1/I)4-4%I\^38>''A:%]P>CIF=^[5)?3<>P\ ] - 6>W;Y]M?OWTR*1"M
M"V3PMI@BI^D18@N<YU=EL1#_H%^:PQ8):1PE--[L'(^87%Y)%]@J%C#)*$37
M4#5X 1*BXHY:3%/P/* <#P[7OD$.?5778S7(P]&*V%1I"LT#%01N.U2AQVE@
M?MDH8%K#$%&ZK%&O?J)1'%<(,O?XVI+;"D(BT=/V6K03(=8KC_%E@M&,%T62
M]SK*U4<)YSR"M#A'G1<(K8,M/I3-@AOJ&?DYG7'YOA^MOR3_*LKC1EPJEV*K
M'*VO53#@AB\H)^.I2DF%W>[7#'4RK70$/]-ZF5(<OQXIFGFV%2')GAY8@;;7
MT8:]X$?[,Y>=O6U=!J\YW.)5ASIL]$]^<K@;]SZM2?;C@ZYA ]]*=1O\HWB<
M5 ] ;"_^!RZGCTD&VZGG31VD85@"_V#)C7 -QR/\2UI->2;^*2^:ZAKCL?!Z
M]'5/';$RSHMRPSJCOM#(I^.BL.0- H3]JFQ]'K%H>GMXDA:W<!1'LL^2X_,*
M8T#OH<AF0C,%S:!^!-*1FS.A=CRKVOT8ED;D#Y64F=66'&C@KHKP^)679N,F
M59A"H>+ZCD1XO)+?[A@J]?!519;.X/ZHPJB]LA$2-ZEB3DC5U<:4NFA9BPA&
M<!K+O]D286LY:>*7\+(F\ZM2+++)IP^@.8>Y6++P&[+ID[DUSTW^M23:ZEN<
MJY= K8S\(,-5(/4>ZF%3LP[LCM23WLROW--: E?R[L%:ZG-FK#0!DF+AO9.5
MM'QFZ<>>"VL>GOJ5&-1H^S"2\P'UN9\B64HU7U23?)SG4"I3)>4:QO#" +"E
M>%NF6 X"^5QJV;I]*OR]=ZE2S[!>2R^ !C#G-69/U1H8'$^R99+53T6L5RZ*
MC3;?-JT6.HLMQ32M&:?&6;;!A#MI9T+]>S+-EG?,V3L\F3Z\<@,=?CS\,;"+
M5Y0U1 O,1[;ZDCRGRV;IE?47]; : H^&++9B2U(5E_LW&&;MS )6#+):&IA4
M$94&.!A4)WRX[=F2@J"E#A1Y_,R+19FL'M)IDO5RP6U!P9UKKP#L!V)+"[J]
MA#?^WWPM1\C]O:C08;A(*V1'AU2/E[2%T'+P*U\#<1Y62SY(12PC3<12$/;,
M"(14;CLA'6:]J6%\3"E@4H.D!XB2> J$U-Z?ZH'N&:ZFK.O@MH4S$P;4YWVB
M&HK4MD7=.Z)O XY:)?G#0_@J[EX:O%9'2(ST&J(19SI&_VD11(88=O8%OI#E
M^I]W-[NROUV>WYZ>L)O;\>WIS=M;Y<: JM"'S.Y+=><SWN78RX"3FN.5D;E'
MQC5D'"?SNXKC9MYQAVR<ABCVH)@?",'4,S4H6/:6FKA'(+6= #3L.HERSOC%
M9AT_K\ V@@KQ00%T7S(Z88O]/43E@4'*6A$#RIZ[:VJON"U.RF9Q15QV?KK1
MP!V;0HY<\50"Z3[V>ZB6CKI@,Z%54^B5$=I9@EO!^-YO"[W.N2BF+.J7ZFZN
M%*O'!,@,7>8*-W"[^?*RJ/_!ZVO=\V<S<O7)UQVT*,Q,0Q[F:6A=Y,N/9+AO
MA!VLXF]KMN8U,VL:L3&VPGV71G6<$ILAUD[UBO^H]C'S;),U1[&9F(/8SZ"%
M\08QOD5TQ#[\YL/A'T8?_WSXPXC]YD^_'_WXXR'^IOCQQQ\Z>]""S].(;2SY
M\FWAQ>JB5C+3%RRO*Q)5T><2"+>A=9;/9*T-,:H!Y2>$W7U\NU )->@*+:U&
M9"#]I. ZJ@H;(0H#5\4EOP%F>"KY:[Y(H?HBKZ$$IQ\COI$5M)['U^([Z.\C
M(7#B"$?)]%?QS=$<@?TXV4#B 8FT>0>C\;+Y0^1\3A#6/<&JXL-232>RE!:<
MANJRW_7RO*H:+,N=1N0!Z;E^N<EP4H)>/PH; 0?U0%#8%^%M4"(-%.[V62WO
M^VC=S<0KO5.K/YER?VTWQL.=P*G5LXF2[M>L\^Y@7Q*$-9V)A;1*UN'V?'>F
M=L,5VB+"^S--_&J:IVGGQR)*\3-QY^'$[S)OZJ8$(A?:Q&H$Z'=G3_NUWL/^
MC71B4(+F@@RE&? OTIP8$7IFMV04UY(<=;"-9W";B2W9W[,O?#+B=04WVEZU
M#5(00TDCV3X:J7ZX/PC[N3A(PB]]6I0S/KN#PF/%<:?HWB?W6;I(?+Q-2@US
M]!A>>:,I\NX+B]Y]K&_4!$!.QF>*:7T\G39+Y,.9"><RG>X\$U8)-ASN'RS9
M3 H/[N3XQ]<*ZFE$,Q(W0$"6F_#*IQ;ITPYW$7-I;@_$^]H8//C W3XD^:?#
M+^(W'VQ+P:^%'(IGEK9U/AZX%A6RU.7LTR&C)8Z8;6WX_>_*Q,ZKI9:"+CU&
M :TP1YHCJ858&S#J&!,3?Y<V<6:;>"E-O,!PH_6/H#4+$Z+BY^&O"6_#XG\A
MB^?8]#![[S:_:5:K#.\X209YU[.L>#K/!<BEE_X^2SKU8X-\9BF(U91]57))
M*T4)Q]Y#$[B>E87R0D])Z+=Z^3@V5OVF%^V./VBM'.(<AQ\/_P!9^L./O_\8
MF&Y[N>0E$+AK>LW>A-I*HB'6#+N%/&"0N\A:NQ;UUI?N<IEMVC[H^J^%CC*=
M0OU*NN0G'+\(. [4RP 7(Y[50CZP":,"(."-,L/%-SY]3]*X0"Y3@IF1/"A8
M[IVW^YG%OB/U2B!N7HEBY=C\P-AV7Y5WN7@L65#<"R_T<994U62.-44]V#U0
MC!EC&(?BPQL(YZAVD+S9- 7Q%EBS7;#V!BXC,C.@*\N(-7A_F3;)L& /XZ$Z
M(;R6Z#R&7N](\AQ_MZ:GQM337%T$[[1AB/99F)0HGP.S!PS$4.(4*.NMICKB
MBS3/_V.MEB]P<R?..),Y#']2B[/4H?<YQS$:D%T%9C]AH%HX)_=-C6-X"_]S
MZZG>/E)8>#]PY9%-"D=,JV12)[.5PB765<N4WO=IG?:I&NLXV"-8^V2,!/=\
MN4K2$HZOR?Q<S]2AAL2S%!K+8/#0KG0'1CHX:$:^'G]%*@XN0,= H3I%> [>
M-$]:0XK8'/6P+"1>'0\I<MS,]&6]EC4^'H)2NFY(EA.I\J'PP2DOB*P0E4!"
M]Q\YGT.)' :0S<_E5^J[HIR=4/W(9R<XP(G*FPBE;J^!7U*)>R!KW+G1"+&1
M.D;Z9#V5Y7A+I?(QZWH!U/M.S.$6_LF=O)(2<>P6E[J"(0:ZDB_B: /NF#[1
M(BDC>%2E]WI=DM<XB]YD!&^G/TUBU!TNA-3;M_RY/LK$9O/ EKZ9M;>; ]J3
MC5 ] _T,%_#N+.0P'C7+I23N&B_!8?Q?C,14]8A1IXY5TO!WF<;]G*1Y!8,#
M+S"?.\+>K#/A2;"?DJSAY#MI]J2@'Z?;I^+VH6@JL8)Q/H,)U#7GN7:$A7[A
MNL QY86^1VACM52'H.=2H2*X395*MA(ZPSH8@:'+UP@@*S7(8ZL4F;B;@HQ,
MQE&(?0)#=T>X?_I#-]30I\)1D<_Z)3-00K1SOL=ZG:R%>,#3-;N/NG8UL&?G
MK!']\[>Z3-?E4K,P3'?V6UVW6ZQ(,F*U)J7"-/-TFN2UY/;"B$J63L7'N+=O
M8H0S(YTI\<(%B>A\! &ZQ<7X"O!8'738Z&8Q$V,I3CI3#>X48S'#-OL^;CVS
M2S;869I'3.H>60WNI)^9!>S!)XUMJLXA/L5<F4?-FK=Y (ZI9H'%(3W;&&?D
M##.ZZ-TS@3)'K>E$4;L# B'LZ#-W1C+M$;'+OZ38)-:^V,"TP('@>(G^*QL8
M%M?EN8*0HC@J'M7]U 45X=/CZQ%ULIBU]ULD'\F>X=7WY6G-*(OVZGC!L'7<
M6+S7Q@N.M_;2^'DXUBNS;9?ME^\ 1Y*68F$/?)+S7E?^K[*923U,*(H7 0X'
MVWWSRJIV1C;L&>#KR0# G]5#'51/?76>4P;&ZM=^"X06Z'R;,1F: Z!"[BZ5
MTK(6_?V:OUVC_TH*BXBVDUZX9/\#C7@97_>]\RKO_A<2%_/JZAV26^5.N"SI
M;W9[0TH&,S+BAMPL::_#/1IJ]'\J,B$&OGW72<UE3G!_IXN5/;(6.V)JN<RL
ME\&"Q469EOS]&M^Y5RLS/6K)([8,:R',Q!SQ]%_B!O+?XM_.DG\4^6+>7 ES
M+),I;VH8VG%<7-R>>$F^256,=#%2QEQM8OO]3KAUMR=A4V\A4:O<S>O0L@MV
MRT[B9-U"HK8W\S<]Z'@<>&FEYL:)[:A9,'MV$[M2[<GNL<>"PO%6Y# TS,/@
M3RTL\EC/GB Z!G=JB='HG W[<J\#I%5*)F?4Q7I;O*%Q'HF"1#XTC20,GR26
MG9/X6LHO_'&RH@;PDX:?Y__@20E%"+V;7NG-5UWATV2E.L-G#3+CK84BK#D)
MW?SJ'VOK6J#</R%<TJ4S(5[<*ADHP"*3P4%TRT8._Q04P$4ZI2$"E*GI<U)(
M4>;+$^-]\K'^UONC<$3AR/XI*5/(R1Z+$RB=82!>W#-I.RG*;#WAX;@X$6O*
MBA5>&%)LO?CF/%H+K5H T+28%>C#0_-J6Z,?IL7!S*R#W<N%O#=#R6VM#>1H
MUB>/TLT4!=]M ?ZTI9^I!;PS^]CGU)9=]/5-$YQ)>_:O1A:0WA:J^)5?\OH\
MGQ9+#I6GPAQ)]7!5%H]BX;.C]5T%@]MU5FP\K=-'HEW:T4=WRM+,>L JI5H1
MC DB4B3Q4_@S#F!I(,0A/MAF_DZB5_/7[\%T6:?5]&* 8YK1<M@'6- /\-?(
MIJ06!0&C#W=DQQ^LF0]F;1&O2#J8<[3^PA,H= %,9R7_=P/5BCV(#2QQ3,N+
MQ&\0 )73:- %+3SYUWU& TQ@<^W,\45"Y!9]HVON9'732T^#+GUS3HB9#W*&
MZ8Q=:SY?GHKB3 F1>1/I[P7V8X* E?N-0"KA#*0S[%*9S!DI8*%+C,-A=#G/
M7O$<)8%@#&I&4[C8-XX'1*%VP6;P3Y,9 R/K(*_Y"OIW\@70UC2[;D59H:=J
M*[501E*'@J:CZ# V)+7/-OIGQTW]4)103.NA%5CUCC(C=4" MN7'U10'ED1#
M!5W-23E]&.<SZXXERXYWIWM#F5BT;-\LI=A!86IQO1E@UO5P6("<[I*7GU3@
M C'9:$\#S'].ZP=3=2TKU+ !H#<9 BE@H,%47&L=LLT@;.#//TI]*KY+=.X1
MN5^(7769?B9IMPHS-^=HCU@RKZ$WQB(UE W+28PB'(^0MU<+[V'&MD]<'86V
M^YVO[1%<UW3M^7MX>)U1A+UM2SQ$[X!T:(;LFS!T5GR;!;"?BS*;><D3D7CA
M:()\_. #!19<1)] 1]@P@F]L\OR4F$@N]NF#9(@?H.PX.3W?V)QATK^[^=W_
MO2Y^'B82]_2(BP7"ZY,<#X7Q]-]-2J,;>@T3@VB5N*KA4< 2(W0 .++A0VBG
MO6-#V9A'6I0\7>04O;Y-GN65Z8CG?+[S1"G=,RVEJVR1D*_N9.R#5!%\KE08
MI(X?2))CU&^>3HN\6*;36SY]R(NL6$ ]I77E'9<\\5JPRZ7"@]K6:(<-6")T
M1BG9#0=>[EL%6BEBCB8GM "ZHE;NA@/?5;ZKM!WLV0+.;.[>"6VB9HB7>>ZW
MZHTAXF$==SMU=+>:ET5>7Q8Y3;D2?P__<<WG33Z#*(7PJV (A=TXT3=9>,U7
MU+,*,ZF @AAN:6:X3E[D!U.]F!'^=ZG7,V(-+5G54,$0+*#2%1\A\2M(* ]U
M,IE 7$ QPJ.X#"U*3@GN1-PDK&X7IYPF]""ER$;/6KD\3%=*S<#YS(QN_$^C
M'2\F./C$:0)Z9YO2N;:0PM%7]A[>0F%JRL$]&F85V##J=+%MH\; 3^96@J=O
M!WE7NM?F>AT<P.W9;-6^N4%G2X<'=XO75S$87;VC;[_Z"/S< FZG)M]L:Q[-
M-YC,9?;2XMS\+/[MSH,!^W=!TL*0*$LF=9T9C;BZ[\6J#B&42]QM-TV[K2!P
MC.+LB45(4WT]TW/)Z\E<4N)+&@T^&R^ -[56_W"G,/2VC-X3)(2F*B&D64>P
M(E5LIWM:"ENIM0C/!1>#0SY1 H8/0E.B[\-D[?2@)U.]0TLYMSAI!JT 2G:E
M$J9M.0YIB=?-T.V>G*M+6_MDE%\U_7G[R&>KISU27M;ZLJ->?^4XO_GXNX^?
MA%M:$AO0W]CAX1]''S]^W*S384DM[OA3O-.SWW\:P4C3W^/!+/YP^#?VEQ]'
M?_[S1_S!7_XP^O2G/RD1*3'CPU]8DX->%O?6#9HYMI0%6RAI)"<!A+WZ\!(8
MBY.%\/I.GZ=I!4'+">$Y:M;WR;=[@.VAP5H#G)T<=; Z>6;:^[TG/8'OP/Z!
M*E?7 )S,&<G&(/1$S>*0\H>&S[G(O/8I!@4I/C! !U7->7E5IM,=FP+=&RCT
MF2BA#*7&B;CZP=)ZV0!,K<"L0&S8M\H/B.P]/ G[;=E$$A0 5)5#!),2T?>0
MDNZ/00NE*Q.)C?- O.%IO1TNI)(DAWU!O$')VD]E/-BGXIZ_G8BBA#"<F7A"
M^4;0HC^+NZ7FMVI&!.R]C@A/9$[WP ;HX$E!W. JR BV'3R*&>:DCB7QDQ4O
MZS7,Z:@%=E@DIAR]!#QO$L5-3EI&. ^D)@IWK6K J+_>LK62JA R?P^0K>+5
M79YVC :!"TH\%N5:J_5#G*'EFD<9]L/I#8E\/RT$6F"DZCI?2)P"N[W!42RH
MB@3U/%>U3[V86EI.@13./BAUR!RK2[ZB$M$$0MQZQ906-E/8!>"9 AR%L280
M4/D&:H#ZX9Z_LR?J7)]>MX/#AR=?2!.X-+@[-&>VID85ZR03'_QR8WH4U+[,
MRF8!3L&LF=;J5X:-OC-MI-0XU/$M2N H';@AD;N-GO93CK2MSYHR3R&["\/]
MTF?X4[][M19(DRJER&B5A_[P."7#^P4UGD[+AL\NS#0(V6"_:V4ER6.6P)'J
MV1\,ELT1UXF$A6DM9,Z?2AZ"B',TX"TN9WQVET^+?(;IR2130YPG]UE*]+/(
M?G@#Y=HSX$#L=6N4PEFAI5?(8GGX\?"/[P-N9DY(4,8<;69TM]$W HZK>^"^
MA'%OR'-Y^U1$RQO)P_L\%\\)^IGRSUEQGV27O(8;;M_26S>%I)R$5"J#1-("
MU6&9!401 H=F R)7,2$G,ZB< *4$\H.D!KG.4-%0 6]/%;[F.8=^VX^:*LUY
M51T7R_LTQ^UHO);SF5AL.D>.0UE*#PU2PD<7WV+KO$>2?CX#!CH917H4:^]9
M_(M\=G#P(R<@-T*_+Y/(]T4MBEFK&EE.,[,7IF9@JJ6A&:W%,;FZ$=-&/@UO
M7Z<VJTDR?)LHJ>$E2F")IG='IK'BE.7Y -2Z-0$0E"E3/W$" #X!==%O1$<%
M[%C2(SU+JVF2@?-PFL].A/)=GY#T0DD>>2.GP'TC1 X!AO-<]H#EY7+I4-/;
M+HL<OR61^*/\@',JN:T4X31BBM 3$NMZ]ZW/*G"""-ZM<2.N'T5YF>Q,?"HE
M,!#Q1E?JM#1&6.[& %?#HKRCD0V7L<. /   ]O['8F=,D$J2ZR)\/Y.:VL#+
M>5$NL9O)W.;-S+S)7+Z0M[SL/Y';TN9<YBV%F!Z69P#J?!>&<!,>#E@U94#\
M2O );% N33U(658\ 59)R0*]0-6M$-&#?OOF])BI<?,C]NGPX.-?J$!;MFYI
ME;).CI0RT!J)I#L,?.>;O+L- KOQ%E? >8X['58$7UX@J<_A6[Y,ZYKS&[&D
M=.JID/"X<+@I4J,96Q6P*2%']X64LTIJ#WU-BV0.?8=SN!HLC4RJQ)H^K90I
MK;$N>9',X=X [6$8H\Z]\5_)<O6WCMT1QRSJ19[,OR2U;%R:S"6?FS"*.X>^
MLD(JV**T<TE@ZQU2RX"/Q5(O!,F^);4<)D2T)Y31+&$K)Q+V9=J7F=1G1YEG
M,F=F 4CW+LT#KY9Q%&D53@ ,UQ&EJG2O!G,^5-:F^N)LJC-K4[UDM; EU++Z
MXS9YME2>I<]\1M',O@7NJKH$.G.L-T6\4L^8GP<=@0O>?4/,E'LIH4%GE;W+
M432+0%WC#]D60DWSB/80_7>&2ZG>%8'VDY<<KT-V,V1T+V8JW#%BEIHA([9O
M]-\(.W! 2Z$7+Z2XYJ;%K,<M#TX5$A+ITM9KT?8[9E8>B^,P$(WC6Z!O],7;
MN%'DHPIY U]XX$:!C3MXN9%<4M,4O*V<G]?\VT,\&S=?K4)><2TEH6^W_M'I
MBZQ!13=62SC[!<0SE!_ZPNH?89NP8;\PU?OF]PC9Y\D1@.D5YQM6\"T%%B.:
MT@8>??A"F6#'WVIOD" )8?;YFN:EXC35W>HWW9+W"W$'6,C@#J_KC%N3=4')
MT-#9V_ \KYI2$AW);C<##)]CUH5^:) S*UEER1TQ(SE:E;'0+_97G0J=+J51
MWU(;)96U"(NBU8)[1M:JN='PQ$Y=IE4%;7%Y$;ZTX_JE85.]GMGU5Z9-17MP
M 2"^9DQ8G%#XES3C55WD7/6[>\D.::F:I#6L8^P)A=QYFZL?U+-PQ@MK*%>Q
MH*C7!CC?5-FJ\*>D(U6IKL!*[/LF@V\--*I?B=M[27=X" M(>KA=+S.V:O2)
ME?*1Z;S4ZJD^ Q>@XA\84%!K>%=VZHR[:IM [TE= &N2L,4JM &(>8@*P%05
MOCQ5KSD.+[LM.F;K]N6'DA5GNAJ?R\])23K! -TS=P/S2 4WA'PYE %T$X;Z
MGDI=[+;8,E=YX/A=SW[CZ<?J2\7J3N(U/&D@&4ZOLV0$-I-I>L8Y\JK(TEFB
MBI'.8 I@Q3Y<"I^0_2%X3" 82+F)B560%##2( ]O->MWQ&PU0;?N9#Y/I_QF
ME?@JKB&!K$*)88^=_FN73T2NF23%\9?ZK]U^91P P2^#XJC;]2XK_NE;7%Z[
MJ2O4&JNRMNK]\MG_-$F6SM=0SC25[&S]QM=\I=0/KFE&)U-*(XZ[N>!5Q6F@
M974E3OGINF^I#4D<J6*07T@JB\C&YA&30Q*$ H.>0J?S.9_"H!L=.KX6+@NT
M[.73-$MQTP ;N:[]*0322GR'I:=??SOY1.MSH5=@A959"3U7I;,*8F\WY62X
M$(@2L7N]E+!?FSW82NYP8R,K50+*F:L=&Y&MZBBRD5@!,TMX;R9J\[9^98L$
M)["3D0KALHJ[;UTVTQH=O-Y=QCJ: Y'[TA8]%$AR,U_90*YC I$$1_T"NY(D
M*5K\ML^:G4BM7'@LHBXK<P!T E1==)U6OQI^@5VKMQR1#&1B#X^4.B1 K5NO
MA:I$5*MHJ* '9 K1BNX^2AG1"-7U&JG;-0Q(IYH+T^75EAY8%;!YLQ.>]% 5
M)%^@D4M@E:FPV4]%)L0@_QCTVB?/Z;)9[F^2EC5[Q5HL;258+C/K15=IQ.22
MOU_C.Z3.RDR/6O*(+>-82'D .CXJ_$0@N@,^:T@5%*77GGNI;H1>LZ5GU+V]
MS(,:O!TZ$R;2FTQIR)IP*\7O9%3, ^0^Z%JFN#74<,,42F*RH)=17<B95LEB
M47(J2]$\1[UF/#DB(9RL7: X,YM\8FI->+"!3:(#P]UY__63[KY]TN'_^4EL
M-+'+K]/%0UT9'VI_7Q3\'R:7Q6A=,1W+-V'.[4Q@C](P)6H(;8POXKAI2DZM
MGZNFAE[DDV*9I+M^!2R!#"7*%F\2&OQ=\8?'J9#H!!6M81WGOJ?_;OH]&:L1
M?;4JBT16$VGAT9Z1+USV$_H:N#VT%N% H\G<RC J9]!K-Q5-@!('AZ7(N.>#
MQNT6$6OXB9&L^3-2F+8FSM$40I$P7IX&V0:O!%\*#Z^$%4Q*X2>LBBK))O.+
M(E]<I(^JX=%/^L6H8L*?5,K@P8.Z ]0G^SO%IJ#<S!YR-#$LXA1I6&;I,$5P
M+B!@(@8_HN0/PI70(7F(N.-X6=W UB;3[YF 1,7,T>RR((TP2R%L M>Q>'G'
M^ 9Q\O-$#.U81>:[/D">XH>_!J<HIP9ZS"EJ)OF[?";'=_'9Z?-4'&+C)?S7
MKBSLLDD?E3@,^K8B1IH8J1HF[LZ;-:2!_ZI+TX(FVFZ?BMN'HJF$+P&4\^+W
M:L[ST^4J*]:<8X&1:MZ&649>"GN$3O$%(Z7HQ,RE6L:E7ADQ6*FV\950'38G
M&\4.<G<#?J4,^^^4.J;TR7FQNFT>5,:I)HIB!_M ._SXZ0_L].;J*EHB:>>X
MZH1"J1,S<EJ\HF4J#N%IGY'/'B(.$Q6TMM8V8GIU%-[^;NSJ?"]M@XQEE(O'
M-LV%N##LW";3[C2<1NW[Z;7T;(!K=@JGY,*C#J6Z+!X3<:&OZN-DE=9)]B7)
M$WJ!O(RY%M+_!Z0S*9X9^</$M]':L!U@Z.8%O\"R]_K$G%(KC2[:]U_SDVFW
MAGCWMGS *-<O,RZJ/X)N>,=%55=]<DJO+6@@/UF:'_2/Y*TG6HKF+1BMD^%M
M,K?<9EH3N4JLRZ72ZZ(TE^Z/DSUON+;0-H7:[>-FV4"^_)%3J2/IG\S',XKK
MC6?_:JJZ]]EAU##2,U)((9XJ=8F]I+4%?PMC@'<9_]^:!;[2\JBB1F[+HR0>
MB-$<JN=SMII#U>R$-]0>&MA6;J^<VQZJ9K.M882$ZA(-.[:)9F9:W?>&R;LZ
M2:MI5D .SQ<OJU3G-..;$6ULIA4&GLX5&+5\'Q1:FV+!4L2,IGA$JJ&AM[B&
M7L(?;>* $UY->:5*FTZ:OOD$U=W3(GUUHLOVU#U[1(RDD%W'3#,$M(@3(&EQ
MX(:E3FWX;2&KU*Z2$N"T!B[O2-[3YK^E,UHULZ](U<84;76(!V;"#05:;FP
M>UOHQG6I8G.B=F#NHK!8W0D3W8^Q_<C7P>LN2V@2JM<0":_EY#L\.GL>54KN
M" /_M9Y9)QEQ@I]!]"C+9B&_"O+1@6]E/=MUWY>T8Q X>9K.0PS\<GI'J=Y*
M0*>^JNH5!-G.BQILBP8"Y[R&6Y]?$N<U=-BXL2KJ,<DTUX^78*(^:A(IGBV5
M_#CTZ9Y@9:V34XEEAAHI2B31,ZS.K\(>L+6&+<%;=OHL%I<GV7$CEK 4ZSQ:
M?^;%HDQ6#^ET#%=)+^,AKNWW3NED6BGD#8U:AGIE>"MFS51$NVR; J$,M6F0
M\$25^0*F7P'?8>_J8ZS_@AE=R. XBE-[C*_N&)R._\=S/DW&1UX.5TLB&Q^%
M/4\]K%X^ 93$U++949R#T\/ZG7&(MK@H0VE/\UI<H'\JLD8\_W)])L[F<M?@
M)<EB6A@C:6]^^4[?7%P,N(F R3:OLS4Q1HD+"\:_Q9^(O27-%Y^;= 95;CWK
M5ULONM++4J*JPKHO4LT2K9LMI/*P)T$T(^@OM 0O>;J@X$NJ9$8G4TIU97.L
M*&,T>[ATKZY1DI>-$CR[V=Q7_-\-$-H^<@_<25H<(WD1XX:F&!E3(4ADW0A;
M3O3HU2,^+TI#K,*!CX.GBUT]$J<F6V:*M%9FU+)[U&LQSP ]G=3]?JQB[_+
MX(@NEUJM953X.%GM5GC=IBXFJ;K[9)JL6(*" U,8^T$CM^9V%,'SE3>?BT=Q
MSP&UAN-\+!"5)1"F]:YKO/O=S>_80NM@]T4^"Y^%#8%*/JN[&V:$6\ST(Y9
MX1,I"%NM272*T&!AI5N D97"RQVQ[5[QBLX<Q8CE6N%P<<IG2LTJ]I ^HX5)
M_*VTQ7 QM]E+$;L]>]$\6%5#T'KVP8Y6PSBT=:Z022?W]'W:@Z'<V4)V&CUN
MQQ9URYDGWFM+JR[$R^#OJE<,FXUD<<9,6A,S"8+X@_J9IKBF6>%P_YA.RR;)
MK,3A[JE1>UBH>FCP9_T74OW(#"O'JXA<PLC.HH9_R/'MM,$2:I7X!-\6?1M&
M/HM?A!HP*O3Z7 KO_@VTX-"J6)IK*FY<V7=@3'LSH3BN><CC'(_P0O"9]8'O
M5U@ASWJ2:KLQT>9 ^86U<?P'3O7=U^<YL'(25PDULP+KF-A]D.+Y[S2?W=3H
M<>W,,K.1KKVOQ9NGE)KQ%L@#O"*][%>AF%4UN5Y:=>A\;@1KZ*_>/;"X:"OH
M,0_(]"OU,5#(2&,$;J)X1K!W>??S%T<S;(&]-(S;U7MSL3@H+SQ+'W=]U-L;
MY>U2Q@0T424CZ!HT</OQ'O%U(3;QX<?#/X=WS58EGZ9]Z -M$6]YN6Y1Q3#6
M[/8XVI)B4:7VLK@U)]66$VENNCJ(X;"XY+L/WY5G+9TYI\_3K(&V:[MK37^*
M[#+L,1"]IR&#/YZ =HY.4G3J03^<]HDJ;GYN;3A=%7MZ3NI#@NR<> >V^._I
M9Z@FK)<4 &?7AQ)SL*W"]\!T2J'@;8Y8MI]6Z)(4GF4)AB),.8FORB 43<$8
M(SQXC9 W0'+;:2!C!415#L6J&O*&J%4^U/E\XJ Z+H3N^Z+$KDXKPB%0RBJ_
MOOQKK>WH*&2)%1,"_++T.?#1&!ZT#N#;8.T &.QAI2MZF4IX_.X,!:W-C0+2
MEE<:X[R\BY)[(ELPQY&2&?D<Z@=EZU="B8WT?>B'8N/3$.U9F/$56(--\Y6
MCIG N,3"N\(RLID1/F(;#,.#!-FB3<="-0HN):M5EH:GHVUUTQVMK;/)7S=T
MNW=P!,D/AY?$Z8>.W4X0V A."T&S7$)U+I!%+&G$H<4:DE2AIP+KW3R;(<-
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
MA"Y[!;# 8;H%5 \7Y5HS\_CQ5XU@P\X3.L#J"XH.J&H(1F(LP@Q?6%Q2ADU
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
M+$JW]:3A\>EQ!58F,I_9%VY"Z(-*S=(Q$G[-UV.&& R?\7DZ38-_XD,9(-O
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
MTB7,\=Y@WC3W53I+DW(-/LED3J&+W:N.D !%.# 4[XE4<>0+@^/ V$#>[/?
M+1N'4-*>RO:_L6J?ZDO>>K7^?JS>4:;_*G.%+]2G]"D9XCA9@2<QR2?E$9\7
M)13C8";D]B$5!]LDY[=/Q>U#T53B#+]]$O]B?0K+]Y,ZE[MKFJS8#$O<<ZAR
MO\>%,+42X0S"4AA\%^NG0OPGK4;\!RR'H3D#)]?W82SU+?5GI$B)^7T8R_DJ
M2XN)%="-H-MBO_\T8H<?#W_<8_F?*E;N%W_<4NRF*Z$#AQ^#P;.?J0;CA!E;
M%8NA$4JBBC,.C:$P-^_T&;XW7%+D[AH^EGP14BP6KDO![(,4';P6TS,TI_*!
M9,:*?C]RZ],O/'*Y^2H@G<T*8*+UPE;MQL/'JH^X CZX*3Z[L>DMSO5+&+K:
M/889-@K%G8YJRYD$W/)]#5S]%@?X9KY' +:]Y['UH)E1&(^H?0PEOO]/O+/3
MQ&Q)+[X:2F8DVK3-!WZL'N'(9^? ,#(CC?_V!\<A]3)BAPS)I6*Q045C)RZ
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
M KOH$$0G2)BB@\@-W2B/0G WV\H5W7MT1,@+V60W1?Z2Q#P^W3R4/+9\XBE
MY/<!H@L1/\RK4ZP@!>H=<&, (&F\9,,Q(+2"?S,T'PDB3=?O29Z"?8+C39XF
M'5!CZE$439>MD+#G4$I?:JB0BA&?" 9$A>I+E5KH=0!]U#>TG;P-5U2SA?+
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
M24NB7%ZSK\9BR*U,FM;9-FF?;GYS!3!K['.4K1?"@U\72?9T)AY*YE%ZRY\
MRSK'\S!TR.#%/(E2'5%3]VA=<SLH;VUIB\#F4@96:"'0I9YK,:S0JDIV\YP6
M$MY2\CN4%G)8,\6;&>;H4!OV5CSV)D0ZX  &<K)4>IM'(:]B**=?+#!T^H$C
MF;P\3GC9;_VR6%QT#0&4*\OS%IY4#<]!BR*]VJ.M3ODN><J2A9@ET&#*J5EN
M,%?X&CP USGLBMO-!9QNMP)J+!$Y)@T;*R>-?K2IOOO-?TW>__=/5!OSX>/D
M_>]_/TQM3*^:NZU0?D6:IS6E;RVEHT4%UVIIFG_%&"4 -YZ)#SBI$'_ >ZH*
M .:<40L0@/I?+/A<=3A>3&-J =H)]],09T1]HDHWH+96<O .Z>E/3:<IVSZZ
M!FPVURG\8_?+"Q9)Z2Q\0X^\L!JXN2I=@XBUI)2@,<2>-'$K0L.K@YZ^@MJ_
M*?)X/:^L7 <3MNIZ+#0-!E;$A<562D5N^/@]]7E154Y'J2+BP).*=M:(1?_X
M-+2GZ=XCZ;>J-1'>407=4_JI]")ZU ;%[Q3L++E:_4AB)!2HDKBKY,YJ%U)\
MO8-&):!?PA^0$?(BF N?<UJ=144! (0 3'CH?3+BN8)KCG^QR L_%M!>B0-B
M'WI/YO&BI^,]*&7G\!=N>!RG9EL7J_.A]#/!$PWR30GLS0!3<#::R]PUDX](
M?C6FBGA'X9+@KK&<^AB&!QE4@M^@ :B!;=@6HM*7ENA]2^O:(BFK^K84UC=3
M)*S;\9T*I8E2L J2[M+; T0JR/;M+ H2'CS+"^CK5O'3/(M->FK'HZFDR8"H
MG:(;[IS:HU;NF56I]B@H!^P!">O&X]:Z89;!TXUY1*Z2TZ]1$4OHOXMO<#E1
MPCIXE55%DI7)'#>J#SVLRLZZ8<D$6&2-JS<(IM 32UC M7" MB3%"^.GC,>P
M3A\"VR+3IZ<"6R?^>FWC7CR0@Y1H8[P 3=C5*(('B>W(F'L'8X$*0FH(;35@
MGBTTT+/P$V\*ODS6R[([U(1FQM[9['[ BR4-+0U.D.(Y"8D^X=D6C4U$(0\D
MTF:A/F[ P4% A^:B23@[""4AR4+Z3]V<&DG+M&X(Y-?THH-;$$N*A'%J^A'?
M.I*UC8/GAJR UG6154FUL0+O6^U(#VWH@X29'86?-/1>/2[=W(UB8!75=+R,
MD@+WO=E"MIJ)4JN2M5.W%Z!-W@ L?YJ\72D[)#:)%]7=WHROZN\]FSXO2Z@4
M%3.)9_,-H@I$:8^AKFMQ>*&(-A.K9Y62<QT%J5[THIR<NXC@;Q%GDOI1ZK3"
M:,U%IER3-N7$<0<7'78:I9!2<,3*WE514;VJ[BE_2K(LH,:Z/:18#9+RF<>?
M\CSNH=FE(L>07NA>EYV4J74[(S6>@-(PU<]?HF6W=K4M-> 3!I2#=:#M6[EZ
MU7:KAO[C9UDIMN88-YV_1$4BS_!<O%>15]7):W'H3YCBP!0+1CR&]%R\F<")
M\[1 16*'LF:;>&Z!A166BJ6,Z73N2D9H%8E21*9%^VY,UH<J<KZVJ>"WW&0N
M9D>9R 9YS5/P^M"TGWJ-D^&%L9,7-?NTQIS.4BED!"7 T7/1DD_E=4#-* V5
M#FV?7+@\**]:N[G-(U*]&;^6G,FU<!PE'!ZT$'$;C_%2M1[K#[W7L&6&K^I8
M9_<9F^CV;-^175Q(=[_JX8P_Y<D_A"J749K\(MZ_>8Z*933GPNV91^E9?EW%
MO217239,\6$N(S'JOV6"E]\US9>N<C*_KB.H&"91RY>J]OS<3]^C5-,-8^XY
M>;V/+(1LSW(A6Q]-MY'0:"5-+2$#]#V7R8W0[#R+J?Z$RH>QE%^>0WB+0] M
M!Y)XRDH?54>\=MBV>H/?A3G2FB5N'4NX'(<YE86RQ%9"<I>Y$>1T)T]U9]&*
M4OW.X< 'J,B70MZ>CJWRJ <@#S+FSF(\"K(-P"\O!*?CT[5VKE69.8*X2IH4
MY &0 2&F@</1J5B#"/]O[]DR/!4_?OK$,^&5I^)0-8V7$&JM"BIJHZOC0].M
MB/B$2?)X2'<9A,K8]*.GDZBJE'VRE(T<+D>JI)52\(81]9QE8&Z*LB> 6E:(
M07!MGE3T05;\*2\VLP4$ M3OXTX1?(/LK)&2#,,)4RSA5A>8ZJ?B8-']0/9P
M;GK!*-4!1O%MB[] )"![FGY+#@VV20K"F18TO(]=!WGM\9!DPG7CP\VNQYZ"
MM'V'[2AXL Z[^@GZ5P0=$=UH0W9.N<^A/&RV("P8!4#Y)<\.3"JK^9B:G090
MJ'*L (0O7/;?*Q3J909HJ,36K\/IVPAJ!]#*JS8U]SE6XT$!JP3?T9"?7P !
MUV_R8Q#=W;R>_4=_ L-_,@^3_JFSMC[S"'H1P8P%#/R'+'^$;B9TU%RM$7\C
MSZ#C!$[H6[BF!IBDTZA,2JR+0>#@A5!ZMJYFBVNHT_VQ<ZK;A%F"48,$6S1&
MLC%7N G3XC&4;T+50A.F963Y&B'34$SVXZ_,S/;4M$RRD$F[RCBI7^-0";GX
MOJ+RN=[[^9:7ZQ0V9(B ((CMYSQ&I"6\,>LA*OD%/C+!^0_,=(2.=4?H0O&G
M2 AAWRXM$?[P_5@EU0:A<F)M#\66:;Z$SXB<F<TZ5. TJ%WJJ!*P*8-]$F4?
M-5U>GRU^=W$5"[P5.PL5Y,RR?AIOZ]@GD)9E7$P0/Q9U].5OLQKL;\M 17WH
M66!:.B1US186RGZGL_6=]"$DM$Z@\W+_ZCA!(5LGKS,-RW#OHV^$\X5YLHN\
M@+JV\N+;*J$K=SB/=/R,J-RWBKZQ.2&*S6U6C&M>&&CVNUAXTUG.2-(54 \E
M>IK#@AD>>- [3E6W2[GW'=LP"22@LTG0[M*XPJ3!."G?@1HM]*:-V^]V")7D
MY4<IYL#\F0HD%<+M714]<0L[Z:;(GXIHV0_6D&*)0>=5P4\TK&T);!T\I95D
M[/N2R[\1]*675'Y*I;(&^1C9.9A9BF&8K)D01G#; UO30'"<C\ 03O'Y%E(*
M>6G"/N)[A7OF%X[8ZIV2T5\!F!DB^3R \FZSU&80F&'4W 88.*T##%#>O%7C
M1YOZ<R1M5'["#B-7&6'H_,R3I^>*Q],77HB)C;\\%TZ_#L ,!X(A*P#LQJ;2
M=Q#*&(@,T@>2#DBC"5,Z,:D4/<) +68B9?\>P;TR[!3YDT@:<P$6U+@2$7EM
M3\#5_UW;T=K47E(^D:T:YNFE,6U4T:SU&]''INI4&<PQ#$36N,^A@QC<[*M&
M'OA+N/'M>JLCV[@OB"=%?B82G01B_!P9BT^<V]UD*$ $M[^>KW?\&T3=\" G
M697-9810!EKN<T;L[#8P] 1P/'8+U#M;=IH/_K-=GF#ZWO(5(+=D3QUCQI(<
MT_1"!8+OUJM5"A68O!/:!Z#*S%5':K^()5W%=K<Q$'R=/29I*M9;TX:$^I.<
MV(<Z>:TX5K5J"ZJBA$T(_"Z.'816LU]2@"958Q75N?*R)\T T^0L3\4_<TIY
ML[P<#7L&E;A)+$N=J&^V6%/.B_631)B6M_)=2R I[Q7</0VX-K=9VWU.J-WZ
MW!:=19;3SY68+!9R:IQJ:4^_4W@P@\H/P.'O'(4,DITC M,R,!!"@Y???L^S
MSZG&;)YPI<F\WSV?_ :ERG5Y4XC_0!OHLL"31D]1R+L' ">"/ZC;]=TM'8M#
MA=OZTTR%%K\?C9PX88-:44"U ,55:/1Y7:VC]%*LO?W,/T2G!7V62)@M@++G
M$M">-)'S#36 ,#819$CQN,;$J>AL&I @98T28&4C%OAGV +@ OO@TP^18HJ6
M5\26OH1WZR]":M 9;=;<VE)<:\!@KKG6)5&^6YNY8,5:ZY5NIT6=:"4@KV\S
MW!=1S,5B1'#L6ZWA.MT.-;2%&^)&R(N*M8S/F+,&;?V>876CA.E<>.!BT9DM
M7DG!SC=1VKUW9SW"8/5&B*0DF.RZ3XJVDLAS9&(H4ZGUL0\3!>S%,:S1VAIO
M3"W+;1= 5+( (C<%$$H<[^WD)-K+&7S_Q:9;8RA)B]K<KJOG'-V)8#W^^E#%
M@4SD,99H!G&LS]*H+&>+GS&<5,V*6[@_4SW5Y$]+^6,%L<_C<VQ/?=AF7EL+
M40"8@E^)&<L+5@ WENG&:_)7I?Z=!;K/8FJ53<Z YUA7<&.I(!<::;9@D@F;
M%0RY,-.$3_'7ORN9%H&1#)[]Q(%L9'\[V@AB;5NIHM8Y(7*3DQBL6X/9#)I[
M>/6^3;8V9!NT)94/Y=NVNU8+!&@!0*W6+5SYJ[)<\T,_>$VPAB-/1(]'G5I7
M!JE323J5I%,RF$[26?A7[\-D"!^76OL,5^1=-]Q'[I^3(KZ)BHIB"L]Y*KRB
M;O%+),F0)K.)AO&T^E2HYD.18BM4K+2(>_.&S.S+A=]5;2 SM!*K/"RY>)>+
M:.4'?U1$=,*0+"[HFG @(/1^%7,_*Z*,:G&CUM,1JN7TK'E]T (AR_2KY';S
M@?U4#=Z(P(?:IL'$?DJ';3;1M6,<X*WP6)U-:._LY(K2!OF"9'\-RO=WEZ%3
MSTFL"3-=UTDTOT#8@F<JSJU_BE91-GTJ.(K<R]:L2#.DS31QSWCF/2JD;B9:
M% GC//6ID),+,Y16NO$#8:R(_:6""Y?K?!ZE]]$WB<5VRC.^2 [&DY6]?9$X
MKMA('N.DD@%[)UG\<)2*NF5%@K+72:AP3YTD+;F0*;34AY58A.?/"7_!>31;
M?%:)L1T7$HT%ZV8)*KQ0G;NU7D%3!2,!+*$Z.=?OJA/6/G*2:[NX27YJ?]'X
MNL"869PA9*IY?T=F<0#EFN>,=7,FIT_)%GEAIDFI7^!0L)L_(A$QD1XYN'=R
M=GEW<3!&/%L\E!Q1AV:/591D/+[*5*;(95[(K@39$]9.Z#NN0S/J@.-)OC@1
M/ FOB2FN4 VG,U3 6IJSK"/1O+\CLS@@ UI?+!7QZY&]!M%[_RPV:K\PQ,CB
M^)2L 1'_Y_%I<!@R=@6L_.YOX@P\YSS&OB@/JT619Q6 02D !SAT?P&\-$@D
MQ#09N;AV-L!*2(6K--1L8=1%64"LR8C4IV4@Y+Y"RS 1#@%*:I;Z)(/L;G 5
ML*P :-9*"[07+!QCN\[ V4:^#UN;F".R(W QR9!@(#5+3'V%'QFN:@WQNQB&
MLD4M3$D&(11^XCJI338\4[CS34\S_Z@Z"HZ8>KWWB%=")?'J^KB4L"4A<$EZ
MUDM.;M)'DY5()!)A@R@?DU9N%6)=N<A6+E@.D+PJDZD[NP^Y'>M=%2\FF4WJ
MY_M)\P$_0%EL4',X^,V2H3=$3(WT':5K"K2F:?X5@MPPGP'9IGCAY3F'.BD(
M9!X:2;TX8RJA8<(^?#QY_].$:9[,,,715FPG3#,^.OU_(OTS+$B+]7 J.A.?
M=:U[0V"4;1@8,FPM#EP+GD &91O<A4ITNBF2N4_\EW+?.+LE\DZ<%R4X0\E_
M[2/AI&D2JT;4$==JD)M(@^+;?J?K,LEX6=J=/>&OPI_O!/&IZ#*+\(0ITL$P
M/WM7SRD'VZFCSXJJ:['XI1?8QZI#RPNDHANI>NU[T8/0+F*)D=RK(VICL$!U
M2S]!LMKIX=+&7<%].G<C9Z:&P>]APH^V<K:Y*#MPH@@>#_6HI)W9@CDKM9$+
M4"%!BB51:A"V.BP.FIJ%_1:H.4Y/BCA;;X,V?N.<^;<H7I?B$[>@&/I!)="4
M':P%S_"G_:FC8NI&#0=4(PP.07_J.#@$1J=0<01[-=.+EPKGG:_Y%_ZMNO_*
MTQ?^.<^JYTX?T<?W'W]W[/HT;483L_-,X(KS$:*TB?#2\5;'8^, \(K(B;E8
M\N()&OH5^=?J&8XR47;H1BL=.D62$4TFB1Z)+DX!]R *[3A"B&,B -R*<]ML
M\9<<G ?5JZ&4WO^AY0'-1PK##ZYOB*/N\%NJ$X?WV_4PEG#N%!S%\W4EUE9*
M&%6E!8%4/\LS<5"O$K@K:2UU@90,>K 4ICD8G4IS8KMK>BAQQS#\#FS@!NH-
M'5G#62L (@/,S5-BCO!H_@R(\:H0Q6<,!9:\J=B88NPMF$9/AR9**AH,B(Q6
M6B<+,HC(9N8MQ4@C8O!"=U=P[P3H;G,ME@9YH,NSLN.UB>&*_4Q- X:MBY()
M,^R9X1_P_L1J97,OGN]P[K,H,2 5Z,S7@P);_>$L+09/UX.;^(NR2I9P:4'8
M"6>YU<#@-,%VRX%2/O&*GBMQ% I&#5SSD40:/@/4D^WDA-\W'13S/+08"O_B
M+'?:4$A1OE>3M7UB*[BTF+"7YNGWEMD6KLQ\.I\7PHFX-@&ZWNOK)0MF\1BT
MLKYOE=M!9$AO"&53MH4J++@.%PZ]NIEU:[]W,PL6Q3E85J=%5 "![1Q.K.!3
MC5CQVA)6G3,)3 Z-8L_6926<ID+#TD+ZL?A?++RHGG(\L0B655(*6HAHP=$(
MZ=A_=RY%L9!J(RD,M$'SW3QJ (.I.*LT%#+7K83E-3/N:4H !A(P)8(%>JR$
M .?W^[.3VQ5$SR9[9_.J]#E_K,REA-U&5.SIN,]'Y3,F1,4F'-+QZP&>+#'W
M.HEJ-5I 7MB*^%+?V!(Y0T*"9.WW4PEB#?EIH!6LVRVWX:KD1\@PQ-$*Q!V_
M$>QYWSS^";4.]GL;2PE_TRQ&?7JY(5-P:.!^X/3U?&O>APKJ7D**#M?CE*09
M9$?O184F1+HHK!ZW'#Z:>8788&?/4?$DD4=[<7$=ZHS('YDZ:;LF(5%C/6FW
MW474TG*.'+P#W$Q?HB2%Y?,R+P K$]9R"5@M#CWB9+1>KK&8$GV-AZS@40K0
M2-?B7Z=\D1?\<%\/-S3#;,*T,">"\ F( _EI6@3I%!HAV#6"<CRB'#[=O6&L
MU9@ZO&6#/^8INKW PW/1XN<H6R\B.4,ER*JNX^VC*,=AH,MX3>NE(+4W7K1,
MFQ14.+6:>IAR*R\*UA:S/4?2^_H&T?398AH3='HW@! "\P9][N!>%QMV/*QB
M=!<")0CWH8YS,=:ND_?K^:A,2@SR20EH-^W'8T#B,K8GR4^8=!@&@)OWHZN3
MW*T4OJ%2VB -A^VZ3;A/AQREV0(W1![#WMA?@:;0*<D+\0?2QC:.+,VCC(E%
M1D9HL9T=F""1HK!Y7H: 1NW9"&F3_HHR D9)(P!QW]I1$]S/O'K.XZL,D+\0
MON-K)D;J.5EU#FK(ALW$@!D.$Z9Y! AC>-?6P9D80#$,3Z94;!3_8TUZ7:ZS
M.35'O<]U<U&Z^IAOOO!JMCC<M[<8,L.1&9:0N6@ZFBJN6 X'<SR ,Q_.)O;H
M*UH4MI46BC3_[T?I;5S)'N;$ +"3H2UF("E[L5=8Q$H['[H&XS-=@IS_0G7Z
M28/>!C.:,)O+D2KK)JX9.M@ QJF]*I0!UE"(Y;6SLF>=W4S*NM8#Z'F=9T_0
MJ%SA+ISERV52$>SHF3@=/>7%9K:XJKA^(NZ0Q:8H8N:>H*GA'N) ^6R!U'4V
MPE:=0RD+_K,!F9&!C]GBIDBR>;**TEFA[K(.K5@5C$Z $[KJ$QMJ1^5KX8E-
M\H/N+XKC\=O &>M<[$*49"H47AG=U4W>1.9%4R+Y2IQXQ"$.)D>6^X]$J)#7
M?2Z+ .IA7A/B[7*>4_!48M.6?-@>$?!C5;XQ>&U0;*#KF:,KMC@K-2_O\Q\A
M_CJF7!.1@'G3*I<2[M8[X1WH+-+;D-'+[N(W@G_>!HA6UFYZ:M^(>]-SDU.U
MD<]KL=HE&%,\OP<[U)Q!Q0-!26O+!"9]4#&#V#_7QB@I&&65JY(T*YTW2@KV
M$J7^VKR'-)5=QW^TAA+G5$*RZ;2D0:D+D0EW&]--<"<]74OOO^+U,DDYM1_H
M5K(+=&0?@S$+W5";&T!R4PQF(8_:0$\$:CEO^;55KE!>)QF'$]+!ITL'_-3N
M60'Y3O:_*?N]>HZ@4--^Z6\@ Q[3_)]%A[28>VAI,1N!TWU!I- VR]K2!+&>
M!%)5A:Y6C2NF)(NU!7_6\5K_QBU55:6M$YG)#CA@^ O?V+E]JZG.:*:"V2E=
MIO3S&]\H9YZ4:VEZMW, _7:*,Q\'*@98BW/J'2UT%-[+$B]1']/D*3H(;;+>
M/JZ>(<\BQ1%[!!B>+#=,_<YA[S90;I&E.TUCS8G=Y\SBQ2QFQZWZSKH_7+SW
M&?]PA6ZRD.1T\SGZ1UZH:I'R=*,O=^[X$T5I^J[Y4_4VCQN&S'5!#0)MFLLE
M)<"@!8&A[-3:?E<5&YT)-X1#?0].*V$HRU? 8MRB@CM^G&KG25D5R>,:?^,7
M [ .3RP.%7@S4W;I5JGAF+'[/)(+U*.R'S7L(_+=^K'RV:$1ES>-SB13*^]S
M.._/%E37+.=PURU-,[&;W>"9'VX)J62YD*S\;F1^U%415JVFRI45>Q;0A^Y&
MLJ9=L3A"+;=S)-XRKNR$/>ILB$>_%_S>C6#2'MYH DX)#B'T/Q,_20#BO4BB
M%*O&H[3?&A#%@57 @D7$P^\'[$$K%7A0VB!I)FGK/-Q0E3L>%'3B!(U:>F[H
MF:88J^FGA6>:LARH>>[9V4EF.:5 5HI2A6G+V4EF)Y-'&3D82H-<CV_Y/'_*
M,+S_>9U6R0K*EM($@-R%CVR'M;K&&=59PN(X88KG26R8NL&TD+'%<#9Q*S&W
M#*/MPL['8)>[]6J5)@>[:3<%7T5)S!29L8KKWBP^9(#B(_P+C;V!N65C%;Z6
M4&-)'#3KK]9N0AQOL:@%R_TIG[V?[,ZMGA.*$][W:Y31XU9]&_2;>^X^J?3"
M;<W"-^K4G6@-7?NTN[X2QYD BT!7#>2T(V\B(-)39\M; 8TMX2?LWF> P]$!
M$"<+_LRS4FQ@!#AILAID6?*G*,D@P6&66:D015**7YUC;2A=>G>L-IF=74WV
M2::;-!5.@XCL'0CY@ZXE-^GV$Q8MQ%P/49 R%J/:G[9EKR>T$^2+_,"$ Y/H
M^BA3>5=%WQA?+/C<;[<"898"%LFK3(4(I8?5RW%(48>4F5@%/V7 P>\)J6>]
MY,>A];G*F [F*I<TR"FJ9[T<%+D=ROD-*A#4@_A();?K9 XPN],LMH KW?/&
MO]X.+UZ_R:SUQI73$J!2)0-,_DI)%KQ_L%$KH8M= MWU&COC0B&:W1D7<G39
MD]!0? ?>88D"V5-%IC0W_25(?HAE9&.DU@YO__)7GQ#2#FY)8MT8_H_A\[R(
M>?P@]C=9&1"E*CG<7/SB+=[!P0ABP1P>NLC$NNR65YH!8@_^E':C#6/3' Y*
MPF]8%WRVL/L>RFN$,RC3Q\R61ZOK8=?D_,8FD5:&EO^L??R>S>TUGON1=Y0"
M(MYEFG^]RC#SP#+&?4Y5!=UNL&O;AGV)75IB$&;B0@@BG!TMB7WO0H=1OTO_
M,"92TT299K9@-GL"4@0!F"6!?0TIJS\H'R+89<8PQFK+B'B#Q2IEL5!]7\1*
M\YADTA9JG[R*A:S) @M'**E -7Z!_LWF'"U^)SZ@N*=CNFRQ%R[&,!(;R&],
MMPFRQ)E8#A6S)9(Y)KI-$/7]MB#)I5B3$#&;^B=7;\U;8F]>'%[\W;,XH(M/
MY997ZR+SMX0#*X:;I89$8Q%(PG#6T0-2%K&:@S#!EO" )JHOX0>:)F!.VX#&
M:D6_A\^)FDNS=4D+M>K%P"ZA" AZHN.C]W>WU&?;<ZZ-K$TV"#SEYR1+ENOE
MYP@ Y:H-Q;>ZIE )-@0D986RV)(XL:5DQ2@]Q7,.E2>-Y0>"FF(=NL6 20Y,
ML?!<?^154:?;LAY71UM)WSM$*&&\E0KZFCI)=(,<+!6Z]T1UIC@.+9SJQ#95
M MU8]*31-G9BJ0#(0]23]M(KN0XD'P9BQ.QU=@C .I&?;K:V0]QL")3-R%OB
M/<G]<Y3-:-OZDN-WSN/:_>PG0;HZ%]L8[&*XB?402K"%=^()CQO6&'( %29,
MXMQ96MC%=E*1"=.J--Q_HSKLW-V6_SUJ^V35/K1;]5*7.;.H(AL/ #)VO&8V
M>;MO-7)89+*M8@+0F:R<IOE7$*'/ @E-G6GRQZ1A(WK+M3C"_\'2+/*M&;J,
M.Y)N#HT0UPX"BL-))*=KK#*-"N_77AZTD]-R=_Y4J/"W!_UL'VSWT/W!?ZEZ
MB67ILL7JX07ZI2PJ5X3&+OAV<#.G/K+0N4)KPP-IH\(9)5PO695YL\5M4OYR
MNH'_7HJ9EA=]A9KP<MRM H1B2L%G@G63XB^,. Y8,.G1'*WW <E3EBR2.7BJ
M<F.W4-A+V9[4YVD)5QUT@OK,"2)?_39$$E!WV>5<=63VGNB#_;K7<2)FU364
M5A^.?R6I,$5FQ!([X8! 8EL!C5IW5+&>]YG5:[=%I<J5N6R+:EUDL7>_^?&G
MR>\__ X?^\U__3CY_>__"T+(D9,.O/GA*,V1NI:P;Z%,L]B J<,F26+W,?&Q
M?DS4ASPKV@][_QQNB'FQ_#!<9,2Z8K"$FS E'@:N?SV&=="JE DPFOTNR=B&
M1T7I_5MJ0V#JM!VUHU"%*HCK5ZV]H**"Z:; ,!5:+P%-]->G0X-MZJZCQ&'"
M_G<=B<6/-!?;G_@G_(+^;>6!#-/0PYM9'$PE305\W7Q=E=!*"8Y"$F,I%_R\
MHUH;W*A*./0'1?1:@** WH3]YOUOWW^ S9P">?_#/GS\S\G[]^^5DM&Z>LX+
M2.?X'Y;E+KP4^1"68:**G8NC 'P:[,</$_;Q_<<?\2'QEX]'8*FT;J0[,A(2
MFTC8,/^@B'?+*$U5=DTW,$<DQ12MD8O> .D87/YGGJ;@+$39IJ/E@1*3I,8M
M>)/=0TBOOER"[)PM9BK8I/">#AP!H@>KMJ:HD:Z.1A=[4(Q")AY7$EW?^IAD
M"VA2V.%ZVA!B0,GS];3$7,P7284>_H&%O%LXF4!09J/)9O2^,3&[JJ#W-!0=
M*?DNLNY)\EK;P"W+>Q8?( QUO6@OX48":C1=P7Q/G1XTT+,'(29-MZH@!8:]
M:.#.HB'44"G/5QDV?RS+6UZ* __\V2W^PMO=KI@_*KLZ 5A,9,8*R6VK;!!!
M)CR# WE474?QI,I7@(1**BLN6U5_4Y]((-XU=L.X>J1/]AMI[UTVEZLTWW!^
M1]6HS;DO.F^%$H[QDM'^/=Q@?LFKO_+*U!$82O12/1?&3R69E;6EL[V^S=,U
M'G2),[1^*BOQ7,4VO+(J'[!AW=J_<W8T)J]C#^@2D;D=70[3V)>&^C(O3(,L
M\;<RB3G=IVJ@0O)8Q1/3>96\=+YXL=J$J599XKO,YPE>IWQ-JF?VJ"IJ(OBZ
MP[1^"6H/Y4Y(_:&HW3*+PU9?P&PF3'-FAK5?ST/'_@ &$X-;:*#R[>>XV@Y]
MRU<%MO(NL4Y_Y009*<>B>HXJ,1_$^?N1LP74],=PV0*/TX4=7KW)8O^(N=T*
M3*D_&-?>!)"X9Y>S/[.IF6+L@]"P%&>\Q'GC<;'H6YOVN/(_\D2,S=8XP<*X
M3"I980F3P*NJ?186ON+Y=((%N;G]/]%R]3_GG@'2QFX3^7%X*< 4B^W)EA\=
MN7[TK]7NM;5<VW]NV]_R;A+;_C1E:6M7]K=3+B)I_ST<>F^KN &U '1[N*3&
M&Q"[9PG"3]$/Q&IX'WW[67@NSX1@=3C$J&*G;ES<1BVR\[7\(6QLD)1M,_Y>
M#.(@?MP]P!1 K ::+O+:3<)RR;LX\!R?>4H0057T+42:Z7*U%I)"E<*JAPP"
MHL8TN8"I [THXGKY@VES$150W%*JAD)=LV(5/=,A*0@>1N_J.#<IXM.ASII!
MNCXI0%=8$E2;$7VNF<:R>W)7='F%&HMGR+GJ9J+VE@V+%"//6%]>E-6KA%02
MJ)N6+::K@&9P3#HV%N0$TB0JP1N"/V"I>HE23LWXS%9WGRSY.<<NHB4AZ_?<
M%@&096!?0[PB;J3 'Q;&*:B$(,+_(4G8"H7P/)<'L(Z:Z6 ,"%SC7RSN^$/+
M50(!F)) M5\(WH5A $,Y^ZU@/-DV5;3#5+XW+D JN$Y>Q)$$/?[3S2>>/Q71
MZCF93P'5LA=T%&!R@ES4P>YQPPPCAIP&J%+QJWQ;@0J"0[QBC0#.I-@,YDF4
MWD2KCOTP#"V&Q$)ZQ-V5J/G#2I-54$WJ10+08Y8*'3I68#: <QO: 0HP3<Z7
M<!3$,Z7\XSK)^*$)_S+K2U*:J+\PH,EFF3<GN5==&M+8@BND*P_$/E3*(BUQ
MYNBT&*A:KU.>S9^74?%+L&^H%RW<[AQN]#LH7O7/$=SN5N7%-UB02A[;J.H'
MY0O7*\XE \85!Q8C"XDV12G6GBO/>U=2SD*MG*;,B+0$F/(+7.))-Z?H?&OT
MO&^VC;ZSKCTR^+I=3A)1PTG"*<\R;(Y67R<QAOR_A<$FB8,IN%<^ANR+3)7;
M^JZ )C%>+EYW;-CU:F*+A >(Y=Q8)17U@E!I*T%[5 UL,^=$@89[W+/L\;&I
M[-%Y#;.#0MKR<Y2M%\+WQ&6QR[6[0\CO57M_LMM#>;HN8IZ)\5DZF@3),)H*
MWS-.TC7D8YA.+I0\QN/+(E_2)8&<S_4X]^FFF4"'W'N;H-5+)Q!$W(CLX6P4
MS48)TB=.8FM++(V[9\XKL_N5G>%,;/ANA=>!3*S-O@QZF>-3:^>[=[2%>95G
M(<I^7!1'59<*>$BVC]JM)8ZLT 4()#A0B-T[6WLOH?>CF)RH-<C*B2E#1C K
MYWSA?X8^EOR?:R'&Q8NL=CK/EU%R*-Z)H<>0H*QZ(IKCA>5L0CY 9*&"<WOT
M);[O^  F"*1)2.M.IHD"1OZU6M[)+!%D3Q9@H\1>528*)MMW8=B<\[B$C?\+
MI)^K_-^'U:(0_U"8Z?TFVIKF6EF>G<Q-TO&:N!I8^20CQZ2YFY:38AN5++(F
M[-S.7_9>%^C%B/+[5.09T(?PMIVF+5FH#])S$JXG19VDD%=F1('P9O[C0=07
M\D[,8)Q/"G*J4]$M4&2:I(:Q"N3Z]ZA1K3U@LUI>IZ(,5LL9=Q:M*%IROA;+
M\U]Y5-Q_S3NO610.5_4A\VBE%JYXC9TK 2F(55]SOZN+!TUK=QEJ,Q>T5= )
MV@U?90SH,\'@V!2TY^?']Q]_YU7^ARS!5%0Q_R&UN9HM?LZ+%'*@SYZ3+.JE
M6IEXT$=6_@=P@=T3^5#@$#CYG8=>U)0ST5$/<T6@PH34FRKUPEQ,>5'3O79[
M^.W=;__C-O_9C-P1J^94$PZDF.K?J7Q!2 B\2-?"@>;?^A@P1>M8M:EWY5&M
M:[7OC,FJBH?G/CR]:R?7$-U<5FOULZW5L8Z=DTBA=-'TRW#I!]Z/TM&W8PMB
MD,2_5LOO%\3P:R/\Z&P]>55>0VW6!VC**?[\>"_,5"YX04YEQY73;K)!5]LI
M,J,VKL".59*?/"OX74P]:BZ_*_>C (V)"75G18T5'\\X"[X5MJ>SHD0-VF42
M T1?<) 9CK<W#,6M4 MD?D'5<[4N5,?R$@O=H.8-;ECZJ(7742;4LXPHEW>!
M3%DAN:IJMT0R#E+'[MT2C7$V8$5E[F@!Q0W+'\6/%<,0I>_>#5 #]WI]'DR:
M)X+OG1!N;:#A0EE]RO-X5L@TE8MOE=@5D\>47R?EH0L=4)T :%&\GE=X@)'4
MV=\,?7:1B6^&8LK>/2XOVKKIX/NH#%R\ZVK* \X3*!1Y7(.).]WY614'-LU@
MMWY]JF2/6HM>GBOMK$)].4E*W?W\[/S/=!6PYO%,G)RM9R%^U[FB\L1&Y"@E
M=]W[0&S%0@ V5Q*P7(C@@'A G-9WM65 ^^@%RT%34UQU,WCAH)VQ<_9GIGDS
M8.Z\!.R_'\.X:UL?L^:HCG:JE<%Y\@)8%S$<[<9WFM8-%Y28>)C^U1FZL0=%
MK$RR27CJ/^-]9_ETM[HLMPQ>49]8)>+^:[.\ZED'DQN+LE!\":U,()NK(T@T
M5K5B2W,@-@F!%&W:!P#",&!#'(HZSB&7#2^FWP&9'R"=30%&WN0%+685>4]8
MEBLV!*@<A*',TQ0>4R&R\2I;!]-(<W^P_#U(:S4T['-\ G4WW^K]JGY >O39
MV5;_D$@?F6;VK-2:R,B!]^6/"P6XQON_!K@FO0RK]*3S-0?W\C)YZ:3;Q_<?
M?W_L^JBE'ME,K!8-R&EBXWZ*#_ 1<D42X=QA7@CP\QOL33*(+:$HM]"$=K9X
M*&7D%V(778/Y1)ZEI&H!'$[RQ<FZU-']$XQK>8[A]ZRE"MQ+[9 N0\(0MWPH
M=2 ?B!^59NZ%T_9HS7TKI)M:765V+D4_[4]UZZXD8TX^C.=>J'WJ).>>T>6J
MIDN86_A>=:KE[@351A]?>9'P\LSMJM5IB(@B.V.U_EK'J))3-JKT"J6'#A!<
M9:NUO)'\V&EH3.0$G&(@.J&K5O;Q&+6R1R>T&O)NHV.[%;H?.0J9:S=Y*+B\
M)YS@U>51:%%#*0D\  "'4&T^\^HYCTVCK(-[_R$U1N281>](U""TE(M, 2)>
M$.K[(]5V'I428M,N*JG&*7]*LNSX-''BQC2UEC2U$M/337B0:PB5E'F:Q'C=
M\:)ZR^KT+(Z@3-YW>8D+!_?8S9V! 9X0 SO-O\9,G&B.<7>$JSLX(-W6/ACN
MO>U_$Z18]1Q!G97]$N'W^7>,!C=9(["?.#NVVI#0,.LB.5:UA?)M29F)*R,7
M^K;1R9W)-U&*P 4'QO^W4JI5J-^Z8*PGSRB>OA.LO2JN(D9:X5NC\)U46.5,
M*5X![S_<$OFSJ"@VT"2G2PKD39%D\V05I8CSSK,D+\0?\W6ANL:GN5@K%M%<
M0A >DXJNIR6+OT*56/:IB).]J0<E"M+YJQ;;FCU649)!]/SBV_P95L#+O+!C
M8?K;.;1N3\6^=#"/*9ZP]2NNV(/ #0-JSM^-2>QQ=P*ZWC[#LJC4Z4;GY'6X
M96U,O_-ZR=J7 DUG34N+0:_U#0ALG[=7.NU5 <R^^\U/D_]^_Y^H]F]^_#!Y
M_[O?P3X8:2\ NX/]<*2FT*[S*^D--N;ND:KJ[H.OC;O?IJ5EQ847W<^M@B+F
MN;-L)Y'E-%-$ O4![B2RBW$92&[ 9Y;0:)L/'Q_OD^K@TS"^"Q/ZP\=WCS\H
MP#5O7D$?DCL.7ECQ<<+\1490G+Z8^HAE-5CO^,4J/BZ C7VL7%GMU_U^U]YT
MEM-0Z^HV&[4RF&6K>?_-@;RI:L_;MXVM5WVOLCET@.#GG/Z$YGQ\%26QQ*.%
M&!-&PLXD3C]>L4N#W BOYH"&L[69KD1@L92!&J6C%(Q+,="UHDZKRNF2M_VV
MB^4]J#*$N>1'HLVD>%-S=3*38H\!.(I<2@E4EH?ZF*00WYV5W%/(OI,'B]L<
M)]W[C6I>\.0I^P1U!AE\!1#]Z'9/3!29(8F)NN'NB/O3R#G%2[6>C%J/>1:'
M2[:@:Q4#0MMID.0=C8WS>U1J--PWF8NF<,I@D$B=_=91"B&^+JGMN(Y:]!C&
M#,,DM_>EBYM8T:20WR0KE2LJ%G4[E">S4F>/:?(4]=%2T22EPG*^L(-\&IPM
M-]P\I\MYTUI.3:,M;.EN^%:56%E<CE19-][RQA'VCGZ?9WSS.2I^X16TFB^G
M^FZB2\\6I,J(+$.Z$Q8!Z!Z1]MNRQ9-J]A)$^BU)OP40]XN*0/."\*COO^:]
M9!K)N2:;Z BJ88)1_>A2!_20RLAV1]YQ*OM1(OT>1L+%LV77$?2@OH>,$G$R
M0HKLQP\3]O']C^_#-1.D ] EA[!#BOG+8E4'K-;T/OHF#VBG/..+I&M3/G4"
ME;PFE"V-:SORFV"QDV3)WDFF/X0L"0U@#*="E/C](5C:+IVL/XL=%-(49MDM
M' , P/\T*I/./2WL#&499E"L&,;O)#.&W 9H?.K;#LYY51L#T:+(3X(6FZ];
MQC_BLSJI0>WNF9CE3WF1_ LWB$[+\Y5]! R$IS*-_[&6/"_SX@O_.IW/(;L#
M^EX4>2;^.I?9<1UZ\VB2L&9E<53$)7M800YEJ/X\/K5TKJW:5?6MXQ=>0=LY
MH0_ '<2GFX<24D-H4L%I8UXE+TD/26J0\([M]A0KP*QX!]Q8DOW -$-F. ;<
MA/R;P85I5\I&FJY?M.$[$QD\A0!>/T#8O[W[[59HT#/P=3^*R#GYP.[LB.UI
MD-!FGWK4 9^'"]0Z?MN?UD52QLF\\]Y6<U:93?A857,RNE&_@'5 X@!:;6X$
M@4HH!#'DE?)(.N&[(3P)M9F_%\(A5ATE0X;R2#SHYL1TVQ0,W7VK0]G%5N.M
M$*G_IH+BO%@_R=1$606'[ _V^VN;D2Z.$'Y_+%C!]3VF0<J\,;_[DC\UU>!9
MM1_ @M4J"AF=ZT*T+O2L<&/%2]ZL=8 V/;5+='#=LBHO>L@A>*>H_@#)%A;A
MX]#J)](JXT]P<6]YMD>E10,>TNL#% CE:&=^[8'C=%,K(55]0:.J'@_]^./Q
MZN=4E[9KZ TVO%\-WY@"?E1*#0E0U:LB+5GK@38J'Y]2RZC(A*VH+/-Y@CE;
M<\G<^Y+?[\RSEOP]RBH"K?A+P1<BUC>1.,[T<]EMB#*D.L!5=[]ZN7B?6KD5
MD/9[(RDXP8GC2;B]\L.^R],W-WFN7PYKJN#FRJ^,E8*PYTOB?K21LZQ=BS!I
M,;Z0Z4P^S,#8=/UK*D>N!C0X##Y=_]H-CE"'*%K0"X3'=DMXK%PH\9<SA6$-
M*UC)X\MUFO: TD_@80ER9C'UBI>9)UC,4+(2G\B)/>.*/UL( 0) ](>SC(XC
M@[[$D1%+E<Y"3"7@FF3+-%\&C/U#\P<P2*-OI\E-I!W\']H)\D:F=4"6>K>+
M-(6@0_2.0/RT)KDD-<%Z@2.0WXV4-"D1# /ZL3(9]=.7*$DA[GB9%P!]\I 5
M/$J3?XFIGI?E35XFV&1@+A;*-5::=$7-QO(.PW_"M 0GB[PX 1DFS$C!@!]3
M<HBGC23XJ^_7:*D7>WV'AJKAORB6"!V"\$6E*5Q),M4N11Q\UL9J@#K/5MIJ
M3P7\V_K]L_#'T9<5/P^#CA/*B(W[V[^-V,6(]]9R]SU8$EV<Q]<;SSS6&\^X
MSA=8X6<.)PH>3\5'*XZ\MQPNF(4FM5*B#\/U_)F9)C]:Z@E3<C,I.-.2!RM8
M.J+1<!L#O=V,U\G";^7X.4^CC3@S%-%74/ ZC[)>$N4E70:$J1P/2'MNL]JG
M,NE./8*5,/2I4NV0KU2+034#?>>SM,2.YN89'DOIU#A;5R7DK8KYWR%&+98W
MI*G.HF(-,W2/2:=Z?%HH5I)B,OR2'Z=>KH-J:W:L&FUC$;\Z$2?,P!6?AH$K
M[E]C<_^_A[X293J0LKUV![Q-RE\N"\Y5H&*<;1A!2@9BZC9:Q]>'L0]+NQ'[
M\I>3!=A$HV078[8)X3$8!-42L56@SE"ZJ^*\MN )8/&6-7?UDR!>G0OEM%V'
MFZ(25L+2P\;@UF<*2YD&9Q@58J"1->7_/7)[@*T 'PC&;YD4[?B"2T=4D8&]
M.J[*6^W%5=48P'YOE;K)++\A@U<<Y(#036;7(3/GFS"HC4MH#4D%C+,%XD>+
M[0!<!+BM!7@I!=EFX.;Q-YTN?"0+O+TE3"F-V&;8T&\G #DM1"S]H6>'-82<
MHC8_3(R&R+HVS)DVC(;NLPR#O_T^K%%'5ZU9)0:K)&^8+GX7)\+?WX!;-,N^
M<)4JWQ6V;[E*$TC-(^KH(K%U2?B%BT2H*_8R!,Q=">%@GZ<]Q#1"F$-)YB+-
MOQZ'_O(3D-3036:S#+LI><ZT[%,+Q]&UARYZBA+AB$#MRC^H#3F,G4J\]%[O
MK,N0=14R%2%_?/_AI_<?NB$*[ZCF!O(G[S\$JX/SHJ=3SWUWQG[_._^MU62/
MD3G<O4_GPH^5MS]/XMR$T"EYFLPW]-^^ZJPD.Q89?F+:2H9LA;Q\-U7QJ["<
ML4I1BP_3C!CQ4'\$*[ORK;M3\[C+ +Z_43A-T0DN%9L3[.'D.I2\>.'EF3C)
M/<$%)7@.4.U)^2>'GILOSIBJ-)NP#Q]/WO\T85H 9B20;A7),&'3.$[D@9@$
M@ET7),+G+L*D) 4QE!/1)I+LW5G!8SBN_H#MAJ"2F<#A%JIU=9YY_1;.\DP<
M@$KT,Z&V-8F3J-B4].,*2G2_Y!7@XW7MNV488=<AS>K_0A*I9L8RP0T@\H#=
M.V#-/OSHK=V$?PO4UOT#C.!W&_"J?+HU\K,%L[@PBPW#L9:,_+J?Y A^@C2*
MRR)?-M7#7'R;IVL(V$/FM/A??!]]ZSCTJL28TC>P^F?N%,S,)6_&%7-,LB[Q
M(!)]\WRR"&04=?20QD!^#!CJ*W_VLUT]Q#13IK@"UMIW80M[=21#>"[9DSWL
M'XO\$\].>?(/(7\OL4E%DTFB?N=J+QK(B8BTF"5ZF.-&+RJXG<+<$0BCQE4V
M%Q^#F/J\O$XR?B6<EQYZ* B2L. )3U$0X2P!JMZ;(7360TXH*3_28G\#:@S)
MC7\@W)* P%ITOH Z3TJ,1\""37# -X4X>MT(7L^ ;S#HG;42CK9]B9B,\DV8
MDA"O^GY-YG7Z7"@C0$LR.R5&YOI$%8NE! '*HZ$$4_;+2<I?.N,Z.10I3P%H
M!D-UZE&CVH&N22W?QY7VVO4ZE@GZ;H13B]<D*4UVV;&E^TFNP7>?B"U+%[LG
M&@(EUA HY/=+..'*2&4:NW@_[PUE0/,U-/GYIOWR=GL@.A](HUF2F!Y!WZO-
MMB&7YQO' E$0"\@3D=P0SJ+582V-6T[$JB'"/%K)_L9!SKI=M:D=9=66+^BQ
MJ=<NS7TJX5RBM8[',6A22^. JANE20@4+;$HZ.@M8%S"%._D-4@7W(2$%=5@
M?D.O6C6<+K95&]S]+=O\7YG%ACECY55&E>6U1#95!XZ>L<?#1KEOT1))"W5E
M)&]#2IR2F4XCOV+[N\$XP:4Q@] U%^!!^.WD>02&<]==;;%(6FQA<B[AQL.!
MS'@B._MLTGLN70XXF1Q:_B1)>#W==)75J3L+(7!95'^??<T$V^=DU:%!@:81
MJ!T!.LL$'<_[:"'X)<\*'G.^Q++>+V=7P1)P^M DU4I  ]\\36),Z]-4)S)Q
M/5B+Q\6" Y@_UP%-R!*[Y4*ZN3ANX:KW*4FK1 )E'=K#4K%A)M!):7 N*[&%
M7EW?7TV89'?LZCN;7)H_"A<Y$<<Q"<6=YE]/(.X.O22 _=%JVXAB,+R^^[?'
MZ *I EF<F(^ZLEN$K%6+D"1@UPS_BJ=&YS>V1?$/.$& GV)6$_J:^ OE^B!J
MXR(OP#LKNT32-*8HK%[$A!J1$1_F,)KX#1.%4-M>O60]E5!V3LK.;?+^FUD(
M-];VQ*%A0K<>'4W'.>M^*5R;CMXT<W ?EJLTWW N#P K==VS$M3]MU<!7_66
M*Z8Z^_(,PDR\P&;I7Z)EUTL>0XP!M6!AFEOM?MX4\NO#4>P^:H8RTZ0EQA\1
M/R[5TE>U"M.1TVGST!7VUNW/(5&E=7T.3D?/ +B=U)%C$J@C10\".[?6>Q@_
MX(:K[J2$=].;6V'1#.]!'*Q0XP$@B/3>"ZC!<:8@WK'4MZ,3+B/0OT;S-TY&
MJTP]#&9LRQE,-G?U?P;3C *>P?SI_(8#]T(K[O_ #5'DBZP2,_DR27DA^^,>
MVB.%*#$DQ12MD8ON'#I"RJ\O39>K*"E@"9DMK*;"G:Y+-4FX0DDTT2-1);6V
M7]HA[OERE1=1(;80H]HUHE=.F,4I6..&^X0+CX.*B,7G><OG/'GI6O#D]G*H
MD(6L,0>TST(S.3XUTR8-B3K3Y-GM$6NXL[O(CK'T#AO8^2;XXMLJH9S-H\EC
ML$3^GI(9/(^$B[LJ6(TBHT&5*]2Z#DHT@5(6 $(6I40XN8%3=/>B$LHD58FX
M,(TBR5(56M+Q/6#DQ+L5Y+>XG5![E3'%2I5<4I*M0KNY\1FZ"*.\ R7Q^E#[
M7BTD\./=,^?]Y >JCHQ(,7QR8'_ZV /5K)1?\##(IE[P M>_^V+-'U9=D=HD
M17$@A"6U$C39>N49MJV[%G)>:>EI0P!:[&$U=N'M2=1L_R#I.. )%/Q9. ,Z
MK0'.-9=Y(?;=3&7P6Z!=TRRVRP3B?ZSI[/.%BT/7X?75=-ARI%&I+N] H!\P
M.@<R,;>L0&)Y05F!4VBA!9L@3!2X^_ZJL,=ETAJZ)!IMKHSFE/!H5MXC6^.P
MC)OZ^6_;M$4(PWR-@9H?_24J$O"A(%>K0]ZG(D-I=V%R/[N*;J\$COP!L-;$
M)A9;]V&RQ&SZ6&)IVN%X<D#7O>53A79_4\0#%'WG107 J]VCC$CJ!$%< P02
M^U3 GERD!?:C2(Y,"VO9:QX+S\L4=8*4.&2SA;SBV<P6NF)3(:?FT/EIMKA$
M"$^9#5#>PS?=%\J?$@,6:'GYLX&_ZQIA@Z.:4S<H RFJX"H]]Q =R%#J:U4&
MFBW4M> &_FZ*@37\;LY "O@ER:%214KV-Q2%A0(/',IDSOI@3:RI-;&V[59)
MN^5;=O.?NX5\()W[*4.$O\_KM$I6*3_G:0+11V$-.UIZW^$F0I6N6MPF3/$[
MB0U#-_Y,4R= AEX(4S25\EHLM3G8^<#F^))GN6I436YP-^1)FY[VJR5);]"!
MO2O3V)&7"A,,.(3ZP3O9JA>.#AGW?A/<GY)VWL2N80O6R76O=/40"?I'JJH3
M>!LH'=^7:DZCXC?56@29O&?1*A%L\).)J;6*^(S@]!:?KJLO>?577MU$R:&)
M@I(\L^DSQ8 ]KBN [&0;0+(23(Y5V:;;AZ;+05B"(WE<3LUQV?;@58%!"=[6
MJH#%37AB\"+_YSI9^4S9H:81)-Y-D2^2"B]QY5&^:U,(J?8*"1,DE\(P\GL\
MZ4VC6KR#"-)%MXIW'(<B;M.#;U&\+L4PN4,CIN(4(C?_CV=\'OG^,*W8T<$8
M\9K"B(6U=P-"ETG]RXV3YW/T+5FNEPHH/4KI)'<F'DSF47K+GZ!)=5YLIAFD
MHBPAH2-*/R>I\"#S3 'K= 7FE%*P2(NANY](0<1:J"3!56^N96%+)8R&Y/&[
M< QD,CFAE:D,>W7X5@(P(P&"F!D9F!9"I4-]EY/+O3IZ?6Y-K,DU>7UVC:%T
M75[I.$^<)^)%6/>%V-ZQ"]2=4OTY6XA101OT;;&FFUMH!62.G2DF'0/>/GL4
MNZ780SWBT>@XNXX@WD@G$8ILL;&$\A.[Q,(443&T0);::"C"H6(\OG1LC(+.
M%DQQD3I/!]$9:DB?\S06,E(]47<?H[1H_E\6BQDZ%WY>5%5%(DY@>#(1[IY"
M_QZ_AFH1PY<G;%I3Y";RZ8KWI\9VR^L[9Z!DA5RS>@,TO^Y+8]/R^DWZAFE^
M3;V=H!L#IQ(O?@V9I<:UP7^:K.O#RBCKG;R0WT26>7&6 H^)[<G@3QC7;!F9
MTG-[+]]F4&<WY".K^SA#TK;?2S\PS#S7@8;1W>GO=>CXAT"2@Q!97D"M507E
MC[<<7:EYYWM;39_9#*"<0[,(TLW-JZY-D'H[%/8,07W.7WB:HS]SQXN79 [5
M3?*R^>S/YX!1G61K'L_$R<IZMI<U[BP_B0U)5DK^=NQ3B(#MC% &E@LAF/U*
MB"4OL(U4E#QG%BFF^-J)"V?LS^R<:>X,V#LO!5@3 QO'[1/0S^P)4"UN$D4[
M%,$[F9VC%MK!L122PVEXW +7RNY'+[ ;Y@HF<MMU?<=TT9TW]@'S17O7KS'W
M0B==!$FQ4&R[I<)HX0/U33U4ZD9,%"T\'[?P#8M1W>Z!,@!.UV62B0/(.2_G
M1;*2=0RG49F4$'C#9O7HPW5U^!4C9G'"#P1YP7VWS2V([Q_.!DZ*RS/'0HXH
M\UXQ>E/D<\YC;$%Y599K.%Y>02Y?E-ZL']-D/H/(N%@".T*8(1.JB$TDFZTV
M7.LL%C[9]/XS!%J?BF@YH4 Z/29>@R+VHS5(VF0+Q8%)%HQX,,7$M[:?.!AZ
M]9S,SY.2PFHPM0^ON#$$F4TQ4.U-?^HX(-;-.@7HJ+;5$0J3P@!QJGMBAVZ1
M!?U_0S2\ZUN9M*;'5[O5UX3RYR8L6E2PJ*B.ZVR1%RJ=#GSMB>_,')^C:?D&
M/5DA1-W,Z3K]Y;Q8/TE@R\-@5MTS#Y!D0),IM,P@(*N]:%(+@Z$J,:BR(JI^
MXUF]J) >_R@X&9IU/3SGQF3KA?ARUP47+N7=>K5*-[.%2;OK95993-"C)C;@
M6AE&OI.E?*@I9YZMWM2H-[/5"S,9_:AIS\Y]AG)4K52P YLP!@"MI%8/:>^I
M2<@8;82LK>>A GE$*4E]6<C)6T'E*__X&=2YN5N=/M+ WM2!#@I@_R+F\0.T
M)%*7J*H_]$P<P9X(,JUK2$/Q80XCTX[;8A6PQ#28%9P)N5XN 8U3+%2S=256
M*4K7^))G)W/P25,"RV^PC&\SV)?X5NZVRCH]7W<-:3N)"Q-30#N!:ZE'CJ4M
M$W:9E+!*_95'!?L<B?4=DEW"Q;O]6<')D+1-X7]DHZ3X"[0%_"S8B0T3[QKS
M-)EOZ+]=/V^@SY !LSB(O06IL[_)/P-^TMXT=@:Q4>T #7%D*]?90J)KB]4J
M+W'=ZOB%FBZQ4,.NB#-%/>!G6 /G_+(&/VZV.$_2M?@IP;A;ZV>7F,$63"<Q
M Q,0'WNAGC I0J!;!\]V2+N8X,AU=W*.PFATSA\KT_< FN,L\1+%ND\YN/SY
ML;*:1$R8(3ZQ+Y*.4$,WQH6*)IH#*RP]8_]ZR@K#?ZX!XO<JPVN,LKSEI7!7
MYL_B\&*E\\C[R8-/ Y*+&-:3%?%ABA$>Y^RT)L7KF/7>*H65^B=&_\+6WTY;
M4A@-04K=FM46_S(57%M%6_W@W*OBK=O_$RU7_W..9K J ;>+LT)!WP]BF;1F
ME+:/ _YM%0%N5_V%@L\?Q$HMM:6CMM9V:=,^ :1^<;*$\[-OD&V H$5(R[3!
M8=6,<,JKKYQG&'!<X]RY%)MSX80<R7I8)J=MJWX<LL?*=9X]70OFL00QR4_Y
M>5*NA)\1SQ:')H0YO6. PPFRD!@F,LJAV(AGCE;A]HXY*6B=HM9XH>[7(5&3
M42R<T&)TN83B ! %HD?4^6&6=5TP@3950$OB; .QJ9P2L\3"& 8VL%\=:XL=
MK/A",9L\1>"( 1,<CE!)%Z4M0X@O:LJP/9R+I"@K.:B>JP.$\[S,@4]/CO)9
M#OXQD0SD"/>@A)R!9SG3I,*<8GJ0O59RL6U]KPK4XB(J20X1_<L;7F!DI(M*
MBL%)),-!N61!*/\E=JXIO7>N\:)G+>)UHB)>BCJU8BCA7C1 <QXO*M:6AY&,
MIH$E_A0E&:1;765XXU;F:1)#:KJ"^=:YXMA3L',[(L66O7N*H$DD5(4 [-C:
M8<Y>%,AXHE/CD;_OOD1AK*)<5&,-X(=9;]"AR&7)-."ZR;5'KL=MBI9""&T1
MB?>Y_]08)FE"5@^*#WA&A3E"5.]))(.FB?2A\1;<A^>R>+C7%0>LN5AMUD5O
M*.=$US><04^RRTE&])@A&*1DI5]57!2"$'?V"@15AE#T]R!=UE-"4.H*EML0
MH)$,V#O)PGM9K1]-G8MZHNQUJMUR*(F8P\4D5/$\9$D%#MPB7T*B![:E;'H$
M6N' :H2.GH1XN>75NLAZ27@U+'5Q45*AQR<%8X_8#;1H?@[B=!5A(UGRB:=!
M0+^KT$CLF:KH@;8/\F+(C!F!&'55;7D.FPJA'6VY& D6)B-W)/9T0C)W#Y"
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
MK*+/H1CJUI"E;(Q5QVH-N86&LHA;8RK-<MEBEJDT"QO,+-JS.-WHO_XQX06
M5F^N ;"ZPQ'#\C$T39P*7Z9_"734\*-?2X.:+26'Z*.TL;HH ;#K_7/!.UVB
M?7S_\;^.5A$U$_?JBH5@O,AFB-9)EP7_YYIG\\UY#G5KA^+T6_6(FB+[&]$<
MI"541[V<S@Q-RGF^QIO#_N\V$>@%-4I2KC?9\ P[UY\Z^N*5U)C6&AP$ 1?J
M41WGML :FI ZJ:](+7SWN<PDORGR%2_$BB@H0@N+"_'350<T%]UD0JQ^D@53
M/,09%KA,J'^ 8G2$*C=&AE6=50G'J97D@:KR(U:UX;CQ]B$.!/5A;_4:8Y9.
M6?UL[@9.EZ@>D4)N2%NJ(0[\P4II)79[AB' GY/J69U5K'26>1J59;)((*=%
M@S/)WW8&V2?.[*M@+<[*Q-O)9#+<868;""?YA&]$_F"643$191%@J4^.S$YW
M<BUB@+KD$]^+0=R#]2O3@/T'_(SRH%?1)D07I4\\?RJBU7,R/T\ XO%Q#7/Z
M,B]X\M0-%]-09C;I"9/$@_DE'E1T3M)2G7+]6"9Q$A6(-!/"CX0+:[$?7T9I
M\HMX_S!5W, MDH0D1$7TB#2IK<JD2F54\=R+IP\5TN,?!:<A6%T/GW4L %$K
M6Q1W"D7<\I>DE!?/-T62%W [EN1QL&C$P=<ZX!-7&]-BM=0I[+(4["_"1-BB
M$Q4:[KJ1!+5ZTI8,1660\VY*&DE<2'PA@7]UAF\\"Q*MB>R^[+^C>#[_Y:HL
MA9]ROL;^,U3WA\R_\*_XJVY),/+R;^NF<)W%8DI,[S_#"5#LX$M"&C]2E=77
M@ZH1=4;DY>Q6(SIA@@<]X5W5B^4JS3><RVQ_JSBI6UV#HGNB,OLMRA/?A0S>
ME'-2 J*-^%DJN^Q*Y.= >*S]*V9%8/8:.L]!%P(A@(R>_\<S/H]Z\0<M>I[Q
M'[H*+C\BI,.(4!@'L+/D3L::)7XHX!4,&5(F;(<+8(V>8I$+=/';DR+V.#1I
MXST?)2J?X?_@&+V(0P VJ58=). 7V-#:_H'U)(&EBHV1FM!&Z:<B7Z_@MB0I
M908TCSOWMP*F8CT#M%2+]\1NTT&/4,]KYX?N&UI>I@1F*#%=Q%@R,R/TKWD
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
M4!96V4)KI<(KK4?Z(#J**>S_7*$+Y,6A3\S_,IE[PT(Z6)A1#,4^/NZTNN2
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
MRL_^0Z*X=Q?AOTH1!P\EP;D9B#R0HH:HHM,/\O5CEK[3=8:7NV\Y9(_4N*6
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
MS(!"\0@7@'!)A3>."O:00@P=_^MED$=Z_)N#?  %R7BVMJ%J^Q#;W*B!D)"
M3A6"9/M#80Q-D01:= -;VK_YYZL@X9%L&0F(U2I\2BL*ZAJB.#)/9"M.]&(%
M@@JP=JX0LQ.B!)_J ZI<>_O?+\C#6M(7C.N!E9 *0">4HRVC;4R^;2'P.A4H
MFA?/WW[ZW8]_^MU/)BCX/0?T3Q)9C;<N.V "Q#&V]+\(!8^^ <_3$XOKU@W%
M'16\NH)T!J7?$OIG;(UB,3=!ED"-YT?",]-MD1"FMB@68DMD;*N BOI7Y77(
M9$>C_W>"L;VGR72MD(0 KG3W^/:W1K'K>C36GM@/I:5_?@E04PUH5<G;OR4A
M'+K*-46?+NG#Z<HT(P9!L7_*(PT>MK[:[,;6*!9S92O/4F>8707%<OUM6[,'
MB)OCKYP076[R(MK05Y R#7 "T"%E?KZ.*D?X+ KR*OA?"KRZ,='1TAS%<NX2
M5F8JS_4XG69CB5-'%$L4Q2Z*,DM8]$"%&6^Q!-F[H%B6'01?%)34+<ZI(XHE
M]@5$@9WEY7LZ)I9*=$6QS [:V165$*("_F3@M*;F_@4)I9BUA$)E*;PPUYZ<
M,W,7%+LT.A#5:G+=?U04Q-$@^8POM,2U;/4'X3H4$: Z.AYU J=*<@$[E)%M
M$,E0=(@>K /TCT3Z_HGXYW2R\$XK?8B^+0_DHWCY3N)W\I4*Q>NN@]"]Z\F=
M-$/0[<2?\'\Z9+6E="$!*,':GVOP=8TM4>P]\X$V"N_>)<NX#)GVF[&WJBBR
MZ+4LF,LHA0P>T 2ILL^!AE@LM36K<M(O^-_YOT2WT66TJ"P<)C!R0SL4N]ZV
ML8)G=ZG;/&U#%$N0-HB.M&RIPF'OXO]H,>:G0"/R>/"^P'*G7CCVS!P?IU>$
MC,W][]43>0.35YKM*M^NB1.8FZ+8%<W;;+6/VMK[WQ?E(M!#\_<@8V)%5=2#
M11/H5C>X,XJ]XQXB%J[5!])C:.I_QUKXD-&[P(1T1I3L]O"_*!8JIRW:::H
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
M\2]^F*$(>DHEFGOX7Y2#RQZ?EU[0E3Y'2_H3 ,: ST;\\26C3U+/CO3W1,(
M-AL(KP,X!*I,9.RA#9E_0-8G,NA<?=U0+(_G_RU6-Q]+5E;CB5D400>&_X>W
MYYU*G"RZ1_J3X0=>C$+Y!Z4E?9,Y?,)UE&_3/(B_9&FYA=@\R(EA,*XDK%%<
MM<J/]UFAV)SGZ"V)5O1:4*V6T>$N,96RHY2 H&^J)5"M/F? !%5Y%%9]\B$M
MY _:!_DPGT)!1HF6Q(5%851]2)-4JJ0&*#R7?B@6V*QY(*<-EX:S'7L"N'MO
M[ZD$5UP3H((_YQ!<VUVL+L*48RQI\@M<^J#8Q9O--DYWA(BP#[V3["%ED1"$
MER[.64R/^CL@!]/[]P]2U#E/?,6L0 3[)VCWHY;M'G4&*(ANU+8N=R_TPR81
MWZ&;?Q'MF211FHD8%%G6Y398BCPU$]2%2R\4>Z>/C>NZD5\-;F0>#@*[1UG[
MDB'MPC\MRB(O@@1DA99W^8F [0D4")$J1S4CH)#V,N&9'8K-TH.KZ6#]M;AK
MUC3S:89&0:96Y.>H-*@74^S^9(/[YVW5GG/[A"JU#$/='SL0BM,R9:JS:&*Y
M9X?[FG?!4N1$=)_$SH\H]GUT !7[#SPCE"TR^%^]=7:ZX5&0:\J#ZPC$?>!/
M^F? #/#D@NY\J,_\,#9"<2(DFQ?H2<+@2*E?8R#:+ *6;OYWIHDD](7*A(M$
MAD:;85"=>OE?G#%V[.TM(V]<[*MK %.-LS*= _H;3\0WFMFG'!S%,:>*/&4:
M?VE"_)EC3BS-,>R\I6+TO<[9.*";_^5=%)O'#-#W-4*(M@&* U9I7$I0H'8O
MG#J@6%*M)!D,X$^42]SRV*5^T+?QHR$CAO(*6 ,I;1U0+ G$L"PD  6:)B$S
M10;Q8YDMUU166;S&T1OC[M<E 98!SR QE2L=.10*,E193@PK,[\'W(S_<B@7
MUFV.8CD*)/]+>A%6FQ%$X5UR%6PCF?NJR:6E4DX>%=+JS6W5BJ':F*AVZ&^B
M(&RU\;H:0@)R-5PD5>4X+@QG\J\,(=!HD)IL<.\&A,7WA&3Y.MIV8QDU/Z/8
MV;W<Z?HXT\K)KCKNN85-&R1QU!GXE_$TQ>*$"FF0^?HZ^%]2,Q?M8D7UX[\&
M20EUIYKY9RPGS2FAS6T0_TOGZ2Z+%??7!#$W>+VDK#1$R$P?G94Z]/&_, YM
MJ]:JKD/TNXBGCEW\+^MKE( 9%]C((NNP'6Y_NV;Q@=+KJ?C:-"%Y>XR&@O_O
MFX5+M985B< G<A@D7/-G_)^E6PA;SE_6) NVI"RBI<F;;FJ(X@2(2$Q%YG(U
MA+KU]+]/ET$,'$F4#5>0;6O?7EVA32:/=S9QU"AHHKPI5WXN-L5-EJ7954HW
MAH&JW,9!@ZFY]? K9Q?;[)>KBX9LS?_)_T&K[1[L]0.>+V-+10F*OFJ= P=
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
M08!2D>R=Y%>4H;ZQ-!EZC^JJ KI='C60_UV_ @3.+&<L!2Q]41@%V2[G_UQ
MDM=#6A!1(J:SY8-Z^U^L8">L "Y'VNB:E3@2!W@+J,Y/_R]L%2'<:R#_)+B-
M7K/T"TDN2?0O.C?#(ZIMY7_R/"&$TI'H,7:,C5"PFM$"G"S( B>-1Q3P"N6B
M!.#UU *[P_=0$/1*+8("&H7=,6-I[O]H6RW<;8L^8SD\:(')>C'?61&0IN/2
M4XWMGU &R D3BVZW0W%P#3@@YJ-K[8!B2;W,)C=Q&Z&$,E4SOTNX";JEATK[
M,^-#HWC==)_W'H5\G2Y+Z4]6:='^S7OT?94]IPN[;_R(X@@S!L>#18@MKE37
M#L4";E8K B$NI!*!0)$&_,!D27D]NQ)?HKB(+#73AXZ!8N'N@3_[A0VA6&PG
M79K^X8K^/>(.Y%6:U641]/XA]_XH%LP,\2I;A\@:6VB1L;EWCOA$MD*(KDPC
M5R"5D&P;9,7N(=AHY-=!'5'LV!,)Z1Q!YW?-2[;W\"]U-J.$NC$0C9]1[(%R
MS17\:A>NT&Z.8CD']WZPDAA&J,XC?AX%N0UO(D_5&/NB:GI[%Z8Y*/IM%)-,
M!(0;BKHUFJ#8H[O--H@REBZSZLG4-S1%P%>5X+&7B% &5"6(4YF31.]:L[-3
M+Q1[M+=>>O.QC;C%RI]N/' ._D]5-P*V5>L>C%Q*JN:N<\(&CX#BM*EXV?U&
M)7-K_SLHT2/9@7K)2O)MV_7T=]N@V 6>%4RO6D;6 )0H=6F(K!/9M=S NMPI
MGOJ+)%3MK54*#P.5;/F@#OLE%$24Z>>L"+TASZG=!L7$N]6TK_K+S/1V0K&T
MYW6:%1!?TR-MZ-KY9REUVH<0/W>+50]6C<!U=<XGV6]@%'LLIB:*CK",K)(*
M5MN8/H5Q!*\]U!=49 =CWM"XD5 0X2%-4ID)P#FJ)?##V!C%4ARM?7L8"E$L
M\RK81D40,\J'/)3QCJ/<A)>E*"'[&$1:W=ZUKW\6)IX)!7SEJHL!9&^)8K>4
M=TZW(<K/_FDND-IE?<8@YBS\BK:+ED'\1-X@;R+-=E 9H$KI^AK%].5+$^E_
M[H:I3#0NBOUT<1H)>;31XCJB'>%4TI6-=4;UC8N"0+6(8,X.[L<8M/?%L5 P
MVD/M7)+EW/1I=-$T6OF_YQR=5\6BJ:\F^VMM!>F:B<>-X-WX*:,%X+U+LRW
M4X*U]HFPV[/4R[R#.OK?UQ[X^[]=7QG@[PV[O.=X*&XIU?1K0X'!@%\WP#%E
MDY1M!03IZX1B::W\5'W\5Z,)BFE?BFKTUR1?9M%66)886! \520'"SW\JQ5^
M:/@H*!:OEH*163AWH.4&\6/Y&D?+!4@@AOQ"Y\XHEJJOE6*RR9E;HUB,+A26
M*;?@LAR&I]KJYO^ENRSC7Q5$$T-HO[:5_\G7Q6$!%H@5 =TM5D_I1Q!2>@>F
MU;AU0W'T7)29!BR2DL@P5CDRC8>"(#S7P&+?;S1 ,66@;A:2\!LE92)E>YD7
MH8!66I^\P8.@6+H.X#LBN5*WQ":)N??&L5B9[BS@$)V2( =W1K'4*JE@L1+Q
M.?0P2E@0RXZZ]$.QP%:HPD,)+\)B=0TEM$GH! @Q< @4RVZ6*(#X2@Z]H C:
M>J-_;S?_P@)+,68%HI@HG4.!5D([K^E3IVC<$JE;8QT?U-__@H6Q6#]-EF8L
MK<4= [$EC&J245$<]MI&ZB(5F?VY4XR'@B!JP!\4MKNG*PB%%R^])%0WVZ8Y
M"1<KK;7!M;/_BR$WBIY5B(C?;(C M@60,AZ^MDBZ)]^MF__E74&AA4T*\S$R
M,TT;_Q-OO9C2H,%"M?)'DNEK3CCU\K^X.JSE2Q E8"*%\G"T5T[E.P#V"&5D
M4F6W8R'$G?6.'0@%B]%S1F']IKLFL!1;Z/_#>_O?;Z:UY) 5'Z<@T%L@4$PM
M4>R8#.@00/<5Y9L(][90$'M/_SM%19F",HM"9 ]!S4;@&ZMT ]HGBV_6-8&(
MR+0(8L9?A%_RB11E9@*9.M!W_!.P"8"JP$*JX%,=<CCU\K^X*LJR$":69U(4
M,7OW30$TNK:H[K(:G"7_3=Q*B3U$3QU;31 [AWGUCX2""&UPTQ;T*3]\D/:0
M%\RCI#4R#AS#_S%FJ55!%-()<TP+\,+'90CZK&)RHK)[R]IF+-FX]X@H3D.3
M"YG 5MF/1K37H6/X/PW:3!5@75)D-!1G=*MYYCP6BA,P&JM76M^9I@'%7"L
M6 M4PN&^AH*8WW(P?^1%M(&2USH"-%N@F'0EF?9(ZR[M42Q(QD?00_)*;QXO
MPL@BZNFC=!="C..*:8C\[9:63?#Y*6P:@'>E"<<6A3'=5_PS1J7H$7>[:&V@
MVE8H=GYTRKG(VE0<$I-GC$[S:>]P'#5F9Q+^+Y5JHQ4KXRPR/6N6<*\#&QPU
M@/]KH0=Z>  /#\2#1*]4!A:OOM'D.&(,%%>JPEYX(1L(6LUVM:D;K&_VT@E:
M>7&O$?V?!K<\-5.6R:#>*$Y =6%?R'*=1/\N+<FENI8H%D'Y2O#VEI$W 04N
M"*WE4JY]4"R,*15@%Z.7*$O?>5J@&33(TAS%<NR77]BZTS+7UV3Y\:>OM,4Z
M7V3@@R/9WJ5?]OP@"I)6\OI%6:Q3J+5NNK_ZEB@6<4'W(838D>B=U-O%\:))
MR/&D-]NR$%?U)LC Z% YP*SW?*JQ41"JBJ2J)2FM$<NE/8H%C1:L5<0;1;KF
M&&D\C&-20=[A>R@(*F2+ :XL>P\4BY*"$]S6FX^"9$D0RZCSG$7S-F(RK/Q@
M[%@H"%'=Y\M=]<>_1%21S);KW3W$*IFXOUM/'(O4&%1W2F LA*2\K#.BU3^<
M.^-8JB8R]C9CQ667.S-0D4,W#)H4KW[2"*(SN(\M;5'LDSQ +ZFP]!DSCW7;
MY=X;Q6+5*^20BF=I[O\06I'^G\@R#O(\6D6@J;<@A[K!27N,A6)?]9EH B[
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
M8>:I_:#YS#KTFCQ_,7DG64ZWBVIGY6L>A5&0[7+^SP6@1S^D!:&716-L'S'
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
M>/HH0YECX5 D^7Q!>Y:%.%_986-XTXV<IMFG,@T<!,>5'[7)S3*"PT@W)U;
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
M7;)*LPW'NY9@8<I=<-REO48^[&%\(=D&H(#H38?PB2<ZD<'GKW^,@ZWA:P"
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
MZHEHYI!JISY\D,E/@IX;7KR]981^DS1(>O.QC,N0LIBN(*X_.E,-[E'H8!,
M/JM+1ZSF#!@&]/]"EF)C$#&&CS2UJF7(;;G8;K/TO8\O#>@]->-44B1NRP2H
M1,6OJS0W/(Z6YOZTH7*[C:,.93L_^XP<-&?;BL/[1);I&U5)26B4O08-XFVQ
M7X.D7-%YEAF@J&L.DJ4ASAVZDAB;P_=%=IWXUOX]R")0IAM,7@BC/)J&A, -
M979V*!)I4X717$8Q_=";[I9/.3S2+17IZR#)K[)@H\>F>*;_S5<1"2>YHWM_
M\V3<_0YNFI..G'#R\4A@&8MGY:2)=(Y?W?^,]3GE@'RJ-^FD*3+.0Z6>,#?W
MSYF(N:%0C-D?-0N:3>K04L_E(=Q!L]B125U"3;B521PJYTT8ZGRJ>(V3AV<6
M]#V$7TB%A!SA=9D%W0_GI'>/=CU-"CO+MEUOV4G'21^6H]I\?[,@ZV$9J<Z#
M.0NR'I9/]MA:9D'A@QY<L\/[I#,NCOO*3Z2HS&)'#GK:74,I3KIXW7'/OJN]
M;A8D/^CA'A%W<])%]HY[SJ?=VEELS($%F\GBMTZZ2."A-V.O>+&3KJ)WE&LP
M)++MI*O+'<<,8(O'.^DB:\=B(W6TX"$JB"$J$G L@@Z-;CQ(2:T9TET7:'G:
MU;A0G.BK5L7U:4LOS>@<3Q_)>MI5GG"<_KT#9X]8%>I3HLQ4\#Q4[G.$G/GI
MC#GC.LH9<^:,.7/&G#DQS)FO) !F"W2Y2[9ET8M)8.F 9A'PB !MG^A=L[)
MAX[^ 7->R'*=1/\N[?MB;(YI 8*\)+P*\O5MG'ZW[LZ  = <O1ZP$V/SHW+_
M)V"%1A $]=>C3NMKE$")-N/$FK\?GV*&)[W^[8SW=,9[.@F\IS,>3A69W0C)
M;I8@[L7 L?9%]"Z[P HV&Y\<:,^X!XO7%#4_6(W?/22R?]M2-KU<1^2=79[%
MRHJIL^>('M;W1&(>8Z,S:FJOYP2C^JNV%A<D2QA'O$O>"2\KWY8H3<8>I[Z3
MP_@H]'LFV7NTA/*QDKI_N^;<L23AXIUD2MM'DD5I&RE@DB&G?RG>HYP>(>9I
MUDS-\$3T=,)A+3_#%9SA"LYP!>C)=X8K,!VH?N-F(RC P8HX"[+U61ZU$>8.
M1KY9$*_/(&@[<;/)7S<8(>5#V#($SH,4.HF@0:.3)L,9Z /KCAP- \%N:9L%
MK<^X!\>7;7H1JSI2T$D3Z@P0,4YD:9J"3YH4:*);;>;M6>S &?_AY,]XGXMC
M%K@$AS_GB@HV"XH>.A+>T5<U"^"!XTCU9L/3+(A\X'SV/1V9LX 4.#*F24N#
MFP6)#VV,Z7-FSP*-X1-CEAQA8SYE9AC8A?]#$K(,>O+!?CSG@[F.,GT^6!;\
ML[5'UC0P8_-S]M=)9W]=!C'DS#ZO"2GNX0O !LPAK,;FJ!9@3>ZQ=)AA#IZ!
M@7Q+(BJ.LRN6<Y2[8K'Z.<WBT,Q%>OOXC](^%X,?L+0I+X7,[@Q)Q-=$_U O
MA?[EEQNJ]!4[[70[/T]\V&]!;/I"DKMD:3[=W49'?68$E!OLC]0@C,^,N:VW
M0RJF9)69FFVF+HQIK/G2W6ICVW-.VCDG[21RTB8M.-.BTS1C?T;2].;[3S/V
MU(DEL4.%FBZ3=.EVSKGTGW.IJX9#__)$5F42 A?2E\;I;OC^@WH[#E1F2S>D
M>K4<]%Q;#VS+L+(<>Q\?(NPB$T*IP:ZC;>9/O" L.( *_B0+8GJL+\(-97P@
M]<#-OOG8@IW4;@P<-L;4IL#E,BM)2+_*'A(!&RB!U"(;BW?M.K6H'F5DR0L8
M6&3T3J-/8 'YY<>I9VDKAM2=GZ7UU"^0KHR0YDW1-/. )G7UT)J<\L/4AULX
MC3JPU9:CWM/E2 ::>_(6Q-P,H^'<NA:39T";*OQHI%-3VXGG]+P.Z,XH,K
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
M5M6YGWSPB*;@$5_<9+XI+[NXR=T?!61LGT"^3S8/,>2:I8T,9>0]9^4 ]0^
M%FXA/LXREDP-Q!@SDK9E7P<1NB%?]P#DC^@+B-F3-Y38W*@%4+>'TL'!,#G"
M57$-PG^'\:ZQN#W#5\LA6(.BK$YVDSSF%"=S[KY2X,[ ^H==\OYC^9Q/3Q7:
M]5\N0-?_\.7FJ3?CU@^&!GWYB#;C(MI\H-A(MF)$1(3/6:LP$&"]!YLB@A=4
MZ_GX#H8/GS7AY_8KB!:;K.!#&NM=35[!P';5@TOJ)WQTF$'UT!C\A*^OF4L;
MLR3[(]P)5VMIG!Z6(2;?K?0.=@6X,<21AGI"VJS(C=5C=5,50A*"K-M'VPD_
MR^[W27J;%%_S;1$-J8ZD,.7K[ .LY3#<;A:M_X#-& X\'$1ZZ/+7NO;=F>K)
M&T)NK(B78#$96I>:@B@%>$MN]DC>RMZ2.T@G!Z0=_"U(0T39G7+S-*:D\*O2
M<WM7AC%XHN^+O$@[.=LHV;V9O<PP/OI*J[[2Z@QD-MI TW;F&67R< )>EE6D
MC2+- .$$6#[\>KZC3/!>X3?76 TI=R'EMCG(:D1\M+KVX#++P5$?C&(W;LIJ
MWJ@PQ3BQ(RK,,;YV"!_R H8.\2+=MN?!4&=\G1"":2?%^DP:XQ_2!%F 8<!R
M BY%L6RV9\A0?6-SWDM.1.S/<\F0%7!.@"S -BDV;">@DL4R>R9V)V+U5?--
M7MN_$V#/PSCIR9_L1GB6[$9V)U/0*DEAW$^< %TM9V#8U9U >!1GH/@9.9$C
M1!4OF,U=RHE=4L\\J(F7[09WW.."P\/-B30Y\TB\(URA//K2T)=[2:A(B&1%
M*=X7V&.;I.@]@E+D18BF,9H?GUJ%=Q0;Z_+Z-"KXMD;EIO#)->9>A+[D&A,2
M5?SSN3?#U@^FU4O55!)[3" .+J2<MY?UD:4^)0:>@&=)B8$EO('^A)MD'_5'
MZYL3V[VH\-\K^$Z%SX/LG\$QN#P.J&GZR.UG905W19H<\1'G@Y]ER]]IL>NF
MGZ2(X:2V<Y[L)C6F^,F^]+0\/:28P/3YE2 PP1_FW-A;@ AK3+CNI:<BCB+
M3&3Q$1G!TJ6C=.6=43[DH\8]ODQ_+PRSX/!F7I_+B-1G?'T-"2T+MR'8O"57
MZW5:@ U)/I@\G)G;.&;7OOQUUFUZ OEJ6S_KZW@4L+G:0:$]RYN.*%*A__J3
M.;(9"G5?GMD']/N(<Q/ \A'G\X1'(R6DU8@(*C;YO%=<B)44U+3Z&MY&!8\;
M%,(S0@>J*_#SEPJ\&'$)L'D&<,0-E&_2W 0<?4"BAL@:NZ&2D,J,HLA6$9P4
M&8 >MY UU)A;':\U0F+@BVFQ$RYNL8%A_K :I)'"@Y!U1BJ 71'"! CGS%MI
M9_29\*L:6:JL1F0"JV?&?;N*V$A&UK)&6@V@;)F5)*[:&28W4IOC:E2ALM,J
M:OEV'.4!40IMC-4!;"K5:N0P;8^E$#&R/""L#E-32:%?_BHYE RG^KV+C7C
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
M7HOC,2H?PT%T$V3[^RCYWBJ"7H=4O"55/PVO&E)-H21&T^W;15=?X01CL'F
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
M:WPN$.;UR*BDPM'1O$65N1A$%U1U,F\Q[:+F8BMJ]31O66AJU$(N/#WUZ6]
MD(%]$FT>#L<T>>]6\L:K;B@]=-9F:;P/VC5YX9\C4$HB\:9.15W^.W%+"&N6
M-KQD#>%C5?4^24_G3Y#3SI,;FW>HR#96:A=M"_D40/DT!FE')J(>(UH/G45O
MC@64[_F60&JM+ZBT2.,PAQ(LJO87?J _T7D9I8/&/8BK4IJ0D90FY1V<%"NQ
M!:6+*6\T3ED;GQ:;)<TZHACEE7V[SUNZ<.DV=$.AE N[MM#G-H!#\;>C%*6)
METX )_HBYR*_-M4Z@>(XUB?O5>!(A*7@*6>]09PPLBDYX(^.%?N0+-JX9+0<
M=2]3WZM.^&..!([X0G;$N#L*--J[W!'+[DABHZD"YK/MFF^2K"N6]5R!6P7,
MEFB?-*_@.$$-77_P&4K8L'&X#B*X$3?U']]0! G>DT^PLYI97QU#^,'K(OIV
MFQ8[>,@V\, ]I^$:O,&?/Q_94^<=0;;R'V[MKJ3=5Y!#>D;\A#)96G-]A6</
MQR@Y ? "JLC1 <D22)S=3PVQW"2H6$:"4&S"#]CT0>FDZB FVS!_W<-[B>?@
M#1I+GE5S^[T%'X-H#=S$J.UUFA@;N. E7-ZN]X!%IXQ.TCE"=0Q.];%X2U"\
M]FI[7R"1J_&)I?((D0'4$.\+J&2>(@WCW0TDRQT'$5,Z:7;')]W%5-=\8B?=
MU,^]#J$EZ,B@(%+B5E3(<4(E.QI!;H'+"<V7.(Q4N<\)W<VH^M0<HJ83.IS1
MYY8F^SJAQ9EP9PSE<2<\\\41H[\5E'CA+QHTWM>)$V4'Q]RE0B^F^>H++@I%
MCI=;C=PO'KG^R64]$QLIV+\F2$R/AIK<Q\-" [9*$D.Y4=] >I!D%/E1Y?HN
M2^-CT%>;35AMZ4.\3=)#[>:S0)-/F@;QKG*3@]+/$US2Y5_*JKI!:0UDE#H2
M'$6V(B_+010%V=4N!8 >DT!J*E?/E:5Y"WSXMPOP\"]?;I(BA@P1,JG\]!0<
M<"%*Q&:S3O0%'(MTO0\R<,:K/REL)))87VTZ1F0,7VU;Q$N)%<.WU:<>_1ZD
MFUO(H*B18/U6LNTLP:G<UN"(OK&*5^DU@-P0W()U>:K>]B'<Z54,WKXG;_ND
MR()X\_8=]CC=A;L]Y93*&5C;YJ!\MY4L$T7)=W13(JX(I560OH.,$93(V=G0
MQ5')D:OKO P.G68L'?9_G75:G\(X/!0'XL2ZO\^/&.'"NOPVZY1JC3ZBI5=(
M2>&:0(;TMCIC$M&4J )6MXWL1'47JT@MWY(Y,[&MUHJ(#Z7;6NF(2Q))F,TE
M@UJC\X $'I#E]V$,^5T8[SAD5-ZNVB!''!N^M/?P$-W"N49)%5AWD8V:O%=O
MR3-(T?OH/DG+-V'&C,F7,_82H6'&]<L96SJ=[U# 2Y*>/H41I-8D)H3 LEIK
MC'^%#\(RI"1\!\.7[)KP<_M9^\C(!2+U$Y(WL*/8^!5^,0<;W-9AVQF0=T8"
MMGP9:J1]:%XGK.041+BJH )N6(,A=(AWJ[06V C")[:99*B?DO?@CP+R+?@R
M#?,@^A3$P8YQFS/[Z-<A4*[C;AOE^H.K+91Y_AG$19!BG_=/D N*J T$QIOW
M@1=\T!]XG=\EPUZ*!$Q)']-*>H+LLQ##?G>0VLHF29"ND;I^![E?Q?=.-56M
MXE^CY&L0/8$<,4=LWFZ!WDJ/$H7L2\T9[Q'B'$?R6LZB83T9BCQ):JJ2*KJO
M,V&R8'0WY!U-N1(P#=40,X0M3#8K#H[?;ZDONQD4/.(,/V%\&_64^II$6(&>
MU%3E9D(.PKF9EY;J;IW&W4OD]L'WD?ZH1KF<P09E$Z\D\?IS^#<UJ;'2.^8A
M'EP'/$>5I[?D>9=YA\I226"3"4'+V5-Z^!(X5F!='9#%%(MFOXWL.[@20"^;
M1IX*J:E:A6K].0[]:=-2S6G([I.T]<2_2;(\H[J.4,Z&^%B2UW2WW8)UJ;^(
MH<P7-0B^P!D(KVGT6!IUM^4,T/EN-*F_A_G^IH 2Y@&D=Q_KJ-@@/7R6 ?A_
MF[?@@ZBI%1])NJHBO@FR?0-[[4!_1GYHQ\'K+D0'47/H>=@0J:DA[H;C_*PN
M'J\D%R<5H5^1 7Z:+#\IA(R@BY*M4'&Y,W7<6$6)T7;D"-Y4ER 1.8Y.3H1I
MBCD_M<F2S[/(5EHDN",U?*[G$F0U*6']C,X,OXV1S<3 =&OJ9:9K.Q'9BLL8
M)\1+K3:BGY,*N-Y!^C4QXSSQNDJ=D>)V7G($.*D.3^UC*\E=R/;C+M6KJD7E
M9-<EJ^]7E9Y/9W3Q?D6V4ZHZOZ0VVR"\]&P%=XJ;$[Z\@[S-L15SEN=5(XY3
MI%2;H1&.C#OS1;8/F2-"%=;]K*.FZFME;"6H\6HH$7\YJ[-;L;0G77\[ZZ'@
MTAT0G0%5P&/2.1NG/2!Z*]H.E])G@HC#I>U JWT\D"4ZVW$5NU=YG6>MSGPH
M=HD0/7958&029<W'&EE>QU93(]M'N?UN(*NY&Y!^L/8)H?X*:1GF;#_=G/?&
MP$]=15I7@Q[PPL;)GE>\Y?#HNALJ/W\5X)IT)M4S.+S7F>VX"O&Z5AB'BD3,
M!AUF,3F8'5NB BZ3R$@ITZ/$;CB1#WP>XV)/+V\[Q8HI!^A13T[D6%=ZQ'EC
MM50@;1)5SG/4<>]IVY%5*Y8/0O><J" P#[7R>I:K@-P9"B8&?JHHZ& 2JO/0
ML"1/4MLW0_$S A])K*+8ADF@SD/A<K?.]CU1*XV,#E%743W%(*W.+.B/#Z9W
MHP*+*O GA?.K*>/B"O1C,P\TJ%MK29Q#GB&*[#_-4%]20TTBT9H]%_'G"K%E
MV'RUY>NIH;#/\G.]CEL!):$,9T^5R:,NBDCV=/DZ2I[M0QSF(90ULJQ ^I%Q
MV8C$!Y&\BLGYE+0F44+\G'+_8:: 6\*(4>;-(,2[%V.&61C/^?+7N69<?_%<
M=9!_QKV>\\XW0]0\>L[MWLL.1!2B1A713L?2?>,U#]+<A/>(%#PY;VBK8WZD
M #E">+#:ZU@*J.,4;S.\V)8*Z!CQRFKO(%FHB@M[*EP%#-(2SWC;0PE2B=FZ
MNN_OXHWU>/8E8ZD6TE\J-&.P0Y]T!<N.U*["$&>@*O$5Q'!UKP"N&^*!JI<G
M07P?K.L"YM;4_>YZ?M$*8.%:ZJNOD,0[2#4'-"E&(4%L4ZW5-2Y41M#/,AH;
M@SJU2B&AL1I%9W-"R64'\ U]D6%?9-BZDK/H.R)U9JGM#0'WD5%9D]1:*Z]\
MJ]D?A4.>FQB"L]9Z3[=0_#R!S6T:?&<S=')C0Z!L._K<%BD\6U70'!>\Q,[J
M(:?69J*VEU[TH?:AOP79.@W+QP5N3MAVAA#!39"F)\16<?4JN+IH7$CUA*NN
MADH-_ 3(:\"W-F0?/@7P*0P?JRAVBVL7.ATD$S;<V30/_U.^"5?;\KMM77L9
MS% ]Q'M*8QSUCQ],@=C1NA_6Z[0 FX:/D>0.<@=MA-/3?5(N<%Q+R:!^CM$'
MTG --Q I9N%VHO^Y^Z,(WX,(PG8=1&BO/T$Y,H?__Q!#'!'?P-+*A-',\)^C
MJ"LZB2:PZ@';TT;2=0OD>#_+,]CR:2_ZUL^^ &HK.OK+C1B%@K.51H1K0]"U
M#&[!--!.]"^CBR; B8("-/4\[9YV)<$SIQA#"<NW-D<GYRU-4179CI  Z^%5
M2%GM$\=YZ!S+:3C^G V3?MGI]B=PWBCJ2@<A\OE8)=WXCX/X=VO3#HZ^U/H*
M=D>2B@KA1=#C6^T-.YFPNA8#)S*Z\=YT$^P73J3!XL6183%1D=QGB5A1#3/S
M^:.:#=)D:Y&*5"_+<^Q]+0X'5.]CRVCG?7UGF[;W]34!=0-\?1E'DNRTQ-?1
M$$^5 7<WW=/1%(<GH@=%4(FK4+3J2:D\[C4BW:UW-B5 7 =;/2.<(!91D&7A
M-D1Q1+5,VR3!KQLV\48A/MG"E.&T;4'-73AV M?21#'3>]=X[QKI]@3..]QV
MM&2K.ZT%RGL2S&)7<-E8+BXE.F@NI[(HK(>37(MGD@?1PM"9+AI;G01F!)UA
M9>SYK%@FYS9M<CQ<DIL.LL&>#5JEZO("L$]C.BE&#9MS][8 3Q"SM^\@>@>?
MDCC?8U^Z KUGF_=#_"\0I&_?$[$)7[K-/5/8&YLYDZ_CS+.]3PJLBI*KW]QS
M#=]' 5OVFVVN99GV<=/M=IUGQ@(SM"&UD A_M-HU7C&:+:YM]>MD'ABK*\5J
MU\U9@*QN.ZN?,?/@6%YM5OOK*<:Q)R58[<ZG$DHU'GPD!UL-+^X7^)\OEV=W
M7:&F5:-O]34*=^6G?!9 %9Y!RT\)9I;/CT]*9ZWK#JE@1X% 66VIO OW#N7K
MJ WLWX(T1 SG95"DO8<SIJ%DB*^#^!N\2\,X"N)-.ZZ2[(3&ZF($K!3?RD&S
M>?E!58Z8S \ZOVMTQ KBNEP]PNHZR,+L%5[^P685MP$D.FEQ=C>$X;7)^#5'
M8N8S2-=(T-GQ"1#4 61GW:H,;D/F5EIUSV4@:1FK1(?0GL,*BN^(9FKC8EUD
M$%N 1Z2GB89#SGAN.Y6+!ONH&8.1_D1'YD&A)=N1,3"(^G)PRM5.8$:6Q<]P
M,65DYX B.2_BP'0"'$[OQ2&&5MNX6#=5]RED-12CG!%YGV .(C?:0=A.(ZC4
ME%K#![#'KITT0O3Y;;79>$+Z ^J;WFIOV)YM[B8Y',(<X8;<]&^2.(?T ^)U
M.XQ_5>19#N5/^$M9VC!>@PBA]URDZWV0@9;DOD3#W>=XG<2-$1*SIO.QN@F.
M81Y$KWFR_O8"-N!PK"R8= .5M.&U*<*@((".Q(:Q$IK)4V@(TQ<ZX##C%ONH
M/^R<<Z:W!?@]S/=AO(H!\O^8MN[!:-I#OILY7ICA#11#=@EB?FB'FM\WS 0.
M8T:3K*+_%,3%%O(+I+R,-Z_%\1C!#S\'AQ2\1\4A^$HVK_%V-7##KD\$D!F9
M3L:,MH#C^A"_ M1&RFGM##8+M;XD'\&F@$('I>(:9T_3-VO:[LC>CC*,KOD,
MD@CA4V.7!@=*8AA6%S/>"+*%O/:C0DP^<D(I.5:2&@'K4#AQ N&)LLM9I< M
M+CB.*I> @0OH%MX@)X >\Z;D0Y>Q41Y=Z>RW*VPZ81%0RWV'XJ\3H$[E">)4
M[V&5RPP<25PBZ_0S7ULJT#0W3HABBS E2HB4O)$\<Y*RF+^?["?^$:0!^@[\
M8EW.X!% ^JNCU!CA#0*]M6E>**ARAQ6)C2$[%RCYXS@C"U\?K[0U;?D+-C*\
M0"8+[\M]>6>!&]@A7".E6; #+:\$MO)PU#C25="E+U@5U/LIC$"6)W'#T+!,
MD-%#(ZEEV>7DGY[ ]YLH" _9/9SBIO*\)9(5NZ<IRRJ=8(+HZIS'\[<@*LC1
M0#Q]#8@U%Q$A+@*DP%VN0O%A8%&G49?_)=4@\^:U6G\D)'UX==S<[\5QMZ[C
M$'O%O>9+BB5?6:V$$^:H C@[#1Q57<DE"%OM62X3/I+ /9]SN7[=)"K_EI^0
MC08YAEPCM@_1137TRJ\AI).X_,T45>7D9U>]9+J>K-=(J\ZOWH#?$D2X+^%N
M/WB]LUJ;(<O@@6\?4.)JYQ-!C#^2Y_"%%EA(@$[?P>8^22MQI*E3L,3S>4E3
M7@%P*C/CT[SP:3WT%7TJOF;A)H1;5277JY@H60%,;J^/^2 8ZYD,+M8^Z\&V
M-8%OONXA9\I:P3YLYCGL(KM<(?K /HD@5\L8YYV6X'[,,/H.Q(6LGX(#_&.K
M> K5-L#14=NB[@['*#D!4,X.:P^@M=2W%XAPAC22IBBTO-(N7)K43]JK[T&Z
M655NP^W0.9K^7?YWE@=9=3 O@9Q9Z1[QM@_B>I%/2?P.LIQARICO^\N#N,F^
M4O'MJW<H\Z#+'XI#O\*^Q&*+JCYGPJW7^/N74R3*A^RKD',<!9X"G;NX^3+)
M10#?V(QW#X= VZED1!8<K=;$<DF=A-<B1L:SW"XX58SL4!R-0)V@.>9CK0,7
MAR#K!FK<$GT;/JS([ 9>8A<!@1%:;1X1O@04O&0\P%( %G_W6&VYF@]XYFO(
MB>Q)8\1(WD>3U=5VN %DO=24%-+!QLQHK;[:%;R_#@YL#MG>(4B_@<:#*2!;
M4HVHO.JD<OHBFK'8;D;BNYPFJHGC+T\[QS(=21A8'RB(GM'% #:W10J%R&<
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
M E^>][Q4EG;R>>G\;NZ.^T(MVHY*S5+UG9AF E:#K";D1WP"=H#\$F;?[E.
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
M2@>JQ>?<PHBJ6:2(J&Z@Q)!O!R5'6U1G-4#>C6\D%Q^J[3I\B27ENPD:A[!
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
M50"(3"02N:=I2N2:UB'G9@((;E0TZT/.*31->B,=#9\I<O3&3X\8CQ_5;ZQ
MT1\-!XHVLQW(CAY2/_%./KI&/J:0B%8=K5%1AS9XS>;Z+VBZEY#ZGD6!G@,7
M6V,(K8DA--^*=4P?Z)A;2;^&0?Y8[9[K*$!.\3E^V")SG$&&H;$0?8=_Z%C;
M1M1( SWUK*V9@MLB $F=*=Y^/CTKS#(=[[S-9#-A/"1SJ+FXG3)9!S]:P=:)
MMO'7TQ8_7S_^\8<___$G<3:"TERC'3TQ,9<F67P%%.(FM:YO[%@5:J&W#E,T
M QH80HXGGF-"?&#6#N]*#LUAYCC"]O<TT_-C3-V/Z'MUS?%& _RO;JX<\XFI
MWQJV<NVR2< TSV.K%Q'W06R.T[R72R^,SP&6!Q+/S01*_GZX8S7OZ39-T@@]
M.$&ZPX)+&F&J*CKF5%6Q2:A.64BCY-$BSJ]C6<V0UD6VO R(E"JD<R9K":[8
M_WNRZ/;'E,"WV=UM,>S>SD-;9@FTBP0_$8C>8WRC"VF2M>=Q"^I.!L'8P\LZ
M>\R'BJ9M#5HEI5B_XGWZC3]3)T'HA_OS;>K[9VJSS"HULR#6_Q'3%BK+NEWW
ME7I+ ^D8T9:[B&8HE-CPY$RU0;FY(5YM9TH3K8WD'V_79E:C[&D@MC<PZU/$
MGUO02@%2EU6!P18TZ&MO47/$-8E9N"1&%=NKY8@3J?6-X 8UVZ?EV-#SK$]@
M>P6-U[4%Y]HGL1\Q#+*;,C(56FS+$L2(&K-.@AD[.K3J;+$IL U#1H%R].RX
MD")+.D'-D!W33SGA&_@M!7\"N4>+P\%R=/9C4W+'!61TS,BRYFW?,&/VDU:U
M@^%A@HP> T]>3QD+<KK-O,0UTFD(&9$SL[&9,SEG3$W22&X3>'$A(]< )YR]
MA=R,Z5Z3N.C,MP.8,=5K#FLHWR</N9_9O,B;24&:L5^93N2H12A\IM3 E_1X
M=*+S9M<T@#4M/)T^1%_QQJ-RN35O<,T;7)M *(/+;P*!\.V-V7=8V U"/F]-
MZ;0FI=.NMA CLE'__M3:8>V'3Y2-.OKP\Y=;R-N:8TR_4I;%#EN3H[2P]D(W
M:12>V'3=^?D3)HC4R^D.[KLS<=.=2>L3K.'?"PG_GJ4TNX)P#1I):XS\6J-]
MEOP!(I=;#*M2B Y'=K84[(6[,=9@6SL]AC.6")\Q8,NZ+C$SA48JO3%=M<YB
MB-6#0=>PO<\:MC>\0\[,[7$LC-$S$!PU0RS>A/F^RW!9U][8IP@/JY7C;Y1#
MSXKUXXEYR&:<_8F2E4]-5[1:.BLJ,;[PPV!/I%TLW(:N1X9>HRPP+-_&ZO1>
MG=ZKTUN#:V)U>J].[]7IO3J]H3J]>96CTB-)4,,/0_YP%!*+.'*.Q<R&+K5X
M?_;J-389K,$R^MY[SIOG8T6#<^7$<W1?02<^,&5^&I[*%@V8]V_(.JL_>O5'
MK_[HU1^]^J-7?_3JCY[RJ1DG;H-&X>J07AW2J]-U=;I""/>1J'N0<;5LGZ.E
MQ64&*>>0\6=1&,0R'+UE;C([_YBS(+.WZ9]7=^WJKEW=M6,MKJN[=G77KN[:
M2=RUNAPS5P>"L[O@%<LHN\@Y(F: TPO^9TR*LLD<E/-\<TUX->VZ_,6)//)
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
ML-W07;^&%^Z_4B]"MV&4>/'K 6%Z06GBN2!C/2XQ$ $6Y>BFXP)UPM@-X10
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
M+"<NY(1BO<J7LO_8<I0HJ%X#O-.0D3*5-L+GQ9"Q,4+.;CKT+05R((>4A M
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
M19F03;JH\P/P5>9:9SOL_117":S2-Q&R<BP0)(>CI,\3#!DY4LM!+Z$(K*G
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
M5XWC#8,,O>1>,_QE!2-K^:Q  REEWQTO5P%E P&@893'%,F\ '5:9KNE+$<
MQ\O>B"5C>[4L!5Q)'AON%0.-%:5W7!S (&;N"WK9QZ-AVK=^MCJ;TK>^]5A
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
M\Z**[7"6(T+9-E<%"W.-9*!1H<0J^28T/D'4;Q!H#/2^%>(8-([E#C0*E(A
M9->K(X#W?$#&@'J\BR#0@'\7+(AB5B(!B86TC@ %!FIYI-P(@:%FPK4<"2H"
MPQAK,63T:&<:HZ+>P 91#I<IQ;9UR&C13AKLQ]?29KGZF0?;;P$9/=HIA&O>
ML;3+\'CVP?'S0,:'=JK@2FQ38.&_8%&%#F_:%&CZ"RPT#?2W38&9OUJ#&;E[
MSJ)<A7;1M3RGX^[N%\=/LQRQ8/O_IX[O[:B)+T_WF2)I05*,6+*A$H3.<=:*
M%/=?8]9ZRZK;8^4X])]OS.5=;=/WP^^D5B7QK3RC&$7O*);$C2E.!@J<,+A3
M:2H@P#:[:[1#$7Y%7YV/K)Z],%BQSPJ P*P?PJ7CDS\-.L!BKN:8(<9';\/H
M&;V1/GKDSM/+C_=QL?T]C1-)+9T1JP$]LJN#$^TQ@85784S;;F Q)HB''2%O
M+>B@;Y(#BHIW8!SDS:6  GZ-A9C,+S^,U5;3K0N0&B4J%26T>PHBD+T;4K5Z
ML.!55Q-411K(F%+S _43WM1Q9(.K4$&W["/^B9$CD*XLQ=%HUM131H/L0)J
ME$9+@Y;B:R:RXLJ1D)U1@-#6DD$A.VC,8ZTNP *P)G8D=(HFA+;'/Y"NB%AJ
MP'+139 >2UMHC,_86!9B;HGU,/6E^ $-DHLW4HW'Y>4("R:82Z7L[$EY\P9+
MFE Q18+MUB!SG<,H0Z*;>0P#5XAD]MA9C<-/44AX N$2+YA'>"['FB@>:PS;
M^9:$!L+F& A7KSIL=1;"F&.6QIE[$Q$Z>P)DU4*=]3<B:Q@\UE+=2LR!&PVC
MV&Q/HY3A.KZ;^L[$3LNR/1;QPH:^MR4A0+GN]W) B"F U+;&/##V@9!]E8?R
MXQ__^*?R1&+2\)>L]G\]O!G1D;0>\49A22<^8$[=BE"X*/,JB*B(ZL3T'9$V
M7UBY^L\__E&!2$T 7;M:Y!%*0O?;(?0Q #$!L<IAY5Q'>Z$5G'.A(111K\5(
MJT#-J)D)7I/.K8*J2Z!W@>NG)!#HB23WX*TD6=<X<G*O(>&<89#@]?%B^R(J
MD1F;QR!]JU#3N)5J;ZA5\*GQIJ<H-\;2X39R9.DS]'+ E$XBX>Z"=Y2;!NMV
M/ M@'/+J7(7'HY<4&;YE<)=;?X6L@U[\"D4IVC91U1;[+8.<_R@](]+MDX0M
MLJ6LN@AL%<C3O5AX).9S"!W)1-XT!JZ (HKS?F5%NK.[D-L=KM$[\L-3IE/$
MUC$_=787!HQ7S X@I:]8MR#](TK:DLF/5L ZY#5[EMS<;&8[8Y^!%O@X$6G4
M!'#'37[UDD/5:R>/S[:3&+I/'.5@)#FL*;/=?.3/0';4#R@YA%N62&<'W-.]
M<P]>0"U>G4?-#L1(]#+A%6!(/78 K<8$JSX+3XZ':?_*.7D)!L(N6*5/';G4
M01)&9_S"U7W@%L VY&G3Q0FL0A1?L\%"ZPE%R?G)=P(:CX)10F57^ZA!\5:[
M;GHD6T.9NHHEV5.$#B3ZX!UA4L <[CZ,8PS^9O?J?%B& ^EM?XK0"7.S/.RH
MT-G91M<_6P&RFBRW.=&@DF!_CYP8<:4XZT#NBG(%:,^($OEK2!H>;G:W:9)&
M16<E8K 0@0X4;E7E)7&\ &UOG"C !Q[7;OPUVGFN9]MQ\[FW3#C_+RO@D\B@
M97713$<A*?I, (%"QS^])D]Z)F!L=E\Q5R8SZLG>%IRA $IVI$"5L&T!=!(*
MY3PNBP57$ Z4P_FWWG#.&5HH#H5LCC&V5<5X#B8(:G,AA,8)]39^=!Q[&@2
MY'L'L4V+HH$Y\2[LN\L>;)C?"!F-P19!6HVB[9Y">A8'A!QE0$V&1S/B2YB[
M9HTTAVMFS @;VZRAYMYH4=0'^V46S##)8E6".7@<5V&N,=#Z1&XPX>NQ@#$@
ME6(MF-"IS-1<:406+='8I\H,H[>_&03!O?*-8<9%*794@U"@8DXQ>*N'Q"=P
M[O> I0R2G$I( H<,%:9JONM#X@JZ]W_ *L8.J!L.P#R,SC"8%"5]'55GFV-Y
M/"<^F]MQ1AO;?M,YS]QS8XC)Q$R!'YFC@@BFF'PC^_F'><]FKU5,:HQR?S!/
M@Y3.-)>Q*G'W,B&23-+]-O9VU#)>QKYK&)38Y$Y9CGPFG6@,*#491C;:G-F%
MY5AE6UT8(X'<[8[;5.%JM^>LQ2.T<5@Y&-)Y2RMSD&>[M_+99T]WKRH*U=/;
MB6 2!H0/O1#'<'3>["[>'<\G"O%M&)'GA%Y^"M]=\#6(D.-[_R:\((Z?PJRF
M^ZWC1=2T@:6 +Q'^H3GL\GR/@GURP**.=_P!2#X]X6$59&V8V7#6WA[R9Y9O
M7+QL9N]-PS1F?^"''Q_PB$.\B0BKI86NFA]DY(H"C2$ B=][%,>O!Z?$,P^_
M/1/2YNM!KPFCC![U8U<&BI;1-VX PL9^TU)42B_7!*B4?1/>,\RO.E/^,=[L
M<BF)5.Z#P<Y+L:TR7K!C;ZG*>8OGLDR#I=V6R+'X_[;U"'L["B!4\!= 8OK$
M$%4G=HEV890;>3!\*&X;>[&4U%Q%HD<R0PWKYV 9 C,L9 #DYB,L.8<%9#6+
M83-/*7?(%!53NU#_7\!@4U]E5?"5DVT78[4TOT.6'2L^-3%KF/7B6(4Z1=[:
MI:"NM KY!ACFG&I\QZHR!D-9:7U(8ZYE\*OP5%(+&:])(G=JD2-VPJO(8_'5
MR>&[1 ':>4RRALPI5,[U!=$PC2\8PLCQ:2GZHQ=XI&)EXKUW"-J.9.V>C^@R
M:C,HWN(D2MV$]MG,BL''S-1<,-8:P:/.LXC71AKTTPU0X#B.N_XK&8RSF%TV
MZ81QS+<#@VA6%U@Z^%&8:APP<5NX]BB#05]LEMN)[FH-,[KAFF;,W6TUQEPP
M-NL-;X==-\:8C!OGZ0'L;7/'FXSO%XGWG)=)-,?P&\00W@7O17>TP6@2-8&<
M$V"B-!F(?##F90?W)K-%:][%Z0ZUU<72",FD?!B*.M0)%6T'FS9L.<WGQB[#
M9X\ VTX! LZ\6RPC>_L\X-$]OT9.$#NT"1;F*O2_<B#+SG6=4D]V(*\GG?0J
M=F6'.4PW^50NYI]#GZBF7QPO((MM@IJ'.O)B_-,UY8%/*/+"K0;TS9:P)B.9
M;NX:=\8J82N&% Y+(8"=-S 5"^Z-BA$? X>\\0RH%_I&?\Y:T<^)#[=^^!V*
MR$=2:O&6GJ+PW<,8N#Q_C1%6#DK#\ 6FYW=N.28\#2M^%HI_!.96-GTGV[[Y
MA]K(C!0Q(4<DCOP:9?];UABY^7 /3K!'S_C4;W8[Q.YBU@?Q5J&6 UBF<,HI
MRCG3F_(:7K@8XQ'BINK9%H7#P<NM%SB!JW+37(2V5(^_B^,T:[">)\<TZA):
M$* ]CNE<(_R:N![]B&5J UBVP[R=5J%6,]NY"^B-BV.VQ=:VL(9QS.<9G7+\
ML%E. PEV84"1YV2(0JP4OHLCJ2GV[R8[LB3\ 2H[8M*E5:@==N%H9G7]MM7I
MCM7=[$>KV8_BY2-%F!#=;^VJ;78DJY 6",)4^A2AHY<>8U8HTI_LP)'YRYC]
MLMG51V^"4?LJ=X /ZQ3&CO\E"M,3>4O)X=% $[2M99S8U?) WZM*GE-:X(T6
M?:'7??/F>WL^6B"3\K#K3IE?,]>*6(4V05'#LWNU_VPU/E0>@[K>QRRP00QB
MA4+8;/IG05>%$812D4-A.B0IXF[-[/:+$WDDGZ\,?<+LIM:\^+^63#MMO:8L
MTO+J?)!0R$-F=26IC@>'I.7C18F9%@5Q4Y"U&TN* D9E?,Z>*2\3,(H*RMUN
M"!:B0E$1I@]ZI@)O"<^A_YXAA-D6PBXD*''<_,K@NU'SZ%#6*BQUQ*83N_"C
M>%\D/,..3A,C#4:==UENJ+8:+R/LU'<!'N[X3RF6:-T-5C*(/X^)%;M0HB*F
M%+Q48D_L)%;^S5JL#+6X\FO_-&R-?UOR*\P4^6-17:02+S_9S%P4WYV[X\GQ
M(D(V6.=AJ(,_V.O[&OCL/#@D(C8YTX+^OH^HK!(K8,<Z$AGE)ZW505\(.E3>
MGFN/3"'6.5) /9/G>ZG(/_0L1F49?DAQ4CRUE1JE)N3_8$&K^;%N=E%UI.?<
M2E>HSF5.)8WX(G617M'Q%$9.=*ZX=H4]NPUWJL]5QQS?;6E0H>136%JZ*"EJ
MB#<B#NPVM0S&15[7^CKOC\2L;UTAZ:]+1E)NXVUC2%A,MX8;N[6$P01$Z:2:
MW4+*3Y\3*:W&?)7O?,D"H! =G*Y9U>5B11I8'0:F@]NP6E@6R+$Z*&4P*0E;
ML%3(L=J9/XQR\DM6J!98:)9&\MC1$'Z>^U5O/5'@QXZ&\I.\Z%5Q=R;E]&_3
M/ENR7$]<=#/I5!<PV7VH3(%A E$;8+2A]_RQ98S.X#-N AK9"RR\:F3/6L <
MV??(TV%?"_4%H)VDP!2M=I*L!4PR,%EF$8^O2>89+"9?SQ!B[KXQ!,XMDJ:=
MJ-TEV3(&*[YP,DF8</%&&]N^<AH($QS5V9J[O2GE$S0VK#S-:-OP(2D!S',9
MN)BYWF\ XO29B 2P,1"<31;-+V5VD@4T,PC%F/LNBU";J'FW0R+BNUL?L(IF
M.(8'L'>A&;R6<<FG?V"Z4 +JO9PQ!$ABSIE0BN<8M2YP8\:YI@#>#-WL8G X
M-X-I#%W+7&7,/I<(VA7I%6,MU5%E*X  4Q(RK:R(L^=KOEJ]8YN[-ZKO$L;?
M*^5P935%7;+*Q**3)+)8+C6)%S!7,I<7)\P\%-YH$ Q!.<A7B?^IK 0";$[H
M;@]#9'V>YFLT/*ZV>Z,&KZ49ID&QL%UPABP#M.?HP A7CK59_Y=,%B17"&ME
MLUJ5J8  :P2G*D)4GP,(%+784D48E1;3;B_I&PS*LI/T7 /0 ;)C.Q4/C#D9
M$'"=&,V>[*.8!PND7G&6ZA#W67;F2\B*D>Q_#1FK #I82=2CXCF*5YG\V'H$
M**J<G_IRY@BR'E0XBB9K"P$B2U&D8)]7@KT$T'K;Q OHAS%6)X@^Z[R%F1_P
M8A^AK.+VO>=2T:3X _4U9HI'S83[%.%AI99":G=CI2Q;JE#,2&.@CJQZX=/3
M)9.>4+0+HR-5/BM7W84?!GMRQ?&3&Y)P$U0*3?DVKE&"M0'#U<#I#:!^6A;H
M7_%916S\=H)\K](CW?1[H=\5!]"PY^6_X0^$^X"H/I;4N-:"I]()HA0]/U%#
M#PX['0-;G9L.6D<W+$-)D0'.P*4,MEOI+Z,H2R1 'H"*]U.#">VE51[+AEZ0
MTLY^2P)[XE?\O#DGE":>&[^X![1-B3DJ9^+4E?J41NX!OX4-VJ4NL4UP$R?>
MD7#P6\>+?G'\E)J_\?I 6CE<8A0$*(ZOPN,;%K[R6Y>3XMT6$ZBWHY;$3/TK
M7"\8675E(L:?0EM.]W:=GVAE)UI0ND,G] SQ;"I$7W6D.5Y&Y"<[@Z8-93+T
M9Q%NM9BVSXKO&9@**S_*ANKT,[ 6*LCH_ YCK=P,4%BDNIR'*=9^@C.9B=5D
M^,Y&YC9Z21&)SW4,+0Z4Q[EOL?Y!%B!V'2(#A[0A<&'+XA3;_P38ZA*M=AZB
MVF;%@FI+,[R4F$"C.K6Z76IEEXK_?"BCE)K%RF8)-HPZQG_NB:)Y5/>)D-)2
M]G5_91'H$CI5)_C0(I F=S1,];5%H$]!.Y\<J?(]+ /5#$U\>MQV/ZK9SFU>
MI^L:S(WO:1D$JZ[/S<4C%/:B/7U9JI]UZ4\^"? E[%<$8/;/FRO'H:+^,"^"
MRDS-!,'3/;IGQQD)S^'6BKB@83$U/UJ>7. 1MU@[9":+<O@1B*>,%9MT+G)S
MKE/$TKV9<[X&V[Q(  F")7?FXDC^RY)PA@*V>[QQA-CQ3C*\".<N!#_:Z,6R
MGLICZ((S:^JX%JTE7D2P"FJ[,*?! HA_,=6AXZYA#-2^]-J"4GDZ3 ![GNFP
MM6"1<1]R-;=U+BMD;IXWVCIYD/YWKF^0J%L:7<L6#('(A<)DH(YW09PZ1*I"
M6"SFR( 7C+4)] XL-'2P?JY\S[T070N!OL.LI")NNVXS; SHN/D7KIN%!Z-M
MLP@@*_X(+@J&WG[+P1_# 2148X6N-Y('<(:VN<"B<<#D@U4:%3.(97%(X QE
MH*%_.P@38CJ'!0J%]?8<S29E%8&S:UY6F 5"J5-#N&B&9G3+1=PNLJ5S)MRC
MY.'B;9,W;<Z=\G3B/C-!$''W 50W4(S-*5;B&EQI3<8X>!.G)!/UO:I, _*P
M*)*(9!(L:J^_\NH$7YL%[6RD ,GG66*O(Z4^PR K.TW_D@=U@#+,T8W5WUQ%
M.PQ3(;7#(J$,<JO6FB4JEQ*8S4O6,"O"UJ64H'M)W_SL /&=1>S ?4CZ40>8
MCD.I^!W$XP2O/X=6\#K77@I2>P:0-U= 48R!YBIIMVXK<\.M09:( 'U"N( (
M!-HB<FIS'C&&7[\C_QT]A$%R8*=I0WYK)@KB6@Z*IJ":?R(G>OT>6B=V34\L
M=F)F,AK![Q"R3GR=B4HLQ,U4='(;IM$(5\F2R<1"U$Q&)=X[8N4Q T;%;%1B
M'VJFH)*+'=;V.OBPHXGZ'*2B"S]K5/HD '4UC4$ =I:!&;J]^-CT_B<[>#FP
M)%WJ0X,HN9@-_GS%8/9=!?9I9GK+\/.D\^TX40&H_=<!?:J9FC'X4.ET*\Y4
M &CO96"?*!7QAI\HF6['B?(![;T,V!-M2>Z#CK6Y!OBS50%YV%K@7527CD].
M\N6 4%+%JE0NJ[R^3JMM/"AG%7N+%\F5$T5G?%2TECA+ER4S+'.Q#(<U/!Y1
MY)*FM0ZFX<X,JYP(@[& =1AT?G"B;RBY38-M=\I@&_E,?0?Z ,YJ"BZ=:Q0T
MP<Y-]GH0WQSVEL63C $CO0!,:&2S;'WE"*N)SIM='GY$&K/'R9<HC..O091W
M#?TY]$FO4-(\--Y$I)@0;0E7-JGHMFBN=?L%]4ZV]]GJFEK'P:43>\R4/,D:
M56AX"XL$?9=H%T;HU?E@O;D0<Q<A((X07!=Q=CS34^"MV<&]WDX=^-,]%!DM
M5MQ[&:@ J[**(5A07-LZU+28@5;4--<&@QK^?5>"GCL=GLBB+JUP8;P+FN?Y
M%&;%#DMA!0LNK&,_WZ-@GQPVNU?O"$18$;=T9X/)>C_$ZY#2I5Z0AFG,7O&'
M'S.O%Q'\@CV*F-8"H*\O# P2L]GKP2DQ.;0URCS<9PS.6IQHT%)  >]_30:@
MI/='+$56]T9,@*S.1^"]=ST-T42K#O!9GD'IU.6N."UERM^?G>\/6.J*/,>W
M+:Q?&<9?P^A;6=W:,EU5&<A;+_!B3)1?PG +7^MD@=7I4UX;8GZCS8LBWG%C
MK/FMM^A?O/?F8/.;;]&U>//-P=:_+<U^"W&K[T56L 74LR-J$-&J>U$6E7M)
M3R<?BQ*/=M5/;&R[RY>+GRT!:> !LJ=96 6.<YKTMVNT0QB@;=[G/;[%TS!&
M0M<CYJJB?;I=C6<'GC,1Y3,1'R/&/3\C%WGO1/QO'[D%C1L'HH U"GB%NQZ0
MMAY6E9F:*T$Q;F*]XE/]9X-% 0KFSL1:^3.0$^]SQA.=JC(/[9ZXZE1ST7Q2
MILC$NW2:N4(=JNQ!S ULE;G#$XJ2<]Z\C_:^ B9C9QM\PG D]5UR)%'N>.IQ
ML4X^[0=\S:]XC4X1(DP#?P'_NX_HQH-&L4#N\F/*6L_%\N68Z7!^P11X@.3T
MV@^4;)(YM[$V^F.[E74M;SW;EK8&!<7#\]W6ML>SCN0CL9#FXA\\O%D2*YO_
MZRNQ,-K9>:$W!BY.'H;\,O6_74?I'E/R-G63I\AST2O^^>M)9'2P'@?W^-<]
M7>X%)8F/R)VU4.56 K@8?',\^>$9H:*#$&.25=4>>E/\58BI_!B290L+<!OR
MORP3<@SWSDM>#D[4,2S]=6$0%T_RJ_/1,?"70/]M84"7^6GYW7X-2>S 9G>;
M)OBI+Q3]-A9^6AB#JQ$[BF,*QRWJ@OW#0A_T9Q0G$7[#T\@+]E?XKN^[CH.E
M/.)-@PE_1@$W5+>]%-BN?L(9K]F^V$-,[EH8U2=/LVMET9:[==45=#<[%XFE
MW<V*AALC:04QDTG:\GG3$(M(*N32AV#25!>Q*\$)+EYGL.9=B:6L[L:$X[5?
MHE["$.M:]5G ]-O!%7=$#PAOTC3$*Y),N$0LF&38D=/SS99, F\I)"G.7I;F
M2I[QTL.&82A3539I$B=.0!)H'\/@BE@6:13S4QJY!R=&FS<_?ZE@V0V?D4M$
MQ.W7P WQ[C-QL+MIENBI./4Z1;]ZR<$+-@&M"6.967$6!-UA^86,:>"G?Y#3
M/#R@)T9:S$!U-G3PNF0]!MS.:A: WR3:D= W%@/_(A W%W7HOR2A^^T2 [,E
M+B0L!F?*2/$JD)<#_R<9A%]S%+VC[6T896+471RGY)D \1Q0N:.V6RHZQ\6>
M6<RM,[CV EK"XOL#34=TCOLBBAPL$! !X?)<#<E+95U\=Z+MAH)<Q]%C>GQ#
M8YC]0C&57:V[@,B^5.2BTB/)\,IQB,4K4G4$;5L8A%WM?T8,9GC9[+)/U//I
MON"Y8X)+82.L-OC*.7F)XS?G=#CO"'??&)U0"E1=%^0/-EHFBL_YF7* <(JY
MH%O]W)P)O?[OV(>R_FQ=+RI[?]\^%$OYOEZ,RCX'@3^IO@,RIJ6X#GB])6LG
M2&W0C7:]946<V@ 0>DF5CTGV1?9)@O7SF@"8'^95:O'][>S_YB.)'/S >P%6
MQ>[PRN2*NR2X/_3Q%_9%%TN6*#'@<]?X7^+$<RW1?>Q!++YF&(T!>+/8#)CL
M)"E/]T6;T%A=/5UH*E>T"0WE1=&%A6)!FYZU6CWOV@/W%(7O'G'V89"@/G%%
M5EJYO]RO?HD"M/.8W+28<HLP9W1\[DP+7R0E^',/XC+@E@'#!3\_?=OA'T'_
M+XF3D%SB>\R*I;< MJ5UP"V0(LXJP =?@P81V(Z%,8]!]FK+J &VN7P\4\RP
MH!/^N4KN*9U\IX:>>)9Q<&0BBA JR63#0KHJ-."VKW:YVE8Q\233P/"%(1$T
MW%G&[XV::".\/4I+F#XWV>LM.CW)7.-G*'N1Q;Q//-GTN?'?6>%]X\VRT]1
MPIP"U_.S7/E+E'Q'*"!4F=(2@JW7ZSFCUIO=#KF)]U[\"90QHMQ<8]<LJQ%+
M!F//;F+IHF"Z)9X:@RU37J?'%YN+(]NJSPY#% V%4,'2-2)Y2E52"MN[27J&
M6*8(38RW1Y14#1]IYZ?',,F9<D(XZ."V]O8@J\]M;+_*E(%[>")YW3R,";OR
MZ:='6'DQ8\L2[Z='S1?/3[PG%+F\!/U/BYDL<6C[>YHWF6,F[D,RWO1'23L'
M5'T!8$#VE.YZ0-]O9=!HX0MQ@_'!75)SU*INZ:L!\!1?, "_5(H:!K1L6= D
M+Y>4!I.^=&G0B*E+1(-14%L$-+!-&6<PN(UE0 /<%5T& ]U9RDXCV0N^JM[.
M<YV@5FYQLROLG'@TP/83G=UQJL)VQME8"K<&1"U-OV-/8 ^[]3[0-H/=7K"S
M_=>@4CUN>UJ-R"A6 =B&,$+[H^_"B*0$6'_RJL=-6HQF6_7]\'LCEVQ .6>8
M=UT\DCY*EMF>QUWT!IJL/>R^=QW_RQ7^;R]AWW-+#UX'KVOG)=CA1QA'"L7?
MBM8>]8RQ8)NKI+&"TP5V[O$DR,K3QD@)(5H+R?'CJA&)=;6'IT:-91XG.3K:
MHG,V#*M1>6XAZ6M+\("_>L!XN$;OR ]I*?VBOA[3IV0M/K@CFZ&,EGF+AM+!
M79 XP=Y[\U%+A;*C4/.8![8A2$)U[(@T!4[@5F,HG(V+>IYP!D/8/$-)X6^^
M/GBBMF,"XT?7R"^?! '%(IU(1BBM67# $=DJU$ 3K  '3)9!0@T\QDP(8'5-
M#3TN?38# AAB)5KMA#BSX8"GH"./O6J,5&3S9SI>&U8F@-&?@HPXJ68\%$VR
MA2U#BE9$3"@8#5%MA4+3@ 7A'&U;GU4[P]:LJ0^KJW\J'$AG$ARD*\H,]<'*
M7O7\5_*/-\QKLS__?W_ ^_EOYW3R@EU(_I3_(0C"A*Y _T;^A+(V%?_'V^9X
MI9_/B^H_H*SX6> <,;)8OV1HW";1_R7_%O_W-CPZ7D!*N;SB__Z/_Q.G;W'B
M)2D-EXC"]/0__T'0ZOUWKKW3?\?OK!=N7[.ETBRB$'_4\VD)K__YCR1*\5(.
M7HET0L[_^P]\$/(]4G6Q*"]"9I*:QE=IG& 2CFX^7#\E->P(TO'_$?P7@ Z?
MGZ$C@^H8!BC)Z]I,B(P=YIZHF/R6=9'\G_]PJ8@F0A+MGE+%<32/FO,CR-.^
MQULES=O=?Z5>3(LZ7^PC1 <]A;[GGK-_OJ*/Y!+?]V\%C/WGM<%/BI]F.6(!
M"J[X+0$PJT"TLE(!MMK8.B'C;9!:3&9/N=[FE83IO"5%G3LB4!)0BNX@D8,E
M3;<0-4NX1RR@^59[ :F?F4QSJ6EGI)R!5;>Y^5>+N-0+"KPP>D%NBH?>ATYU
M1YL,2SX.).]Z1ICYX!T_>(%W3(]48SJ$_A9%>5BALT>OX97C^UCE?$9;=#QE
M]/L4%>G4M AD]7+I6J^-KE,VWS2G*W5R?%]OO8"0T3W"8D]>"K36UZ246GK,
ML.>BYW<Y!P(K(IB]I4%"6Q>0I@6WWCMJB3.2L4N _1$_R*_?D?^.'O"[=HCE
M&.C.L </%T]W+X>LOWF3&3)^ ,G]:&NB^%!4>2RM X(N7P6(@Z:">?>VZ$WZ
MCKL(;:GV\?6TBS!M$H@+88W\QS/:I<&6?!4SME?OV"B)'->>_K$+V8.UU^_A
MZR%,8R?8$F8?IE&"4% T,J2EDXMN+T]XS>:E&3@9Y,6Z"S#WP!N]1MG_W@47
MKDLX7HR/E9;%QN207Y8G)TK.!1(&3+2'/&IM&,O<C_*6='X!*@ U97FA@JLT
M%*Q.^XL3>60JYE6QM\WS3'.N](Q<A(66[=<35MK=@X<AI++<[L'S\6N J;#
MP=A5[*%N*M1>X+]MNP(!^S>0K(MN-:Z2=[IF&_X L+1<:UJ<WT8> U89"88F
MY2(JYU'-NU\0?HHOH/);S)\&DI2IC:EL\5&(JB2C+G],_^$%63FT;:6=EX0P
M;#+<5ZL40XEL'F]V]18=Y$_4=I-'5'5E5X5)8*Z%E%5K2=[.<*1E*:!$4[->
MQ9(6AQ?YJJ4Y<,A4<#;O:Q2[D9=;Z.@->$98HPTJ'L'[?790I(=YZ03?L$;N
M!?B2;.OLK,GYI<- <OK<&O%,0H4WNZ]Q[H'>O"5X;\1K?O.!%4>L<&.V]8B^
M4Q&F%B#6IEYMRX&CZ ?G@]BE,\-,*6:WC1:R4?9P^JX^77'BUJF53<MYFKA\
MICUX(:X'="1+YM:H5L.7FN56.M >@VU!P?C:MIV,2D;/X?/!4(8<29?(^QT?
M\(U+"CIX[BMR#T'HAWO/=?Q::-4%OA6MIZ/_1)"/27YJ!85G/BOBOV)[/I6'
M@P06W^I_H'-N9/PYC&E W;T74X<=B;5M JL\'"2P5?41RL)?470D\8)>3,$A
M4LXK6;AC\N@_#ZPEA.^)N]AA E9W7;:&V_,(Y*YY(N!M(O)/HI^\8ZX=$"Z>
MN>^O4R*KD7,FH0R-AK:YA#1N$2C8DLH)%>4_.$FNZ5/U@,S'=Z I$]7S?F0W
M:>QZ8&^8Q#/:-3 JNE19$\&(%0H")]%_7 *)=\1"]2F,O81V&VR*W?)QUMP=
MXMX($O],PMP0L:->;,,3!BQ_/3&1?TF]+5F,XS\:L0#8VU$/[:4R] Y%--AU
M;)SPB,7 W"*%<+ST=/*+7,R<I=;_9,WEN JC4QB16J4^9G>!0TRH^:.*SZ1K
MCE<?#]28>A=XI AE'@.2"U25L8'Y(QC"E![GS]ZM=^EM."H2[U>02L)52&82
M6L,D5FM\?K''V]]GY9<K5_9M&)4&,LRAFR=8B_G6N:8UE[RZEIO=JX=(GEUX
M=GPBSF6^?_*UTKBB-ACH]:[O_BE"]TX:N%B4P^\3J4E=2U3;[,I#+W^^S##*
MPL3PM?0C2IE01@3687IOA,3UC:?CS[>'F?+SGK%.X&6?)9IW)\):.KZ.@SWY
MD^EK<XL)^1OFALWWHOU7D.]$K90M#=FG+::/I ([%K/S#%O2KBLS!1>Y+C*U
M>,Q:8(7^^^SMP]R)F$D8 =." 2#/OBW0Q&)Y)P8-3.[MH_[K4NY@/-#R<=8(
M)@].D.[P O@RD;@$HD&=\5OK'"/T[J='YZUYGLK#09YO9;R]QH+")MA$EP@_
M$,2S2;?]>O"BY+P)4"WJZ_4[GG&^(0[P5F*JGL5 (DJ6I_-ZP/=9-:DG'PSE
M2LA-"X6M]2QR93*2>/O- OM&%4\P+05"7E^$\4:&D,/<T!@?3-+M!ULV&IS
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
MQ.008]:PPWO#+)::'%E#B&P4)HY?;ZF9M9EL]Z&::'F0R+SYFI7AS$J 9=7
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
M'E"HB"N1E[9)-1^2>K(T) X#E\SZ@0I5['8'0XTH%9.0/YCQN1M^4FD*QKE
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
M9&#STD!OF9!OU^QFA 7Y CU%>C5>F@4AKOUI1Y-4PD6M<;D>HFTY$<EH$:K
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
MO/$\DN:+0>=OG!5?%_;C2O=]?LN*)P"=;UGQQ++B;:FH$%=SREH^-!2_Q?.
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
MV?O#\T^M/\\$,+;?*=)D;TX-8GFY,%)R/@[EW+C(T16<%QNI+).) LH/1Z3
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
M*B0T['5X1$+BFZ3DE+?OWG_.S,K.R?V2][6XI+2LO*+R1U5C4W-+:UM[1^?
MX-#PR.BOL?$Y+&Y^87%I>665L+6]L[NW3SPX_!,7#4!'\S^._S N-C N6GIZ
M.GK(G[AH:+W^G,!&SW#ZPC%V;1/(@V<<(O)!C)R7XS]];S@NJG +S_7P>3\3
MMYCBG#CA3VC_B.R_%MC+_Z/(_F=@_RNN<8"%C@9,'AT;  ?V#R4_!S+]]_KO
M]=_KO]=_K_]>_[]>:%4"%6@A<S2P:[QR]#QASD)^?X;FX<ZV0$4?;<"[;L!7
MEFNKZ-.1%G'D]\.1G,96=7R\U29N\@=\(-&8G(%T=CKOG/.M+E8]J_SHXIZD
MWFX&].MRD<!<;_.4&O9$Z1I7R=@J=[WB2,]$*)0FJ;*=1,,UJ5;@V+/.Q6GW
M+@80S@GDCB 8\P7TO0]X]WS/AJ_42/>.N.7JPZN7J, C5L1:G(:"C;,78::M
M@K6;.]/E\?&Y!Z5103O3_(&:99_K3+X1R;A(@ROWC.V0'V@3)QAZL:D^:!L\
MM+56H&7_PDI%'Q6P6XUM%*U;SM&,F'2G=, N.](-27ZNP6$WF_UZPPY??"1_
M=*8?K>B9,ZH79[OMB@O4EECD70S4$(XX> P?%VUU/'!V$=$FCU0@ V*D?P5P
M(XV-7RNGW+2VS,[)<^3*BE$6%[O2NM KFL9XJ55/0AWP%><TT6+@PL$XZI3O
M$0V;3WQ:-GV1PG->*O5=T17Y?+:XKYPQ6J<2TX@M3R]0^H45#.B4RN-%8KZZ
M3-(=: #^ACH/B7H(X;/XM-3"U\A$+\87L9>8ZN/J8=>#[Z%:J,#K_1GHNN+P
MH*S+8C7&Y_PH4"R2<0_/V-$5Y?ZK#Y)M@I!!-5WQ'J7X."&(K#,D:_/@O6C"
M$[NKXR^BI6)R.^+-*9KV\&O 84 $81-"Z>-7KO#BBOGAZ/%N7LT4I8"D/_I
M^VZ_?5=I'0B]V:E-_XAM&DR0<U5KU.\&$VV9YEF:-<2%-7BI7(3XT&_=)*&0
MVKBD5P(9,@LTN&<2?**_;D(&A\Q>(16(8P7>D2TCXV=JN>(B-BP>O.?M/!_'
M$OB\^>13O1M99M5]-#I<<W". $7G:6Y"]G1PEJ7YZT)NC:V>J/7U=EC4>>!!
M($F2;NH+.AD^]ZG&F0JHEZ))$#?*N4+M(SUBH9@QW+ _*\I_-KZS8"9F"[*@
M!;O1;V,]BXH^A$7*B0ZB,U1O?#K-S&YPAKA@.X:@@_P*6C= FV301A#0D3-<
M99MTQ.3>:P.GBB]TV5?(B3<_V4CX7<E['SB 6_[ >V%MRG#5M;<FS$*[ [KX
M#00F,L^JA=,+)JYH"9?HF&$P90/K$G5U'T^5!3%W27]@,)FN0Q+T-GB^&'B*
M"?,-SH6.W>!>W#!LQPU)GI+#I3<&:D9^KM-!Q*!.<J/.K[')4X%>!0?NF7[W
MP]$LDBIQS0=[(J#WRJC',K=SQ1:VJJPS>BKXM 3Z"SP$\(OFO'O"P7*P!IYM
ME+=:83)A>5E^ZQ(I4,A (W"^C^%0>@G%3ND?C56/(SH;ADI"F)_Y,JOYO;H%
MD R*E(W!*PIK=15<#815EC^=I3PV7M."69L@SBU3@5)XQ'JV2=Z$^>KYI<5.
MGUNV8RE!5 #Y?M^8CJ331_*Q[\UM[YN^JJ#TH?DXQZ3MIEPEZ9F6D">G62C)
MF#A8Z&W6RL//&NU@5SXLNFW_0_>%_2-H*R]POFDD4*,SX@!]E9SI^6N7T<QJ
M\,F9[[+AEF-"XB:K\LV"OO<=ALSZ]RINVHQ?\7(1Z:)?+M83V;$3/17[19%&
ME@MQ\X>RI<OP+^M%1ANC'ZTO7CX[-/N9?Z3C77\OG+_7X()KQ^O+N-CKF[TX
M+9B)B0XG\(]E\PRW&64I\3([T3B$-3-?<G'Z#(T(?*/"=IT&?GTT>A5>"HEV
M.R/[>$_YPIY^81/%;EL+=K<?(6:%]"3LL.08W6*.8[W6Y<0+^;5!6\O1""O5
M*=OX^2)-\INA_+QD39E8,_1(__D=OY<!;VA^>]P^_5[ZM6C:<7;SK)OMR_7Y
M='TO52.62#Y8"_73LQ\-K4/ITZSN&L7_.&VH\)4%]TT63+^JJO1"\-$58M]W
M$2$Q6E_F%S@J ,ND\ NT8K:[KE&!^A=4 +M,M^HKO; F-RX -KEKX#VK%3>:
M^*L1W\Z+N_>P4EBE5_D!R<\1@"0Z3=V-,-A<I1+EJ2%]O6QP8+SS1=#U[PK5
M21?%/M8')/52@;_T/^!OK(/\3@5.G, A#A:R4;-J*(+G;QA3C9T?+A:">OR8
M35MHR$N.[H#I[@W:N*<&;2QJ?1 W'<Z;-#K>("^ @$.1PI_Y_D#XG<M#C[4O
MS#(E5WM:M0+LY@)Y&8RQSBIS8:VUQLW34K%71^>*HZS/'BGVB9[>!GH&$[3I
MZ6(^'"[^*0CI'HHL23>E7E4C8Q#WTOK&UF41BR"IUYF+#VD@>8"__Q>Z_C^!
M00FIK=.2A+243'+*]03I\,#T)ZS9#P6KZ:I?<@KZ86NO8'.CBVH@<V)#ZRZ?
MTA:=L\JCC!(BKI4\"M16/_U;]<]]_SU4#]2_/HTRG@TVG'@2OZ'_V;Z3%LA0
M/N%W,PB33(C.L_Y 16!5$LU,S"1DFN%[(^W[=GC7(ZQT/_OD1%7[1"D$M?,"
ML3;N6L(K.DA,%J5O6NHE9>;HF@!SJO%YGX;[4D<*/0,"?&TWI%=^V<=@&1?#
MF]I$PG2%>-GB'&EV3&P<",%8S<Q99@U9CVHK)U>W<43:+/>=.Q,? %V#:;6]
M#.CUSW7F5" TE( F;0U@\$(88E4R?%RN5;+269;[2EHA_3NR&"?-+A?7W#0O
M^?.ZG.OG,@)W\A,ZO.O&9 =_^JVW[;#+SA.R1?=KRB(6QQ^]/WY3_;GNF-DM
M>4:-%L#P'TGE:B%N8EW#9B]RR?$5>1[G\3"]&5\3:PIOK*,"<8HTXR8(V<>8
M4KE(M#C\?FB3<23Q<LNB"M9\EG+YZQC)G]!=VK!8^;T:<;"D](6."@B.HRR!
MP[J(;7CH#*],C9>'1W6J@NW7 GNMH H]2:%K:1G[#1N3(V$M:/['F@SX-_S)
M[T[4I"C8B%<<7DZ^RR 47B^:GKB;P;H5<;!?#Q- &F%A DY5FIENN4IE$V]_
MM7"(HCOU3_T6K<CV9]!BX#3KH:@0<=AH:*MO3N(#MYS"L@^+G-NG[>W;GGNQ
MHIB 0Y$(+(7'N^JHM8XEUG3HX4NU>+7&::W35J[GGQHT+(VD8%'1.7C8*U29
M;&%FVJK%R#17BAK=R>[D!OJHLSB10#6P4Y/(G]7M8<\J!AA[7J1ZM5'"WN]L
MAJ3S(MKXHZHT"QT8BK)$Y9OWY@_<:?9#>1,8!7<O\:W$:&D\C) $V65K)H(*
M<*?7>W&/VZ<X,XSD*@:XO]NR#5<(BLMBOP%]%N4WF@0VZ%7OWI]3>_ZB?#TS
M)76:Z2A%FETEKG:2,B$J[1(>J5JSM^+V7,S;7G^[Y#DNJ??BJ> [ ;+>@R9X
MN5<90Z7M+O,_WA-D,0.<Q5\DUV_0")+2"P&O-V:]=0!Q NMVDCAAU+\KX'^I
ML&BRM57RG5# +6W(,Z%:Z64I$$'JO B8-ABG8X#"L&(JL[^22\'2^=QWS K*
M:HF5[L2;D'Y.,QY\=<OHM!+^D6]Y)B?;9/@T]Q8-T\2SX)<WH)IE".QHM">4
MEGCMA.'UT&FK=VCV7_Z?#*5>QC3/LB5N!9323)L@-+WI<&[A)!V<BX+>D,L.
MSL7K=/1/$_EB4M9+5MS*"D(;)/\_I>A.42'(>U]I. PM[XS9(V E?^&W+C!E
MKB0HK)] KH(<!8M^?Q-W=($313LA".LN.>R##-\Q>X<\34SQQ$T8'OG?DO8N
M$Y O/ J1*M8=6Z)/TQ8DZ[@BC0EVF\'J',_R5PA7Q/N2+R;VT'^9]!&C56CU
MZX/8_I<0XN^GR&U <5KU;ST2:)9=)M)) 8&:N9\K-WF(=6O:Q ?PB"<;<W[Q
M;O1YG&.2+%&1/8P2 F0_LZAE!*S&V@>]LE>A?&C5H-'\3)^;^W;96[K@ZN!N
MP%].YQF,"WFWP%NE86;\4)%[J[/BK&".I\R7*.A%>O=J1Y)SA[K2D99WQ%+S
M>__R[ZRIY'3U%<X-P>L%$6T"05,3ES*@65_^00B:Q K<43J-M^^(B^9%L:%S
M2UM8BP:IK\<LOC'V:)H01T_@1[%4(!*)P$5J"&]-&#L;F.I^_!R2%'_7@%ZH
MK0YR8X=F$WRLI/O$V"]$VEY#ZW,CXU:I>RE+E0Q)7,I+ %N"5PPYO^-O.NS/
M(_@7L!K!8]K2N59MI 8\CB;\E0J+?F-?:@O*%'#].J<]->2@2+,3_0]QW/:?
M)6GTU7^!POZCK'W#E,*CZ6@?#.A#/E6XH@B'AU[7:RA] P6;UYX<73U^;L:H
MDQ5N"93I^,C%U*FN"//_2#'JG^4O^L0W(0II9A.>_;;P>D?0;P\M64<\P.7_
ML,BH*BF^W7^JS)29"OC_!ILTFFO++KTM7=BRO5!I-_N739[&9V#&.M5XP29S
M-C;VO4VU)W<Z>N)<BM?I\12F@Z#83Q)O2,]!Z/7CX@K!R;JZL7JKW!UQR8PQ
MV) =UQ^YOB';YR!4[+R$(#JZ\8.J4%::"M!,@+G*@.8M_XORC?TOG547CC>M
M5@FOX<MV5KF0Y3ZE):P3JW;E47#44E0$,/VY)@R[W_+Q2@-_87+BYQ8G\:&X
M@WWHT^R]LQ=O J*)+V_X/:P9F-A[1<B2IY-R2BQZ?G>C'3>X\$ +=J??XI 5
M?0R38?YX;_**#^W/S$O2\9WI3Y_#F?I X)NER'J/WOP? +7P!Z#"QO\=H/C@
M$FLVSV:AT742!)[HTFZ82<5@=-EDJ,J%JYU=6PF,:K&YV8 _Y!^8\&<YK%6E
M[\F%E<G>:5N,E+9P1=;@7C3+1AUAZQXG[KTF)+;_3!Z__MB8Z91[;#<HFRRE
M%[Y0 <=8OLQ09Y?3;?N64X3#BX4N<GN)P[@4RIE#KBA"(A4X%X./@\_J;!^"
M&+=CIC8'%5A.4QDT6HQ_:I%(Z^QS;.RT1,8#HK"N=E%$()/TPM',N'3+\^EK
M(R]\'W%/Q";'<E0S;"16)Q*9@O]#X?8OR4$_(#H0Z$P(;D%*LLZW*RIX3!6N
MO0VZEA\2?0^DHOD(8.>Q]$(H^1/)T3R>-8%&@Z'Z&16([?];E=/L:G!MM9$4
M5:)12\D@<P1N@)KL/SJI%7F.X+D9C>3A+ORBP^)UV2&$%'>Y?/)^H$$;O1>:
M-64OG!!YO5NH/"$^,<GX= \DQPL4P;=,S.O81NP)T%<>A398L0CGKD=) ^H;
M+'H7>R\6?@6A19G8@".;U?N:?CR7>"*_VTM!5*DQF8F3KI[^N?L]=.-,E+ (
M 16%ZR\SEU$/?^ %9;D>E:V+JM&&@<[E(Z=9USZFU"QBH2:I8'VG7;8")BLL
M\8)Y0L)+ @^*& :NK4Y*'T71E+XAZQO8L$A8QYJA,3FKC+C4D_W9J>(D%7CQ
MJX,YX$G/'[MZ*P)7<X(@<9FP\(-;7I&'4+12D'.TJOKHA5WOLXTXZ>]@"1[@
M6C'"-5>RB16W!W8BU1@WGK@*SW@02JJ+V0MN\ +RK,?.4DZ2/Z%_>W8YPSDL
MS+/?_!15,>UL?R@1_9/YI%[1A9B:G0SH)\G/WTBVA=US&,CJ^^X: YF1.#XV
ML9Z!J6//>BYEG.B47H(RD;P)-H78#0FCFO)!_O&]+6F'X\SYDE[,<5["NGZ+
M=;'@S4C^7[58Y; I41,-FLR5=16/*'T?0VHS7)\NY=N2XX[OM-/5(KTHB5]F
M4%V&D?GA&F/S+^#OQ-[OI8_?ON6CKOW9R9J=V:SR,,4?<V2\6X28M8_GSB=H
M=B]JK=BRI/@9&W6%W"8JT('2(=M;;<]OP&5GN4C]KMBH68^*4H'\>H3<GH&-
M^=%+R&CAD\=4H(0*!+L53GGL5@_:PY_AWG9F'.4GZ)/T1FI-(P#"S"L,BV<O
MK7>%6>60S?$GT[^NT!/@AY.5ER:&G_)\.,0;V5'Z E3>]S"JBS\XU^3.^W[W
MS78)7"I C-T_<-W(KPR)(!B:^!MC4:\EW"E%&X5M&O2H:MCA"> V7B]8"2I(
MC-"0:GX]!)7W"^4SMX4DB_Z8!]32>^K>#-0Q$'ENE%^M',P>.D.W^'YQKD&"
M/'Q:;^'>S/I$KAY/2)F_L=NF0^U);BI@=_(\^9'2QAL:7, Y<GHI\Y2R!5)>
M;'"SWUW06,& \Q6TRHM=U]^]+1LYK&C&S5-\1:I&17F+RVZY??6IWG=ZLQFE
M+4AKK:8&'%M4(&*4!T_1U!@[AB.6&P'^;/C,EDT<C'9\^EY''64JNJR?LEUT
M?B8B"7YO-#5@$+$MC9J8H?1GD=_+/9K!"K"/Q9[\F=E'FJ4"QITI>^^IP#LK
MRC05V(L&O'O"/QD4K!Q.]C_JR+7P+W&DB+.+5,P7&<]9I1\GZ5$!QMYF:_F%
M&9>R)G(";M"6D+@NX$22_D).VSB-(;B6.3P-FDW73SC+20782^-?PD5M'-!.
M"LO"IS ##KVI#FK-QD50"($7'@WX3]W9];\QH]N_J:26^5KVM$_Z<N9%X=TP
M_&:S;8L-_4"9KO]@Z66U6(22IFGO4!29L4A@+Y0@M^?V2K;T(H)C]?FB%I14
M'$M/>7)[2Y%FNP"-PF(X2W _,<-R%X6+]4G0'",%Q#<CZ6;?M(\<W#$#O\VY
M8F]Q=08?FGTFT>*7]C"Q-W*E[&>NO>Y*'.QV2X)07J%FE1J)@Q0]-(@@OVXL
M40'=,L#?#(^B&.@&48%[Z> _-'PP&TI40+Z"7$L%-OAW8H.IP-8U1>CA/!4X
MO+#6306<T =)F(U-D%?Z(.DD8?QT(A8M=$+%LO3H;N[8H\2N;2'-!U&">1!,
MH=\+-![28+97+/Y*Q?+)/#)!1TV?IHW/3$*4 )DT2PSHQ6S=UB/[&%*!XM'A
M&VO\"M4,.GSVMH&0O SH*\]NX26M43>/U'K-?B>%J_,>%S7TO@O&%OIKXT6;
M550WFUI>;AEMK92D7K4=:N6R4-B9-%O^7.=!#"Z8( :WC8_D.DYLY/S0O(T3
M2-*Z.?.:C^0\A7&0/GX*;YKINQ;RHU8$_O3K,92\WIR6$+P5SH9J5,-/F#C.
MN+0L<]\D(]0PA/J9;"1ZSHUEFEABYJ+<X"X_T06_3FZ6@6 GS"@,-NE'.L2P
MC32);WT/D6T/H*F2L.V!ZR>A_9?3B6R%,V/5313KM$+LV=N+22$?Z&/G>!U(
MQ\_^>8T$X&55#_WE;I<-R5JYM!1T*+HL=VK#OJ"K//QOG'#6^3XL&_.@.NB,
M\?UZ07_=9P@AY'4\%2")(DZ6^=$;?>.+PK,\6\#\! X=8"%^Z/5]K-P&G-XX
ML_,@U?!M"&RG\WHQ%<!-M,U*THTZST.C,5MF93-'7E1@P'MM[?  =!^DI TO
MRA05V$E3!=8HC$2Z)F&Y/B6U0J_K1_?ZIAAQ;IKF>T5]SU[=5QVUQ6(";?BJ
M^W_#FOJZ<U?9/CG>N3Z@)TJS;WY)(OVF=V] 4M 1G!AYI;]&)5_GZYJJ?U2L
M-Q_[ZHJ(C#*KUD-YZ2I"6"N4V9%?J>G7XY&JY,_MIM,"!O29 1=ENN* ]DV0
M4N*UI1K>Q&FWBY;YE^"/S-,1^&/A>?>^^X47!B;UFMIU)I.N)1)'6VYJ*TW]
M?*HMT*5>Q,:F:_'V Z!AH+2W'^RAAY\)+OTH?#G'RLK.@&EG9O@[,5$+IAG0
M/[-U<X<*'#& _9QI5P@?RZ5<4:4"9+\6*O!)R?Y_\SW@ 2\-*-'(#?4H/",A
M+41NZC@'G39OG#,NOP?[&D&(#:WC+B?$QCSQB.RP5#.%BE6S\B7=^9BY%N6O
M8+,)&A-[G 7>I2[O<<B,07Q6/ 1Q-I!%KR\$?CUM>%LYY:O-<M7'NNS<>QJU
M"]6;$7=6<P]CFKV.!6K6PX\CC[GH_,!/Y=1?B+L')^]^G"ET-T70EM8*M([;
MUV:N*EQQ<3J?M+XH;*_?HXRA9\$5!92ES$''!:[7F6\@31X_.7<1]CB0)Z2V
MD[Q !=HP3'N&0I=[[Y3$;#6N"N0[';ME?D^^ BM)VXU,)*2W;GOGMW+\TI8C
M7=OIX.>]:\R*"W-?:Z_?$UZLRR8P'#G9" Q[<AZ-)#_O45A];75HUG@U^>%/
M ['YQ.E #8DYA\9W-3XR*?O;!LZ96D=\.#ID[]#7I:"HJ \PX]QJ'?SM.9(I
MQ: /V7/,^G?.).HD*8"W$!YJZ>&+:#*&:K-O0!\E5A2M'-L^_%Y4'*CYE)B)
MOS:AU;\X6J.XK516.>7N).TF^7%*((^N\A).0FD^38# L!]"TG8J<-KB2IMJ
MLE4'T\6>#A;9;ZM41[3LF;*/=$WRBJZY57\@&<%@K>7B=J;"K98S*DPS QNH
MN3D ^GY;@]*A0@'/VJ&SBH^H@&>H'JX;F4*HH%S;JZ8"KB"^&0OY[3=(C\D%
M<*YHVKHZ7O^V-/;H2< K)CSLGQMIF2XT;<#/6S8GB:GM>:A^ZE&]PEGRG=%^
M3,E2%&C-/2QJY'Q.JR@#74_,R<L&"ZA9&=09X:1F='#O:Y1#OJSEN/QHE5%+
M<R5=\BM,#YSE& E:Z-,;4G/%<P[!8>YL^NJ=K!U+QP>?\/XW1R?U,Z!ENYL'
M/&7PPYT4*J"EA _Q[W#/LUS39*P<*LC:EBTJW4]6WI,TUMS%3P'^5."/3;@'
M;T'Q85[6<"E-Y=-\F5(9VW#O&3F50*0"CV@#*HNP=6[DK%V>Q&;?<^_2IQH<
M1WE[O9YCCFX$JC\>&-BW&#Y=5F%PSLUU@3'R0VE,VP_-I3QT=LU9L-/=C =Q
M*#:9]Q^/).4EDS+#H9]#3GWP3>S-0"N =+^\62<>/G\O5?JL@[%6\U>4A-*N
M->"3@\9+U!]&EV071HU[S"-+K'HV@F/DB_3;!F&6!YFMPIP8O$/X.45GDD);
M:,Q=7@M;N&?8Z.!W^A?HROQZN).+IKHWRN1.<UA/T,00LB"3"EPF+=..KA-P
M?$4;KB1IOPONC],=2Z:&]#ZH^M.<BLW;*1H%,2Y!Z-\P[K/JP=%L[7HR@JO4
M)3KD;0=S[$U;MU4:DO3RGXSJ>_Y;1E\OT\UO\(^H;7@9E[[EX-R_T#PK*%10
M#UM"W*0"C4%X%1*^#K0TF12N;6C80@R,W>EYYYJ@DP^'VH_ZFX*/$G^9C<W@
M/Q+AE-!:*!4X=IX*$.[0=%J1&/$:93]O%Q;BWDY>-/LA?H/UJ5ZVK_7#<6],
MD\J^R?@8,5+_1V4<]N*#VNBIW@R:8N?'_Q@\:DH2XZF N'0S:N]D*ABPTH8-
M+Y%K3@C1Z*N<ZWXFYYR<S/W*-V*K/.X9MD$5.4;>Z.;8@[,VHE3@VZN90S:T
M61_<40BF@Q^)SU:.])<>L[CBN@71XHNG38#D<M(,H9K4B=(4WU4,\22&I..5
MQH%/>S?;?=))53]EG6)[K5OZM[UM5,)3-0#.A/5 Q-:Q#+NR,R?7#%K'T$U=
M5:_9.WCSP5^?ME:3[W-ER)F75Y//<LJKGK>[[WM2ST0+^CE"DBZ*^&F.!B='
M;_VK.0B= 7,LU2"U0$! "F)!8S6D<=5JU=$J-U_^GAJ73G4RU?_U].[0/.RG
MV?3NEE<;% (^<"6< Z8\UB4TO\H;?]'"_:B%U.Y&Y &5RH4YQ$EM;#JST^%P
M'>W49;XWL$I<&*(A"!:"_$@P:T'A4[SW#G^?51FS2B\>G\7;7@YX0-EV=?O$
MA9Y%A<O-H<,"SO2-F_)PG-F DY.18F\UOC$^^'WB61T[?J$M4OWV@\\3CY1^
M!JH%40HA,C.!]'V0:DJO)O2(-=8=F_J%H+'WH*Q]X<'M;172\;#YNEV_O1@J
MD."3"THI4SB92]:W)22Z[EWNA+FEKFAY>?3#< C^:Q3-H5DB!60;8T60;9C:
MJ,#G[ PH ]$_<\R9HCZ@6*BK()[]LT5<YV%6=-:N8$S23@I)$@U0@;YS*!(S
MZ,TCT*GJ=(461+\VRQN% 3WEY0,I<9]_7QS7HR.@/U.!.92W ,5O!C4+2@M^
MH )6/P.T2!F0$Z5=[K\H&WHEZ!L])=WO'(&O:$$P$YO,*5T#N94JNLIQ,M_>
ML!Q3"%[K?E%*8W8+$WQMX/>N0/($0X&<8EC_'794$E+%W],':\QF[-'YJ';(
M-7)#:&HB$,X1<6B+HP*O4<5(6L7V&8[5$L9OJ@?.H>X'&S"\%*'WI3",,D5,
M=% ,KYJY<=O[0-#5AH,P>8=R+/ B%>!P5!'F)<A2(CVN&#J=-:JW?;YK2M*&
M$-!Y <>)D4>HN;(WSS77HB^F7E(897Z93IPS(?)O0\=5FD!C0>!.15]]:_CK
M.GL<?"'+__AA/@T5H/F**6E[C2DAV7I^OD8,NQTF"27MQLK "0-4("X#FNL,
M"MQQ9XJ=VY$?^$%IAP$)YL (];.0"KBACG0#U:G ['[H3CJ7][)3U7#N>*%F
MEU@:XNW*-LO]!7T-LO/49AT]D>GWV.=@H[3.R^?%7_[6O>__="%LQ48<KW)[
M<"?V]<.U6W7EQ15'@OF+DYW?<VY,LGRG4]JQR20H-%C:94X:8JV5;V:JR19Q
M.[C=_V( RAVDU=Q8C02V\,J5-&WI<8-2_6,J>31)WR>DM%O\Z8Y4G<UXID\.
M*79,?50\BI]?(IHTJ 6D!L-::Z"M%#%-64)R=A'C3P/W4UO]L5(1G\PTB2;I
MOH>BL]"P<XIN=(9?K$\;*!G4+ ]%P<[J<J:C?^I]%RZE6>,TT0$>>'<UQQ'U
M&GU#R\Z;*A,HJ\KP-3%U$8I8;),2X4;^5QMGW\*>["\W!JTG?R3HN8):__0O
MUL:Z5R!/2(0U59UY6R/;/=@SL]>MU4:Y2I9NH0@ZL3ECV!0U-#V@S)-A\5#=
M.PSMFLWG).F& X1)]&6U QG#2//ML(]7X\VO3BCGS?M$CXJ]X&US__7"-ZP>
M3F>CU>'B[&5[^IY,W&3)_<.Y??M:S0@ OTF#%!ZIX2)H"ND4G:X:$ FUKI!Z
M\5VF^G*Q)^0#(;[-9CCS2 _5H3Y(!=:E892(Y-J7-:B_M2'@G=N(.)!*@U$!
M-.A=,I3\4Q#\2''PG+PYD.*)\$,ZLS$/P*PEG0,SGT.,I&!LZ@;1D9H2J XC
M @\YH!8 JV7]B J(M:-&US%'LK?)F9CY-"?0/'+%@OQJ: 9WF#DX<X6"L:,"
M8X_3-X3 4[>-0? M0!U*60('2TW\G&FBPS,WPL[8EZ69!Z[V"EZ?0[%7DASQ
M:=42H4BS'.<+2V1N3R^Z? D]6$0"G'^5 D%U6 W )T$#=K7V(4D?OT\2H<"'
M2X>,RBG/WD^RIEF1.B&#%TF2=!N2?Z9G2R%-+?\^/7/J^8=ONLLG<P/@6H+3
MJ^N1:_&+(\=AGCWO6P>NI[V(N4E6CH//GLDF]F,11+T P>D"X_*UFW#;,,B'
M\VJ]9+Q ^BU)ND6X #&$9(:SOFW6<6'RQM53>]$!=V#[[;"8QYB(4@G\Z&OQ
M ;O>C_0W^;37-]C5H UO(Z:(1G.]1(, 4:?DGM3"PO0-]\,G-[0T6\IC6W.(
MO2"!N=E0@0 Y,OL;F@U422\IT0*^?EJ.\C()\;>,F9/34//O.ZC @^.H'<ZO
MH(3R(B5VPRF-WZG <IXC78LF.Q7HN /:(#(21J;)7Z\B#L[)D9*,0;(=;0"Q
MDK^N*X.V3H;X$;RH2C-B]W!W[R/2@J!&N>;V&K.VNTPW0P7^LYS].-($+R /
MVSV2HW3= 8WMYH'$>Q0YQ)8*]-_J@T3\O7H\"?]28EH,G"9:P@Q'^L3()[[&
MH=@ \]2Q^IV%V^"%22'>M;FA;F[JHGG>,:"UOOJ],O3XQ37,)7C0+_CL0S1)
MEP EB0MK#I<I^O?Q19DN522G2\7OTL&C_:&SL;2Z 9 33![,FH6/M]OUCXKU
MY5\=?3D.&LD^2 A)F,!#$L6P>XP)[4U,IW_O7@FK1W0TIC?6%1(D0G=FN!T3
M5E0+C,0+H@HN7S!EN*%-;]9T(V%\LOBBXV)XN^@G4\A!,,+56P*!X/16N#8B
MSY)R$JHBE 63CCU:Y@=PF#DMH@#%&X&:-:$"3'CCB#3^P1IQ7'ZTQ#4+[I&+
MMI[LFKCD>VG.ZU4'"KA14I)A[^%^&*A1.6DR\8BYQ2!<I-%#H\=J8<X6(N8U
M>=>>-I2DMYOEQ0;:,$ H&INQY%I^4!38QQY O",I50VDM-KI0/5MG.*%"23?
MR*D06AW^"1')Y:\2430(::(S1;=0E()Y &:[Q=\,U.P&K/^NV4V$D'ESZ /^
MTMA#,GCU*YPT>RF1BHH$N5>[1D+UW5/5(AQ]\#OP8 #%1'35G^:S.<N9];K%
MPIB>;<ALIHRPWXH RZ@13I V84QUV?SNQP.;Z=DD(94 _TM@Q8$E_"JUWE?S
M2V^5DVSC==3*9R3Z($F"4)1<(['G.EHSI6*&)\5N:XM,-4+WS5U0]2<Q^\-^
M(0M#RLJWI^]IMI^*SHZOY=(U((4 R-HCK;69\32XM;+*3]5'S'Q"-6T'OR@Z
MD#EKA_6I.?*WQQ21I$O/969ME\_W'JZ3HKU-R[X:%:Y5'&91@36W<\+VPJEO
M/P3PM?BGX(] 4L1'>7/H#[Q3[A:D6>)=ZD:]HP(B^B!$=,#_UQN:T32D"+XG
M!3LC$*U@'I13=B23X&+!)-3$.R^XC[Y"SL$LFE*!"@PYT\8=G]JBZA!,>JQD
M9)%MY59BP&UKM/2L]0_FS&#F=+PAE"!WD"_OI9/N6@U03A E](9=/*6-SFF[
M.Y]*%MF7/V\&.37[05#868'"LQ^$6:K=I]"F$XI2&F%L2 V<7^071:<<)Y<D
MZQ'S"&063G04;!TM(6NP:?@TQ?#3J=AN=FN)N^%99?%)KW6EZO/:3T7,H?Y2
M?[M,DG2X_]<:S"/*X;>U""TYW\^4"365%<3+V-S)OGA_K'=>6NV?:Y-K.J ;
MML4* KUG\($&X$DWRQ.D305B_4!9XZ;[%>E"B/2^TL@]+IS0R%RHS2)U<[:)
M-E! ^-6\),DO8O?K 1RW^'D?PWE.]BVI7+FO/E,S?Q&UOD/3Z.W5M$^1'"WT
M\%<^OZ]R(BB-2VO^NT8@G]).3Q">HV'<[H-S7L.Y?*] &PL[[U&-O<]L;:-*
M30'=EA[/U_CW<KK>R<Y&T&N^U'V(VC%'?UZFZZRY@F=N5/WX)M@@PEIJFSXK
M7+H]%3-N)A'[B6O[3%GF]#)_]W3B%YV%J?%VVWCM]MZ'T*>ZC)JA=7CT6[AC
MK:::F["%C6ZJT7!$"GS:SIZ/5![;&*@V$SR^;J-)]$+-?7SV?FZ#8WW [K5#
M4%B[^^IY7?\0)]1?O,["3$GA>IPWY?>0RN_?,K#G1_EG(5N]H"?J@W0@^)!<
MF40)Z\%"Q4?O1-)^=5*>I/9L--_6/$%4T"=4O$:OE[UY]RETL%N;,Y5U8U65
M?+PH90^4L_'YNF#BSX!=W*UWI()J7\A'_8)3@<?B@"^<) FC0_4R;Y*8X',V
M(5DKIKZLL<XYYFT+EI:MHM$&/<!O@\UIM!D'P;D9CH\F71P^Q[8W>2]W[-3N
ME 1][-/JV#DMF QQNUFB1?/B<-G]B<_OGW]#C8H?@!@L!%"4K)HI?+7XHD]N
M#LC*!#]]UY2H^ZHO]68G4BAT9@'"WB@*.TK8B=_JS++-,S&<H(_3]GGX34:2
M\QC*D0I #\9UD[",B4OE<>,_M2B0!8,]>C8J0)O!3 5*,*_K9N8$:EG-?E8]
MF<B$4'P,$@_/HWZ:%9NU(QAJ=,A!A#,MC_S+#P.5;Y&M!. $/.8=&NU(U_8W
MGAG].\V4_<TWH#F)AB#!W09;?Q>/VCF6 2U>_C/E!M<2R>L/H35C]IBJP-\R
M0IPTFZ"H_2%9+.*(P1JUG(-^+4FW9@5].0/]K9AO\:C/^)T8X\_&K8!L7>.9
M%A]8JUQ(L@UCQ*!I_\+;E5'Y RA+=V7+&686E:=:&CZ\J^YMM2O3JO@H58V,
MQ!9^J6*K#+LCI 6]9'OK^F+-;5QL\T>)%NZ]]ZSA*N.%&TO;2S]N7E8(D?KZ
M8U73OF-ED"^#56_V=]FS3*31P-5SC=(=FAWRK#'H^M[^<I"JFM$)FHS$Y[A[
MQ$B'%U\".G)06=VG!>E>L@5D?PL(/#0;V:'!,_A?F$4%3S./D-@R'WN->PQ8
MWQLO2/CV(U[;=C3PJ?2B[Z%> X)?'?;)6UIO8-.^AD>YO(LS2+;K1%-?'\0(
M! _I>O@.,ZBN:$%EB\TO (']E8<Q\W+""O_=]"0[:87VJ/6%+N"XV(<=(("K
M!>0#"M@(),2_^:J=]C,QB].7YIX2KGWJ#WNJJYT!580#-4P&<(<ZX<;ET122
M ]$SPUOTQD!N?V:EWH_W5Q.[WV  V@L'HX.[<^FE%:2@4N@A,84*:%L"6\8A
MTX*#H-+JTA"]8\$_8+Y@SU8WF'19#VYB0P;O%%(_L]T(JD_:6*)9%)()S"$Z
M!Y0YX'WL6/UY%O%SZ!-.:>S]M@,>;]^KW;%'?8R\\/"Y 7PI&RF'0(W6@_27
MW@0[.&,#2ART6%'Q#W@H?.MZ#5@,-@;6=H"WPX8L%3CE0D>I ZNMS[0&Q'10
M2AG"#_=3_[Q>6H;]Y7:WJ4 @9NNN#$A TVYDH \RX@DF@PH@@)N0P6D&HN&L
MOT-]U;ELU&>?42_E/+%B_R*[R;:\^J>06>EX8@7>ZQJ^+2RU697.B/.D:F%W
M*;J&X2&G?&+O]*F3[J/EEW;2PP(NX%MBFVJ/C6\V^^K4-ILZ%NO([EQ;]F>4
MC7..( X2#*\,D13D0G?42NN25_HFC7@N?)8^5N^&%0L:C+(/5+=J.!QN"R,A
MLA^_Z.G$3^:LH]@Y0A&?;NGA$,_-6F!0]4O/L+&"*[Y(QNL/[=Z_:+U\]16W
MQ%;]ODC=: ;TM3K8-N)0L&VX_K1-H?FH:>*8?GQ/"!_6P$QC>$@^O3UBC#!#
M>@-G_Z-5U_[,2[RFU? ^/X@&<W)<XZW7DT<N3-C<1W4I[ O@Q6*))W<RH*9$
M"1R<> W)FVPFSSWD\>W;-?/Y&M16-VBI@G]G[1=B(M*W#&NN@/D(.X@X\)M#
M1\$:;!1+ARQ2UV\%8#<@WJEY;5\NNC5-UZ43/Z_(-=8&Z/]257IG9W>)GOV\
M#H#,GC4^D S@![5K(9H2;7D44'<*+P'>X@G4+U.0574+_3'_$*/_-RV8'*7_
M2Q>!J26\W>6<NE_ EJ7#^HJ4'H%_@W>V*^=:Y&]D>^_6L:K><3WM!"LAF$VX
M_#>%\9ZF;T_D _A8X&PV"K,(#ABC=Z_12'F)#OW;=SSYNO7YMC/T\;\9 /]J
MG;N#GM(:B!O!-P=_BU:6?KS2)B48"ENJ>%RFQ0!JCU>.)!16T37SS@\2RG=X
MSSHL?,?HMD75@(R2M%_JVE6HNHGR1O#%^1B%-,8>/=\#9YSKZT-X\\9EZ]3[
M&&8OMMW)\S-$HMM H(;?GL=; _SOWYJ$U5MTQ#8^2ME:V;;#^B[VR%K.M!:_
ML=/%OLKPJ,S^XC&3!D0^BRUYTE.D+A%T)D;$?=5NPHV58PHG2B4#JKU0Z\.[
MROE??RV_MVO-_C(I7IM=Q9.@IP&IR-L1,D(:8J<"C#F]T;=&LFYAG-]6Y:U^
MN6A"E*3#9T"MR>]/R7[U#L5!CK.<3=]_%TOI,D7]D]HS.8(3 XPDZHV_]*3:
M#4O(?Q&%=)J4H:S;EG6>@[9JE-0YL[</?G"DX]AS ]EX#>3&;[:HY5\KF%*]
M,$P)Z8%38?/;R%O!3UZA>LWQ4(KJ[2W%S3$,1:_0F-(0304R;=%FQ+&YF0TJ
M$#I:K)M:I(B5$ZU?8HZC L0Y6R(3L V>W>QWSM/XQ$^2/L-"I41E8R5)MXG(
M/TNY0$RDL!N_'MT0^%WV_8_]C#JM%HM=^+'3\KQ.:'2SYD*1U>JA>TA5\--;
M/C#YI$ND$\*P 0D"+%Q&\4LDGYLKMSQ9GY[T,R!8 GP2N0'TWNY'''/S9L4Y
MYSP-3G2Q7SJ^?]/_O JJ/G\1S8]JW\7"CHY/@@9R!%WA(OO@>\G+@2E:;7IG
M3D=XR)W[T':S9AO%/T^@&;['\>-/\VO![I) 0Y=@DH$:E0#_$6OC]D\OBVI%
M9ZD *2&:CO(#3HGRW4;]KQ=+BC182]AK)>,3C^'C_!HXRZDG9Q>E7KY(RXS3
M>SPXHGF*6($H\[,VMJE)FVH5/CG!%E951$-RSB(*Y#@=8IHO..>93]A,D&-,
MMXH>6G"(NK+RLKT_]!UMM!$H?KJ7)CS@,BD8&M&I>.H0+TDWCZ$GR1.@T6XB
M1QI9R>//3G7XJW)%R?EC9C2;"&V6AQ,&@XJ;C$1[9F;4Y"\GO&"U+V"HX)=F
M<#A2YE/1!F-#/4!>K*J(WIM<O2'+ ?F8FP(WR@!1*P.:4F-8:(B58U]5;1Z;
M\GHZ$(@*,3@PP_/"0ORM9YE[3Q!MZZMTWXSOO2G1 9S")D2I@/F,POZN6 #7
MUHW$S%7^WQG)_-99%5ZNQ\TS^<1H$@_-]$ N0[?!=V1F4#.B)$>Z/I3CG0&E
MLQ[1[M>'"EQS;HXD%O P;E0D7PETC\7T5A8A9KU>8[Y11,<GVHD50WWC\!Q<
M)ZQH%D)B'!'$,)/<6(QET@3J[NC(M#G.LM:NI917)@^L2K\5S.JKC.?U-(6<
MHGC0[ \C@_XZSO&_.U?X6([-V_G&R.G6B6K/-T$D&;V?F*!VDO0"XJ\S'>:F
M:3J"2L2ZJYRBD2SZ5 7JG*Y%YBT!OE:^('7AQF(E#2DJH(-):+M=\GY@%5[+
MV7XW##,X71=&3H7/WQU!K>VB=F@L9X353PO_F&T=R7@E0);>3PU<R* H:39M
M^MT_[(-<P-/"C]VK+E5.D(N0Q<GTNI\A?9HMO0>HSA+BT[+X]\>)5DW\NVVA
MZH:Y:\I9!\DE$"E6%;3NO['9,_/IAB^_K&8LV\4J*J/MPML(TBS!!_S 0?H_
MWJ:$_7F;(@4G"\@Z4;KA6WRC?QA;CGP\7^$__?H+W7+Y74^I>BY1>K8&+NST
M17+ZNI+3 @;?TNSKV970[72*W 3;TU_0?"O:Q[2;7^MU[=M0H<=:[>5QYJZ,
MZR>[3IDF0@0=T#9)G[1@K-XIC?S[K]P8RLMR#9^8DQ+\ET&UY=D&61GR*H2'
M3<.':IB+]-39VP\]BC3'G#X41$X&C04NHUB3=KUB93S G-&ML:T=%[ 4+TC@
M1B*COE[[MG/?UZSY#LU>6U1NK GQ0='D>!TQ=T B61G6G".BMRB-]3TR:_#U
M29]S#<^=SA-QD9+,NG6)J3\HMAU;IS2LN!8M:EH]Z#KJTE+0S1),SKX([PS4
M',7?:<35IPF_\]5,=7VV<E16.+[5&V0C5S9"XC@6+=:I)"3#.R[OXUBR=5XX
M4*CNUS[7J@=@UE#U<\VSZ#$/<V#Q9#M.."0<C::<\1X8;4@[65VI(#ET3M2Q
MX'/OSP&VZ%\[-EE'MGE<A%(3 _4.%OU>T6]W[O+)& -,P&'O[-5CL!!5OSB]
MCXJ_%:B -:COULOFX *H>;0S9@_$\"S"Z%#:R7[XG  ^-#'S@UM9^=6XF!!"
MLBB%W@A9\=?B!OQ2ZD/,B+<=8SXEY7XXJ:LM$(VD @2UANY9-+^U>6N4S!DR
M.5684(%?&KZA-POU/82 6B^A&GY(!+7>%2655A0#*'4M9G](E+^NR\Y9Q,XX
M+HR"FHM.=$H'\ %=(!7@B8P]L6;#5IMX1LW)569?^,N=3>T=L?.'%=G>2HZ.
MOBT]P07CJR]>^7Q3?NHK'W?E[-ZI>.*(__\81"+D OI?=Q%8.V)U!W!M9%)R
MW2<T/3EK1\_/G\<Z6CX^I?1=K<*VQ!9J(/#2S%CC_32UH0<:"*.'T %]*M!:
M]Q$=2>$EYL@Q>N\;#_TV+TSE8.@0RGP618&<()J-?>OF:CZK*"\6K_\IOK^X
M 'J9<5629G<.4UJP6B4<[-:Z]".IK?\.E/S6K#*!DUT?>&Z 3J2H$'LF6@+.
MQTP8O[/_-GBR,2&OL^/TI1?"DY*]_C^6'>E@<RS'<-CRP$".\'=$*F"O[+:"
MN$IR 5OH2A$5F,!0WNC9F!RI>@<88K@0SD7IRWOG>>-?K\FDI>N<2-\/\<6T
MSAR(J6Z2P22M7/6@V1([:>#^3/#D)Q^[^Z\S\R]<I*WJ)=X-N$0%/MD?40Y@
M./,_2BX^'PP7_0NU<P'AV0?IU*0G.N"DX<*.7EZ67,-EM;7K[H8R;YF^%O#N
M[W#M>O[;7E!(M'?B+ /Z-=+DBS,<']?E6I%0VLKVF#>?(W';E0\68C<5T*V<
MP[%GS'&]. 377<9@0.*]'^"YR=2YRF<N'Q^GW:Y82H-?BE0_F^>M@DC1'V:[
MVDZ7]=K X.:.G42%R2Z]&9K2,WVNRGFBEVGJVH"5SYG%O@N]R=HT0WY"8VW?
M=PMBQQ5NEOX@)']THLN<M!Q_^#Q7W/#":>,Z,+:@N]"QK0$+BKC/<FY717'2
MY!Y?8^P0Y0W-[MT_@O!9.J?Z*76[V<AJWCBE';H-[C#,VPP2!G\ZB:27_<+C
M)J1>C$OLI+;@2><5Z-A2 Q5XT/\;>=M36*+NI_(/P8)K ?;@)<Y3@3;_M25G
M*G# "-+\J!G%OJ[ICT$60_\QR+]1.\H9K /_,AWP8_"F O_RRGZFB9^E3H(@
M&Q/)LD*?XO;]T5-]F^-+L&N[L43[6EM**#/L:&NW\5^&"#2X=%9-YFFB=,OW
M-3/?VMI./>;/;9Q/CLM<Z-#X_GY/51IN/9S1YR% ML21[WZ *K#@7AS3.DQL
MPVG!SB.]"3Q[O<V79![ZCQS>NSQIF_LVP %^+PZ#Y_\=  AQ7,&W[&6C\IWV
M1E.V-XXK=4HS#@8U7.)[.!.'3O]=Y.II=,TY+SQY==4^OIU/9OTY2MX9C#'$
M#)=^R.V&V8RG*-)LHGA=U>%8MS"SOHDURT<5R2&NLU>KH[[;'=6SS"=DAVH\
M0\@[6I:.LV(>Y%M1@<*2CV?HX'Y.';#+%TG.&7_Y,:6?CU4]%Q._&#U N>[M
MWRP?$XF[G[>? :U>+YH;DI'==$E'\K#)?*_X^JT='H\^]D_O%:W#ZE%L*!>D
M>DRKV=2S[':7"0UDR?;IP_M_=NR.POXRCC-KH@@,U]S- ]MNN3S]<?6O1UND
M9N,WGI<>0E"6*0A\,F;.2=3(S;"R9%L3=Y'!ZM?Y=@E"T=H>"#8)[^%KG0AR
M<ETL(2S4!6D]YS?%OV*VWX[,%27?"_Y=>0@;%*T%D!A\N+K ,^Q;%^1M9[&2
M+I%(E03C'7]RTBB?6-H[L1>BM?[>  "<AVA)SSKG.ZW+V9=]Y)>.].&_Q+EK
M>OLEG%9Z/3:$ NJ 5YCZ%SQ;'75;XD=*HY<T'SY+I.";4/5?Z+[_F7__&3O:
M"7B%/NKMBORT P>M)3S$9ZDA_!8LTI?Y1[VL?( L<]!AO,W8D=:R_.,TP.@R
M_=29=T_%D9Y;OUS<AO(.Z1#RRU59A\(5ME\G4$5@7K1\V;,$8;8#@9J$S\5(
M%:R&2HNO4%UA=H_8R[L+[MNZ4_UA#^&]7(5:_T%U[Z")!CM7L&)]/+<J7.[&
MIZ]_G7A+T]%S$2(X.XNMA,?NL=L@+_C$/Y?9%/E8&]2)4N&DF9TYCIK_ZHVB
MU$$I@:!C0EZ8TW@ EM*4A%F<@HZ3IV QP^I-V%LHTKYNKK2Z E,2^GODT?OI
M1^QZ(H*AM^09,X[G8WO#9[9N(W6H  *-L)NQF7 JYYBQN?YM0BO4X)%[X-=C
M!N@P=8.OT>[-AT5?Z:2FK;M4\SWOVHM!ZT]*TJV@QO8I!J"G0(^A]BQS_SKR
MJPA@7!EPFF%6;)(<WY<5;]5X%S/S$T#Q-_YM3*<E;(!7HUR;CJ?\V;DHOE9'
MSD)J5,E*-#^3D#)Z,^\K6(Q:IP)OBR"S7J2D6E%R!Q78,1P=F(;C]TGBP@S#
MI4E&@X8TWA"R$N(=7!X )6P]W&&3C0K8>6.-SIBUU.6SUA_'=5\OIJ2V#46@
M-B!8XPUC_BN9EP^"#2-9:7#=2(4 PV_^[C86.:L\_+J%3E\LR[LB#9(=.]8[
MG\.3#/P\?; G7OCET23O469_,)-N;/0%2'#2[/"L+\SU%B^KQKZV-YZV,=SS
M-H!M=6L28*87P8XQ2T(Z@-5>@49A>"CAUPY+&L<%;?CQY:F9.E&66M^_PYK)
M%AAN,8K25GHKZD#:=_^(@%I^DP%U_D]';(_;UK?!FADQ/F($ 30CVXA :33L
M#963/Z?S<?YVQ;=+QHO80'6!O\_<T*'J$@42822KK-6M8XZ%YS*3M6JOT6W3
M;$:-3BJGO-C?>SHU_C/1ZN=+_?DK<9VZVIPT2O\TE5M;KUZ;<%%N]%OK2!9P
M/-DA$_.42ZM#";\4KF12Y)U^=UC+SJKKA\-=UZ\%S4%$6M#HR_UG8[J1S08A
M52.U.?NW=@(V"UF5;247)@X"H3ASQ/_1-+&2"D0(BX"=[C"WF(^,+<?JU_6Z
MK2W".QGW@>0_T/4 H489$!;9=MM!LUZE C*,KDL %>"PN^FOQ8*:O1RHCFH<
M=ZG[COVH8%R=)BEK7VFB7ERI8[Z=?$F=E09=,MIBPW^5L8J2\#438&['0Y80
M?(X![*.D:XF:T=GW; KHC_.+M]]RCYUW1E"X$#&H98LZ*E"G1^RCIP+<ZT^>
M4$16;SNEF(XJ>V599TZT%WU*WXS*:_4Z=G%'I-9PSXW DYJ[6B>81'$4M*Z'
M[ELQX9890:]/JX0]Q 2IFV2L;*"^+J>8EG]ML+3@O,\Q6(L@(K!R1-V TRMF
M/4<N\XGK^\)I5J2L]/OZ;HV!FKWH1$T-5,>=&K EO4&?@[ 8[4@7QLQ_M4&-
MUL /@0S6[3U'*A '6KBU EC'VM1:(_QO@STJ\-=M6;>;$%M*3F NH910Z57,
M/^_&6ELP/H%J'\Y"C:[##WDSH%5KS6"R9Z!D=-/[%[7L]H9\4?+Q5$!]?MFX
M/Q"&E]KK;"78AZ:)X]/R,BOYJBL>7?:%K(;A[T/GM&!GD:=!KS,'(Z9D7]\L
M9\X]$IR<?7CCF'^P"SP$-.]M)_R...:RYR6/'(:LGPQ"/JC($5U,8='(Y*LC
M%6)"_48<N+Y\.E(#VI"(P6437MGPZ]_CC#2V"F_<X>AH0L^5[&:PP$+JA,%"
M2<&>2[1?J9H^&S"HJ:O;3GD">ZB%:*WK04/(J22-A5^KTR))FD[W+.K;CC)9
M0 $C#M],M"%HP>"4_[E['2V.5PDN4G?'RJW[.5<6/MJR1,CKB#UXU@:SW$7_
MTTZ6SG_>.=UW;(:D8 ,6]Q6&6/*![R:%&WFVBHC*>\Q3X?M!Q<6=J3F2G6M<
M(>%&P,M:W7\;%_Q9?QW9_G4L]A3U3[DM^DMJE^FFUG";T?H=!/=[4Y.-VGM;
MMNAOSHO&XW)7_>"\8\Y,;U]2AD15R(I1LV#&L^&B6@(S)>KU35AS^&NE$K+[
M(G3E<+0.K!XZDK7+'$J 5V[!O*!,LJYGX$)CUKO."YH?]<K7]] %AU$1@/3B
MS/@-3S>.Y7*2JZ&R^XZ#* B^2CL>^R?')SJ>/9/287EL,1__\FO04((O$W$4
M&Q8I2DB)02M)/S=Z<]]J/.'"VU%UBEA)@"+- *7W*5^ >$G@LQ.OBE"*"/+[
MNCPT(Y@7N)BR:L5KN^LRZ^7?V%5##CZ0Y>^@ZHW\0*TP=F1 !=J',U&CB:AE
M^TQR*F;^^3!F'48%RMBSR%E48/YQ/V:M [.C8$+IGMFZ]'AF#T20\7 MF.%H
M#ZS4ZW7=8)%3G7#X5G*\0'@@%4B+;0S^S>E @2!T#:6N<'1)TT=SEEQ8!N;?
M$[U:JM:(J2U5.<7SV-6YCS2K>?V0V0QH8Z"&X9Y?K/[@9IF+^^VA I='=ZRL
M/"LKKTK %>*.[VFGN]O\P/G-G/!.;[ LCR?79KT[)SO1V3V/6N-9O$$%IFGK
M'E: 3L*PVK'H/GYANTGJ.-O+V'?Z[1K^4HB_F! MP3>W#.@[9)[<NGJ_L^F+
MZ"=T)4F\*#>\1B)[[6SL3KZG%]UGC!XLF!;.1,PT[U>"0V=2A2P[K0PS/I%^
MZ+(.]HWVP4IBP8 _K=H()VWM)3"_U@8#=FNB6><% ];BA_T%@YW_#L'C_YM1
MV$W(F(>)#O!G(Y/[W\=:TAM4 !0\'>H$.?++(LS.;;-F3II1!.D<H2@U%^5X
MSY'GV&@7>TK(P#VY>W%1^M@?M9?6;YM4N%P[NU#,JC[_4BNF:\;I5" *VE7H
M/PAFM9V_C5*+ VE !YE/*&ED(UJUG=#X(*(!OWW[&?N7QLPE=DG2TV>_SF=
M,TDTD-"'^) /:1PAH@.+ JT*-16ZT\;B0;R7=G9:/':W4>L;V!*G0AOOAUCC
MR>F\_X>]]XYJLOO615^DA(X@O06EJ0A([_VCB4I1>A5$FC3I)0100+J (-*1
M7D*4*@BA2A'I37H)2H<$*2&0<.-O[[/WM[]S[CGGCG''./>/^\?Z)^,=2=ZY
MYGKF\ZRYYEQY/ZZ-&X/O@HTW\$2V.@25P[23QX6AJ R,[VYD[[%8S!%;4N<W
M6Q+@5]MUZ]_9^UO>1I6;,%?4,]70T4Z"?<)L$-$3,++\4@MS(1;+0".>'K\Y
M8&3+Q+G@2JO$"2$XO9&.(- N@HDWA6PV;-C.]:#]'*H$Y(Z%'C$5T"E@F"X!
M?ML'ET -(2)L-L)A.^O)$;:'QD?+V)\J^'A7[%(X)>8*XL_9EH8J"DE8@,'$
M3^M:BX4!*CH_>Y42 !*/ZL/KOHN![@P(5</%,2QK"M8.JS]K<FJAI2Y1A5GB
M07-FM7=/.ONF'@2[_R\33J-A8WDW&B:E]B3^:GRKL-5_X%V_+C301 GIL+H$
M.BIC=@_*=/V0Y]FC*GXN3W]FXTJOJUXTA3TF.F8*)?JW?-?T_(48.G<IGNR3
M6Z&^MX-BV'-]ZM>[@SL?Q3R[F09O5YM>]W!(<U7F4_5O)%I_^O(E!EP"R?_/
M5_@*==8GUR[9R4#PU;WB8T]R:)Z3O1;Q9MG$=DKW0)4;CDH2)0>3PV9>[64Q
MI30NG@VU>/-P<>+E6)$Y$0,U>(0^AFVMCN"I7'UE(P+SPF94 20H_AT.B ]!
MX43,3#,2H4$$";I>B'F'[VJRQ4I5;><3;9W,-77B./1;$W3=?4I?EV@LFEUU
M^^GYQX\U"'X<Y=%^Y&8Z#:6&KK\/#,"WIH8K:Z,]H_=#!=?B]Y@W&:8/Z3E2
MDL4EOGW$)H1]: OI0HBR$XRES^#\[H5'V_CS65/OGZLJ7H2/=(2.J':L07M$
M*^U[UE=$KYGW/%C*D;9RYZPG.2:PF+3\(IF2T+WB'19YC<7L%Y2+<X,NXGD)
M26)83IE)2F#TGXDEVZN!U_#WP-'MNT($X5UD@EC^/UZ_]\]!O1?PUR<T=VQ
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
M>1-8'O&#9A3+*T\1FS5DM\7C-+F%??='=T+2^@0:=ZO=)7?^JO_4$#D]I\S
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
MZ50H#5KD]^H2[,4I<\UNXP;&\.3 !,!-^>YM:[?]N8@\=!FM@'\(_M.#:YK
M$+5FQIE^0PE22A;ZI[^*)1C'H0K6,;94NM=G(!XO-.^61C_/$VT,B1E=0056
M&:.7NRVA3&Z/EC%NW0%DX\+:@V[GG][8Q\I KVX2*,4Z2B)A%#251M""&3/1
MP]"K+H;6Q/4=IRE5&Q,N<K!P->#EFV!Z&Z[*L&%Y]4T&Z#/7=T-5?(XII;=^
MWONQ^9BZ7$DB+>&TZ"08;7V\ARA:A:F;\Y]35C?V:J2Q.[D)*D7T@IYG :?L
MW]K1TA$E"U00#:L)=T$EWL]?DJ0O8LD^MR<J2[6@8EXQ*$D_8BXJ[W\29[S#
M3O3NR<$HW8/9/2MP.()T%A/3_<DM3Q"!N+8,SV4TD"4U;*;>_?:B3^XB: CP
MLZTG05M=B$8Z\^O:AV#B6NXZ/FG TD^WJ/S7:Q:[\/P8.BL,I 02MVR4==HU
M$T"Y#;\$[I0"*W<W*4@.Q7)>R#+MYX,N@?6WSN#C/[V+'$9!'CK&=WH ,EVE
M*E9,=_>5C=V^GF#5?-E#Q"+S+M;!W^TKGF?'HJ_',U8/=0EH?G%SEP;=\MT.
M]#=\S_8I(>J\,"1E7VPB?W:Y"SS;2^13@2OS9!%P'-[UFV]B'?&<#E=R,;<F
M+B(S82/AC+Q==H+(QA6>T.UQZ!-TTDA[#L()OCCLUA7&[(J%1R#XET(5IFIL
MUJ86,Q8N 4KEQ>T.<$M-;IO.:468/$8>J3?IWAKRP2/:N5C-?RS)L)/;JCV/
M\1+H@#P 0O8>XZ<FVNM5ZO#+;B<+3KM++\YR)4Y]\M([--$!#U4H55:%H:)[
M<>U.TN]W_)*_'.%%3R$[&1B.58Y<]<.=/NS^%EQD$=\_3JO+=_ ._5.[\< 5
M.)6_67J?SYG/+),O2D>+EX?3R_E*8V'55M9]^P=ZAO5U&F,U3F:=%V9Q\++
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
MGEETC\V]+'G)94[OE?>4?_=OY;#:T/9TP$=:F@5*'B:(\5\[GK7[W!2M%[E
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
MZ[#M@-APGK19J 03VGL,N289:<P<D_2=>OGVS50EY=L@%+_U4+G8\"1BAX\
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
MHD934GWB^L@!YI#T1L:.4,)]K4WMX"S_/\9/=8F,(KHR6"9@M8]B"SDTO/!
M[7F*_.RO7F^D3%^+P\C?*<SLUQ8*E:H87-MLY B;609>)-$T!P\[;YU.E+B
M[.O\3#-LZY*M&=YDOQ5*FE5UR6I*8X;$$M QP[;'F9#PB)#$F;:_MLW/7TY(
MFMSEY44EP%T?KC12,!%><C/1\C0I06W:Y/I[2TLH9NB1[&0LP1U[$$"8Y^>^
MSS,.=^DLNI7C-K5M')YPB"[;6-=+7D2CV%*,3A?NNFV A495<Z(ZH]9SDO:#
MJPAP[*L1)9;39V'YZUZ#+@4.=76Z]8)?5.F\$1PP5J\/N0ZRXOV-S])MGU<E
MV##6;5QSDZ6KH9K8_$NV]G_1,NTL[%GO%OHRK. 2K;P]R2_=*JS3XA!UNUO)
MPOZGQWZ$4.&E+&ELJ39]8U:RE3^O"DW+8)7FDS:2X+\/GXS79$H9UITI%EHY
M^H,LA)=N)!!O$G$X4H+"YZ[4OQ\$ATL,G@P-.C,3;U,KE7^* N+(K]>%70_A
MC>)E?GJASF0I^_0=P<W:&1&"VUA%06OEJ*"0RXW^I*4K-EI@/CY!TD<Z-R\L
MM_@EJSF\9#K@P^/*VI;0Z\TE[Y^I]:^_;H^9:.2_5!L'MRV8*BN'V[DXO,I/
M"9^[$4OJMP"0&-2C<-%VG[4^FS@P7K/X9CC@R5 E6&ZX4K5@LWRX]M_SLQN$
M_$RQ2%*KQDGQH9J1H5E+,8LR.W%SS+*E==:$\U'GT..ZNXBC!#.EV>=9HINP
M2V+/""#:7"2"\TJXN_A?]R)95853M3XH3^7/"Z&/8AZ53B!YJM:N*PN0W0^@
M)R)922G/<;A1ME,C=7>42OZ..@>S?VA'J<N_RT6M$V#!75;AE(*U,\B#ZNK^
MCC/Y*YP:"R3FA*G_LY70E,]S/?ZP?$.S654@SG<G24.)6ITY)H969YQ@<X1Y
M<)H5EN]X[WKQQC.I)<$3V,N+;(VE=\'U(^A;#7\VJ0J5%ZJ/2BS?53V'AD9)
M7Z\=H [2?ZBC/GI8)!_[Y%%M2Z2'2>0S)<5T=OU-?N+WH81(M;,JWK<8(. J
M<[*3TGYZB9P>#]!CF)30@3$9S@4O2MA5SCD- 8W0\ZXXLCK1 ('\7 +,[X)3
M0;T71%@-Z]X6"ZT&"XT&E%+< _'QN/K\0GK-+)3KC+;,_:?3$O[_L%2NH)^%
M4K<VTF?4%F^6Q1BGDV(3$\0V-:3+_IGN]'\ME3OR^MGSCN[KDXVUI5/O2-ZD
M#G )%P2B^HKV-I38_D]QK^KI[U6427R_Y2)2SEU7%^F<9&1XN^CX9I"@WM.:
M%NN'D]NXWP7S)G,FSK=6.[@\9V1CX@Z]_O-7:_ZK_-\N B_I%%H_>$K8@=B%
M-UV'@S0KWLO3\'4/13Z>CQ7HO=,^^8%5IV9.,VAO-K;I*1[P./6J*)1T.2&V
M@"&:X:<4%63GZ6U(9'?;K@E,QOZ2D-T#S/<%$[Y)&S3946PI,11GNOHZ2C;5
MB)[=+W&LHL4OHG,O4@")!T!:KA*W2//LE^2*\G[^]'UF>B0M[\4U&=_- 7N(
M(KC06JU#ECR+NU.:N6'OG=-_:U*2!3:?4F7\$?E=K]%</^999O[4H[;))S>"
MY]*]#_4TFZ0+=[;@]X&=0&$?DVY%0=1L65I$N>KC@G[?A!_/:6^.RL9]Y7T-
M*W#QH=.:D(!<WLAPKG8_BKU'_DN;[[U%"2TI$@$$8PP4T&D]4_6A4 ZG(OO1
M/H8?B %G,R0H[!8/.W&O6VZCR*7-8S\\$'P0^^PDL;S<J>N;GE>(F[]7-G5X
MU!_06SS N(1Z,)"_X;7A7_8MIT[QOA+H8;N;X9%>G,S0@WT!7_3I+A&,7H#J
M ;%09=R$"7BW_H?BF]4@A:,HM LA;K#L56!56YG181E&FT)\R>R;X9 Y+XTG
MP\GM/*VD<@A;-#6R#W45@KOF+^?X\03N^,=8U&!WN_<(O..1384'P@G^?+KO
MM*[09DJIBM&>P]34]T/P*\O8/-(6SE9EC)4K\KUD@"9&>)0MNIKY[/XW:R(#
M;^:Y=L^#BKQ L [2=]L%%+LCM%-^N>3(E48EI4_F5[=G-G5O%%J'%FJ")JU=
M2I<70_W1T6Y8>EYE+AMQ.8["-#-'&>G^VM_KIW-!.=09%9 ^<:CG6&38$YZN
M*OI%>=X[E2'H4($$\-]A^(XAZZW+DD.-^Y4U!ZI^ZQ6(O&+3QP4D9BV$D$M&
MHU66PNJ[SJ0M0^@;)W;?U8C*=.:NL<VS(V4 ZJ_R,;ID.7H6$./--LY:;=L)
M)TO#G?Q+JO7V3LEN<#48_(],^9_%B/A:%X:!SPZ*UT=CPRL^;8L'Q01WV177
MW_8Y94<K<3K\RT'=E(,P:!LRX,5TUWQ-[,\*'_;IJ8<N I&]AL&O/H+\-L ]
M;2SR5LY3;>$>!6,U>7^4FJQ$N$]7S4TVLXFG@A3VH] 587#&0R%O4]@5S">2
M:'VV[B>O]K]7G2][;,_0]<K2Q%OHH-5S%),7A>P>UTX?16NSK$6_[I])K*:*
M0W('21959$F XAJW<2R,%M8X!-IL$-GGQ*I<RR@4I2)JZBQ7CQ)K'^!I]D-$
M*][U>4P_Z?D^P>$LV!X;R2DQI.8$EXUW\S\<! *8U-PYB="9%7'-(HQEE\U5
M<V(,KCG/KO2+_>W4(XEY3I^M1RC&T/,<OT\.*S>$RE*^C+8J^//O^@=HTA.-
MCU@H&OJ4('5B+7%CPTY<56,S<,%2W>(OG.&O4D_CI'.'EO! +)2I0N435&FT
MJW.!,='ZZ3N1A]]TMUVW(6)*8&7$(&$:0Y:7#_' Z=DXY,#:8.19FJZ%49>W
MX^WO+K*"B9J%U\=C0A1S6STQOGB CZ\"#R#F<O! 'FN08D+NY\VILJRW^3.;
M?F\ZV;3M?R3);)/]X<OF&*B@Q -A>6BZOJF"'YR71U.G?M+A:A-9VK?-EN6(
M%+R"LUKLB==9!=8"5/HLF+"7T6:8K)]LWTE?%V1)U\&=4$B'@W[L57^=T&:3
M0@RBZ\L6:^#*LQLWPH8&J4*+X3^N^8=<!5Q&S*W0D*6/<W0M=<,2 FHM".?V
MSB^"W#.OV_C/?N@H'QR6&^BV8'8*-O8=F:Z^/$+SI=\H=57:CA[_2/05^2L#
M.,X0:)<G(?BQ*,X[XPM)HT*RR(?AFQ*MK]3#)7AM=@39=M<N$X]-U4)A:)[N
M5G),GJVC_#"<^A%W\O=]4FCU_L ?SQERZQ-=LEH]S5(6E5LDFOT\+;Y,O3IO
M6?O")*\*J*.V(QO#OJ7;_KBG4I-9E,TI<[WMNA)GBYI!)9- X?252?4F&O[,
M!"OM!6<N/SO)YQ=T5<%HX8:<S49ZOT<5_L_CZ>.VG.YH-(>;VI'!<RH\WJ2&
MB#_2TM59L9 +')W?9QF&;,U9G%,XKD="D',BQV3[V13\%9<LXEC#(Y!#]%-;
M,?6LGLDS*M:.5,I&^5HA7"*_G&:T%#]ZT7\?HH&ZC6]/FU2.!799JA_419%K
M;V]E)KU0Z:M7" ,"B-1\O3MUHMQ\%OE&#PWS(@QJ=>YX0 4W/M(R55Z.B?N(
M8UB77:VV6]RA_6,PSOO;T9$EL7\S #CF _P3E5@9NK"6%T<D+DR%%P^,O#4W
M<T+S+$5T<SQ>]A'_*2<G#9*.NSD%4MKC[W"Q)!O][%._Q!2] Q4HQFCW^:FH
M^?J2GPE-<1<]+\]?<YCJBBL9/EH+HCX[\KTXY<-W_N8&'AA^W/*\&?ZOO]0K
MWH1JUZ)(X90:0-.$<_"90L,K@ S=*M/K1[V&YB)NSFWFO@*/EVUIW-0-R/AV
M"_"HM5^XIS'2884'+G%-#G7!HTZS2I:,Y&\L;3%43S)QRUQB/O["<ON;'[L;
M^0+."#C<%.AO%?5IZ@TD;QT[?,AMSZ:61C/ -AT^S3_0)64JNA'C(;D^QXIF
M2(N2E[(K^RU]S53C:XAO;,3<DUUJ-<!QQ%PH'ZN!%HEM%;R;LO@Y)[JK+CY]
MQ5[E)/%6UUUD_XR/J1?7D>2.Q'^@X?!?Y?_%Y=\YFN46O;L&FF$WBRH=XPO.
M8U2U-*FR7IS/[Y2+U<^7!5C_\SU''\@VP1&#.0F&[#9]\EV)9A,/5,<5UY4I
MQ+_-;6M4WN]Q=WY^=9O-/S"/H1+EOV1>X%X*OXR)HX_;O8:>ENVN9+#O&Z2[
M'20-)+R695]MR3W%#3VH3MK%;;(YVO>:&WV\7;'DN HCT92W.%,9*'6([!QP
M_M0D$B+&_#@;_K"[XOQ0B3/X3 ,V(#^&![8%P+BHU"90&&Q?NUD!#YB'GF0@
M_YVDV0I5@=/RCFC;&H;=4>(40ZV*+>U-$3^9$(G(<)I;VB&2%T:0PX_[;?N&
M#48/_S"&PIBZVJ9 CQ_J1CL*1+]=$F]HURR00[H4S@P5*J8<+,GV1ZUWI(2K
M$">H 5#DF9K#P"=,B>KDCD:*NSL=J2=2B.[6L]/%=BQ) )W=:^%MI]VG5B]B
M;8@W[UC<Q5I.6*/Q0'<L3Y<?>[3GD?L1[.Z=!BC"JBWQ][T8N/6&A;8::Q>M
M:BAY%(-&-CW1GXKM%3S 8Q )VYJ%'<@>57"^?+S!>0GALO.K=,1(:^4+Q#.R
M'1(L4T%S#N>+&^IKW(7?(<G2]IK*/[S%U<^)74-)[K:*CMH@H&RE&Z]C!CWM
M>%VID,)/=\Y=E<!WL7R8Y!PHI'*<Y.B#MZN_-S?N"/BHGA<VP'7(B]-??Q(X
M$LC4$*)Y<_A0ACOQOJQH3/AC4>63$H$C3S1'0<9F%DOS.V5OWJ6ERPD[XNQ.
MG@ >N#;5'! @L$X)G$P?O4I5FX0J4PI\>!%R4]"/E*K=;IX*=KO@,S>FY @>
M-XKRK4/-%@O:H.N8CY'K1EH\,XB1H^/)-+=!AMIQ.BUBIQ3K!+&84U$.T&2K
M(QHZCPH)'!';,G@Y;YWJT3@CU[M5.;3@C=Y1 C\<N\>5T$^C\@6HD^'R6$-+
M?'<L$G%ZWE";(9.=HM(G^(K%2.<>^:; G8?H9]&ECE*-SS)A'(.S226FY*VV
M#Y+$FG+DW8B6@A0#T<\R'8IQXZ2]IPQ9DXXE>KP/1R)^(Z459PS&*(NC&)[>
M#@X"VB^UOIZ$+6\1;*RBR>7\YOW3>T&*KF@/O8WYFMT4H482*:9GL5SLMA_(
M=5;,9__UTB :P@D;^+X..41;7Q!$' UQ$#"B/%KD/*2\[>")+ED2;C##]H/1
MEO$'DSSS_,^7'OC>#G-3.AC Z6\'WJXAH.U.XYZR3K(HDUOZP7C@-:YV>?Z?
MKRAV5,#Z6SX3XEA^VRE1-HCI/..&M=62M-8)HR$SR(T=O"Q AU1-\HE <D8O
MGK"T_LB=F^%76$E>5>P.R4,Q5/[3:?9)B[X/_IF@)?6()<.<'^K\OTTJ4UFN
MT.QTW =.A>?(RYQRZX,OO^X.IF'*+6(& AE6P>":]R*M;-J!ZU13 =UNZN?M
M7N1=Z]Z@?H.<]8Q)^!(']_S3,6%:?R.$6U565O8IS7#4?OP4J"?U62NCQ54U
M62V8[VWY2@&;/MK,]OI/FJ:!$D2C4)I6Q_DP65TOP<D=01G%$'6>_<N@SN;O
MBVO8CUEM!&#M%X&+>7DX'\;*>TK6]9#UY^8=CN_J8_WYEJ$\3$!<]R6B4X-$
MJ#P>2$Z^H&#9TR6X@E@E#KL=EL^#C@LM$)W8J(*55=N.LV]1CR#BA2B&7UC^
M4:X1',NZ:^>'AX.-L_W^U9I2-KC+H&R&'X'#C:J$MX 66T+$5SO1-@GQB['!
MCV%[N2DE*.N>N\;'7>>* WPZ]0Z55WP7AGX4-_-8#Y?+'/;O*'&D1=:\E]RC
M?BFK_XTL:G,6R3.<V,&YL!#O:@X^DY@7A7?+^C[7+;W#OTTN6/CG&TY_*TL1
M;9OV1OZ&?X"[K%"7ZH8CC4N&D68[X$]+<<"P"JOV>JO0FERZ]43]F4 #3P@I
M#UN(LZ!&G2&H. /H17N@?:R/TFHF/3]^RA10X[[?M7)E^<2D-6HA^:#"?1QK
MD.,@*]%8-OG97HA687'2U@G)3M)Q\G:;S!@%8IQ=G^KKBSZSX-"19U5H?G'%
M-95(44EWQ1=(,E',MXL:K\:XH'QF]US8WEJS1Q:,6RH%O)V"/& %DH]>5V5I
MXP&:ER5T:B^6I'6M5X12GY.=Y8&/A\N3CT)0\T<5(5:3UQ\,%0PV1+*?Z(2Y
M(*Q.B<WC%Z<?4G>IA2.ZOMLW>OB2"YG*VK7]H!@XY%TMV_0+:"TK,-M :#?.
M;3*%*^.^7P+]R::&+((B\< B+\;UTR#/;D.-1>705H,H$43_-HQUOP($PACB
M@1J%G\4P_T*'*I8$/$#=_Z72>A/C\K-AC]*G:F\Q/U 2=3B6TB#:_ RS\[IL
M)42QN*=Z/:1%X\@/M7?D$BHL^?D)W<MDZ)OX$UO.IS#D!6<$<'C*GQNDZ'ZA
M\'@G&X9H;CNE18Q<@_4U6^R""/@6]S_&MZ ,*-,GHTUX37A56MV&K$J1Q:,H
M;- 6CY/T7NA@@*2%%/;?C//O05%.NG %J:/LEMI:"V&FKXTG&DI4KS"G+YK
M4[=/RG#@*>,\FJ.2 VHR3_T7?:M,^^4:]P@O*6F\N'(:?WYM8CIPV/C!5$17
M?E.8%-N5[@P=/1:JB$/;;.K0Q9O)U,FH/E7-!-*&(#/-V=_Y)U6P2V3#E)_1
M)3HU+1B3$FW72UHWBK0LW61BCXOZ(?<TD \P DMR9NZ+$V&E;A53!^-GDMU*
M^]ET7\XID7#=  $I)#SZ(/-.AT$&\<^JE]Z;Q0G721)52(7G0N,48/* U+]B
MWN:VOL ;M?68<^&"4N4;$^'I\O9<2A37KUT#I,'09$S&(>CW&DZK%'YT+0T/
M*-]?:+:]CI+:87 JGRTIB^VNG*$@@S39["]#@F?[/BG8$Y?A@?!$U/PY4:W%
M-PCN=O-03Z!D)3J^1^&*V8B@L--*[,[(J%+3<J(M+_C=1]330(;#@-H?3'4C
M,U.#[,/W<_*2[E*5@NZ1;SW,.AV=M+?ZVAC"8N>4R)M$XL VHKP9^(Y(N]OX
M:MI;+,0W;_[3EG_1-UK9G,U2A8X.\/T32:S*DDC$9-8-E'2ZE\ZM*(UG9YGI
MR6-^EN!7'I('?=TPUJX%%PJ=(EOC(XM9HVY8U#W9Q/46G3&.K:X:D3<&.'Z,
MRV>?K(W5 +>=P8DDL=6G+$)-X_U:?2,Z]^R)?RO2^W!#2#"*] D\+PUR[)H2
M->43][,5HZ@5\[,.9Q%Q4#+T[TF)%ZC>O.NXX;$GY^P-JYIDS*>%Q.L:.176
M?T_I_%?Y_UXAW[UN\L'!TNW>_3 VCM?J IT&1TY)3.XNR%O/GRF01$CO)-U@
MJ?#+#9*_+?*[D>7FLW%Y(W>WH -MI=AX)>WZ_8JGJ/@0#\CEC4&[/!/Z/^1W
M=*[/"N9[",X/6_H;J*@!;F":9DI%+A^OJ[R;-]M[/.JY+?@&?S(@F&?:Y@]W
MC'&,PQ'A4)%"^USD#L3ZC<;:J]]M\RS2V,%7>DKL+G$XUO4LA;HG?F4N1>I-
M5BV1T,T[F?D>MEL=A]+<S8,PNT$_WKNN/L/E63K\W*]!6.) B/'Q)C]Q* K4
MF0EJ?X70;4YK_%#>VY2N-"7W1N]8>6] \7#N0J!\+1IW6:44$XXT':[]-+IK
MYRZ8R!PM\MZOJBK!0,$U=/Q<H!SCOG +>J5PKL^]1.NSF?FW*FV!6[JBHL
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
M.U"9XZ?D?I2NSRW%*'QB%T/?[6A?SA#?1AS67;@!3SJ_GAG[SG[XAT"\&1E
M17+HU<NA/L,$IXS?BJ%N;]RS01>,#G:\OR'_5#XI5^+ISRDT@* :O$$&YGI
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
M!WR7.%F!-IZ42[&JDI42JXD[F)L)06J2/##G8!MR:#2=$.;#/>315_P^1F2
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
MZ'P0\JQ$CI+0L=5$NESYJ6_68ZVDDD$&)VD1]/IGQ2YG/LW^B;L<'QT=*3-
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
M!P71*81.-@X[%[SF''YR?A_^D^?=2E3X5)(9Q7(M1 ;W4-%1ZZL6*JY(ZF/
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
M7'Z(XB3D?F>I$YQK8]0_JFZLUVYT<(K:Y[[<7'V73\PL"Z8863"RM]M;$D"
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
M;'1!1Q=,;8#*'\?FS]_7U[<TB7D>5KV\OB$^<&7\Q*UC_OS&!!Z8OS>/L6^
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
MQAC9(YG'%7;UX'R#-^56U\\[YP?,QGV#2W(U7N>+ 4_81P=OU)(MN='ZB=I
M+S=7"PN_P@,[[4+P7VL$\'S -WY%_,4[4"L>X,7:R(9N!S+$"84HL#PD>@H
MI$_9+3,J_]-T8_UW_-\")(V*FZ:OAF)=CE=>HZ(*YWG/B;J*A GX<<E#F:\W
MRWZH_Z 8>R *^8PTD<U2":#I*V1$\3<52JJT37''QR>CS/XX.RE7K @HA&J5
M !J"$<9@%W><*AY(4,6$G)$W1=JP$/^B>L:R#^P91OTX_HO!>^$FAFBMFRQ-
MMBO5Y\$<Q:[#>M*Q-O#&D6(7=N^>Z3P+^^GIASZDS]":88;WUKQI:+B&Q]2<
M\(!W.&*H<E>@@;;_)J?Z?*>X_)P&+*H+\CE+XAT9V4D\IN*=5H&VT^?*\IJ&
MS](VEV+E88&"G##%K:.](,^XK4<C[T+;&7(<9N:C%GQ=O@E.YYH<V,:0L<%J
MH+>,QY&ODY>\ F<EAN3GBEK'DXPAFXJ/2UK:O/52QI)5/@F\Y/_>\ 5V%W=X
M0+):X(3N$S!,<#4@)XI:H/@!BW!\>N\AH" )(,GL2-5K?T8.CJJ@(-T0O8-U
M>.LX :R&Y3-L$'>M$T49W$-4+!-!Q<9CI2L)"@CO4O&J M['M82/^=>$L+ \
M8J>]#K[FH'<R1S6TNZ\GG-1@!MUXPB%5$%R PG%Z([]<9Y;_J:K$NP%T(<%0
M\JU$$:;13&/=5_,#AT8!-\OO;5=>-0WW9/JH-OZ";P-;J?:Q4]^=/?+FZ 1#
MP9WU8\BB_KTYFJ'=[][^8/*#2M@K1);-H.'KYL' 07:9&Y%LB\K1LM'%&;G$
M"!FJ@?\*S>K_A:,-)1PF +UJA8".%=^[&C)-^[%F!2JCV@5)WWM*6^P"I43]
M9$&Q#%F8V2[PFPZXY=FL06Y[:PVZP$,]24,R2T=@I>7E;%N#Z=%?]D15ZQZ,
MYST ;U!<=Z^21Z5%N4C26L1<CFK=9J(R>T_T$_1<S,SI*5V<AK;P$]UI!2<7
M@??/[B3$*%!SY#[HDB R<K!!5;5,)49P28AGZ\_,(EN;;[M7ZYR"GGHPSX?^
M&>]2I-W>=,L90JS;P5W "9>8/+![0_0M]L&K:P %@?*!K=QB:I6I>]TTF79*
MS5-965^"5A&,(0SIMX@P-SW[X(4Z-E.:C3G9!EQMJ<V_(V7V)OPH'OK_),T"
MC#*JX?3>:@/>-SE=$WU=YC*9 O65WI !GO=8%I]AL 5QY=CT\M:FR'F#_9.L
M+!G&,W,H@F2DB*AC&*((G'!P@/5S>>P8:ROB'U<E78KN#.+HEGUV)2N=.+1O
MW&56N,7SQ7EV@6/E210\J9\E[0=1%^N =IS2A;1NZN$D6EL#H2+M[_CK/LD&
M$0@)>,E0];KS=WCR1):OUPV9OT?=*IO^]=4L."T)B/;W][M&9=KFRS.(H?GV
M0$ZGFK?]U<3RLUH%_8M\<=P'-P&B.AGW$NQ7Y%V[%K2ZAJ%HY.4ND\X3Z@Z<
MI-'713CEIA'/8.:H0!A<Z(JXKH[)LLFHCJL$'@B4 6P'_]V8P4 XO-X*MKBK
M!P:+>UG<O!J=;/[648&:FGFH9@^M1[N..;?" Z>[> !=VS4:ZBINM0!^==UZ
MS *I:N1$$>DRZ7PH6OG]3G2<,1<*?O&[% \L6MIDX@P%\,#%"1[ &/) ;WJ7
M\V4&Q;];5LZ!\H_E%MW_B1,:$<2:[!1S[4:_>/QT(/#2+3F#V&W]Y)QP9V6P
M8Y=KF2)D-0XDB@>(T,E3J5O>U]?<0Z$4W'K)=*/TI[>F7YBGZ2R%NWA0LX%"
MBD6:T!\+C%8%"F[;!WV+%*[:_H&U2:FN'#E6\)Y]CEJ!GDQ4_J7%4(%# P]$
M"(*XYF<BA8W/J/J?C4HQ6=W3CQF1W,F\0'# YN7.20R,<I9GH:^[93@F6V&!
M1(%XH+$6IY-?8CFVV9,8=?'E>LV#^B=XH"#D_@RY#<V[SV+&+6&QA[@F:=;=
MG+J2?C*;GAP^RNC)&FXL'KBKM31H;F\6K3[A:&./G+9R&W<_X#)_#PNS)UUS
M+])+FN/(CHLQ"MT[/[LNXGX\TA8F7_E*1R!HAB"J#2*I%ZDC!9_M\!H*5OD7
M9_U,T_G*@'#' T';!(:@&%[ZF93UY?32+B@'@G3LIOXEAZ([:QJ8$XB9I.<R
MJARLH*OWT(J)@H4$#IXE'RG9B?4-XR1W,\+/ ]8/M[6L%Q-YJGBJ!Y\N(>MI
MG-'"PK=;)2GO08;^^/?L%G^V&%>"?_\.8=0?T=9X$F<RA,M4?7'OQ'4L\]X)
MJ@.W]5%]4,:9)2$X/2.4_</?@3#Z[_A7A'8_@B:["KY,$1!9*VRI0/ER:Y(=
M+EC?+#? [3!Q_9R\!@_<1_/(HBKC. 6#:?SN#/323+-P>N7A@AZ>O[[25EV6
MULQK^S"F=YE!)YR$CI'>E-Z4BCPITRJ90X4AR11J07^0]$W^%E-9%)$(O3-Q
MO=#Z8DXK3U#!HW4_S+-'NW$>3A:#P5LPYTE924]'K^M[4I0812G)X:(W#55*
M/GH]T+3H=;-03Q'2G(=^X@[;/Z[D1&!(*"*+!#KWCI6J!::U7-/Z2#XZ=MC/
M?$&%,[1B.BYIQZ#]98:](1?/T>JOA@J7RLLCN$XZJ#O$$3&>L;\]BC,*?DHX
MX %6GD7XGX[1(^%T"J]BA#.=!FIO]WZAP99#R*Z :Y3,W8.F6@?:&Y[VCW 5
M1U3NK#]-JI:J(M2D+Q8.UG%XX NN.IW">MQ9'W)K(]%3$Z/TJ.&7.?7MU&]'
M)K\I'EYH1^#Z:N/VY9:XB%?[IA6TS-1\-\7C"5>C*G8I3FNDD#U #W>4/O4U
MYM8T(.<SLVOJ'"#!D>GQA-?#ED TA#)DASZUP_1Y5T95\N*VV%0WDX^A(5(,
ME2C0APH;W47M!+!;VFQPE\)M)7:&I':*$L%U2)FJR@Z7.T73R>?#HRD'K,VD
M2TRF] C9LF5EK.C1E"7)+SQ@T?#64'KQJ%)=U#1GMEQU9?WV]QND:WH-[^JE
M3VPB.H)<NBAF;,I5CZ_U'U+M'A$M--%E(5I!MS#@A5%7?:MD43/@-.9YTGE^
M <')-[3WJ)0/EV\X7XB[+Y8'\E(ZL)T]_QBN'8@>L,-F>PN80]B5?)+.JT%(
MKUG ^S13/\</8N7AW'-[97,J&+S*<_V>_.D'TO2H-UX::4^"<'?A4V"5_=4-
M/JM:SR)TR)F.AR]!VL_K:D(48]N"S;$Y1U3AF.[O]SJ^OX4I&MZPP^:[J+*?
MA4H1('&<BODHG<(YN7MLJ6TGNRIDUU"B,B#.%AQNU_'R;3W= F[OAK<1"A)P
M>WK'HO<@'NX^8PLQ#+?9N+X/N?$U]B1S+)G_(..7/N@W&^[=!\F#_R>W*+.
M.^.$Q<I1-E$\\$8J[WQ)(449>AH'XX0QXH'6 :)_UMM&8IN<X?UT6+:81<W
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
M>[!KVDMD'SUQ,+1*?;8F\NLQ#?/2-8R6Y<2Y3*X0XFB(E0#H"D9S<S,_D E
M=2RRE\>O/,?R(N- %DT54;C]']AW!77A@<GL@9*V[)^I4+U-R.#C!&[#*XR=
M0D5595)4B&NPV(E#Y\1>JJT;KTY#1DV_]9#:QG*&-C K":.]A0=--8N^1A]=
M-'TA);'^<RFQ9^>WT\8DIO!;=J$3=&[/_8QP#@LXABT9USCS-@+@3F0J'O[3
M'#(/I.R/.B9E9$%UMZ+[N(U8#.G+G:PABQ^E8JEOP+3'KV]6!9,I''X.[_JB
MG=G41GVCN;E1%YP1P863O5S'$^X_*7]X:689/!#S"AMX6%"#I^D6L#TRM9?C
MN(=XIL9OH64#'?VF)</1:)E+ULZG]8BSM#P:44H/.13.M4?ID8:76VERYO[%
MD'[;E:'?&K3H@2EWVD9>1SSC$4!<@@?/[6TX5N&<N(E=ER">EWHLQI"HOU>R
M_LQ+=>!>Y^>'Q!C$AY< 6.<8S6 1W-_I$['^%GZV3HY8EX4&]V=NWFY"H4Q<
MJ$!K&;Q-O5HJTO6C\P>U-T?Y4G[3W]06U3F7WJF?V%CI+L2&ZA4G6B,98G!%
M,OV>3E02[HZE! "[=@GS8$AI^$K*O/<-!?@+%D$4;:6(=1GP;)U(=]=E1S.
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
MZ93_'>N9J_U03:;*LU'.$E6@8NUR7N%6R8BE$6BHPOO;M.AX43CC/1 [T)P
M8(+JCC:^B:6W7;',"EV*H*)G?B-W<KFJG)]^<_*&SI!QN5[XZ:O'7:2X*"2"
MWSH'NL'.<*KG<W3G0+HC>!7-SV@E,3M>WU\ZPR(5'R: F)"F/CPNBJQ]$04%
M1VA^V6C4S7^4%LSUZ8]>LOFCX<[93AV@5UE6I ^O:HDS4J^RN>.L<$Q/CAO5
MEKK<>9'E"L[!1D9T:Y:Q)JRULY&^^MV9=Q9=K\WX7DFC]ED^R8[1C+VWE0LO
M2G]&3NB3R(](<5*ZJ<&WZ]ZAYO#23C!2BC]'OI@7K'Z]3.6 Y/P;V2Q9"7,H
M0'?@:$:T+>&I1%:4<YQ(9'C,F"_U&[GE&^NP;I_[</8.ANRV0OZV68:RJI1M
M;92-E;G6A=_<;*XK=2UK 2<R9A!F\/=B]J57%QZSM!]7$@##%AM&ZU?$F\G(
MR&A(%A+BPO /,2(DWHO45.,&&]VM/V,?40WBT7:N'F9QM)LR-U"Q*4O\%$45
MV?D/17DKMQT'E<BX$4^HWRCHH/QG8L+]7!)#%3[I\7U)DUT+Z/YT9U,9X)E
M]( 3E9/.^T4ECJ<']^JOTK&'Y%%V$@ LI/NIY* RS;V/;6-\O9'*=E<)@*;
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
MOBON&39'/;<2PAHR?5C@M@Z)RHPL92!01&[4]V0&^8@L_B6AP-,*(/03PGI
MGQ.#B%^D@=86^WE)^)&J^+&<@GJ16PNA5Z^P*Y4NC=*">I^?U==%'EI[L_63
MIC7ZJE$HA4L*Y=/V9]92;SPO2GK]><+,KGHC*-H$G7WD-AV7V)F!N+5F[='*
M$Y)AUXKD$D:_5F"RX&+(/:;+'CYKBN<7W:'NQ),<UF[$[<JJ,L9RIMYXC(\1
ML)1HBY_(F!.16)SI1Q>GYJ1O;M50B\8IX3G?%?L?K9$R*.S)?(O ;CKO6P1]
MF;=ZCN>@7H7-6&8?P4_NK8Y(*+"P-I*B!$-"'^$%%4&)+[;V]]IL9$5*^&OB
MX=A03P4:?/%-(YA^*1;1BT)B8,65CGS/<1L>^"=9QOZ3$X#$Q$M'E\%=!$ G
M;.Q!]C:KZD^>4^_.&,Z6!J64E&?EI.._1,1RU;"OC;PFF[R)*/3PIL&%7'6/
M96^:#Q<U?K_$[E.JM'NIB@"P>$X<:(VDLXS.X1LD.-A 3O;VJ_' SZ^-)[$W
MFHM;?CXB:<3O)V,F09GJ*11H87'1.SO;IL;K%9.#X-+ UT:BU_'#XI=^#2T=
MC_/LJO$^K016:G\R(E&<.(1-H(BBM&"?/ND/\+R]G:;ZM>?$\7RZ]/1YRI[J
M7;SM<WZ_>JFW))ERG4600^$:!1FEXWN+W W+^&,GAI- 9Y@]U>9S^<Q)CES8
M7>B-:[F3[BP!]88>T(')T,](YY[\^XZ^\ 3I[Q9VBH)&;@0 >1;BC**3 /"A
M)@!H=;2RI@QRT-_HJI_P:<4V"?;G%,L1 /[/0;A+2P1 $QD!$)R.IWU* *#O
MA..Q0#QWZ?'S;3<<@AH[YR=U5*L5C\X_U]<I,B^/YUMY]H/+..;=1K_*+F+A
M13\Q"( 3 'O-!,!B_D#YU*5A="*,<M:Z]6:'3HC=]TZ5G %[[VL\YB_FX\I.
MPI,U)D6I0K3>=;'.!V\X][/ )NU&1-DV[V+OD+KAI<>.BE606.K4S<3XPDOU
MV7@]_:3 @XTS*'TNEK_)CS]K!NS8D!ZUC-@'95+%*%D',MG=KJU0L#<^%!5J
M^C!IUH=$LL8.GM?B42!UA,K6=@4/GPJ_0/<F_7!-:',GTK68M&G(A?*A6MRH
MDZSG'2/J ;2P$?U*5;3JQ6*:CX.#P1&88.OZV$BV+%T56$)4U6)X>DXQP[ ,
M&RR64=/]YO'=R5>')KB%_K6$;73_!PGI562]KDT&:(YQ&'\&1))/"J?V2Q09
M&Z6H%K.7IGVMK*ML>*\*<Z!!I2R&ME(/916JBR0,^M-HR/K^#:Q8_4?PYV+?
M?ZZ[3!:IL1_<FO; 1-=5"*]F9X:MV\I#*D=XS<KJPWM]944?*JT[BK,LUA
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
MDPB4\.B@+%,<EJ>!'>_#C_B53_17KL-_7:M+.9%6_;J@J40 I'R<.]\!81)
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
ME&OW\FRZ=,/KCU0&\]S)06IQS^U.#3X5OM]^9AG'N/I$Y0[I"\UF(:B$+VQ
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
M583>_QEU_8YFJ#ST^->$D']^G8[%D+W"K6.-%9K,CHK!&=15+2KH[?S]UT[
M"FW,?('4%ANIOH!HHU8]6B[7]NR'B.8F^F?AIB:&ED!V3ZG26?,Z'!:^#\>R
MQ.X_3]*)V%6XUKE'VRCBDZCS!MAJ$%S?(;IB.XI\8#P:;FL5^)HOC"+-FJ!2
M(%&Q_87O9;Q_1AZ<;=@H>4QFI/RZM5?Z/?%\W!7]?1;@5.='OO] O@I^4-IO
M.(#I#,@?)U65M&)_Z^'G6E]Z!]@H!W"&0(L!+PUT(_W4BH3M[)U!G);@2,V5
MA_C"YWT4\#G*JLGI@_FA>NLMK6&EZT21+BG9]#_([. _N0[Z7]XYB<NAW^ :
M;9V@6--[7UZ_$;-<+UTO)_K&9=#[2B,/&LOL^S&65.2DYS#>8L[Y\\?QI8;P
M KZ2F7QH&3>=XK;<":S-%_(2'!9@!SN%:'3;_?DIJ/[=X]NGT#3_(#Q9(9(Z
M9L5^X'7"!49%C20_"=I3^]OEHFD5:Y-^&U+BG[:DD.S/@+ARS-RD2;4E[8\.
M'FLZ"\[*RV)_%%<H!T_N8;79VS7MN,IL1;)1:?UQTJ^N55PX#%R36WEC6DQY
M+^5!DD[5L)!Z^H^PT)8BMA*YC:"]C6?N\*VE0>2KH8*X2RH8]XIDE8^:M.FY
M,5P4:,M=*2SI)MZFPT_G4>+%#>_QIQ56;<EC$D+4:IL%![;@@0$J2!GR$^(&
M0?+9]XW\\]JYNP(^;Z'/:XM6[FZ+!L\*X \KJ_#%%3&3(LBWQLO!AK/#[YUZ
MJP(]Z=<T* M8T24#_]=WG8W'O4FQ!=/L/C/F+9,O*,1Z72*:N+XPI Z6B+9!
M:'UY<'[6]J8&/Y)-NX(C.1TX*2:S-(#YS&L4BP&TY7[2_?/,,0XEY>P/A)=@
M\2+&U@8:O4T\5%^XY'#UI''=GPT5,M(IR0=,F/=680;N+.N=LB64I&N&@0$K
MS%#2^2YR&#4TQFY=6)EE&K0:DBRRCNHVM'&S8SU@ K@T^Y5O4K;56<Z/$C_C
MU/ 5Z=\G;4FLL66>?NYWV_<#P7I5,?&;2/\"RH(BN(\IT0\;>W5.<^A$,TO-
M_APFH*V#L\^GC',Z:7K,\.0F$C@#!D0"3BXF_>L<]/_Q +H@N+L6^$_*Z)--
M5J&K_)^FU;$#F53)5$[J%$@V(@],)E+!@&QQS+-FG"54'!$>F]R?P >&/7H;
MJ4/$6E<KC$7H -'QP5/:69F)E_%>UE>6?<,%DA 9^+N;2EQ$)[AA4\VS#UT5
M;J&:SF? <XLEQ\XO?D F/:+:G@<G$UK^U2ILW+1<$^>A$88]*>B4Q4B+*W;
MOI9<M"#*8!HOSVIZ*7W9KWQ2:L>'^H"N0F@*=B_/7:-((L1W(+@J\=1Y>;&J
M8YM'>U3.IJTWJD%.\FF@0#&$#ZY<B6Z5N0;:RBG-OFN[^!GA'EMU,ZZMQ#\G
MHR/I'E$,DTZ[*5^X.UZ+D/@ ZZ(+A#RONP75,P]29F6>Y1THKCOVVBN^>VN
MT7:A1LU*=D5%CKI.:]]C=+=7I-7B^3T]%$I<BT;%^2ZZEF(G)B%UUT\',Q[L
M[O=D7:]NV!J6]M7$SM@A5]<X3K-)P>5-P3^F/Q-\K[(Z>'-&1#@_SM;,BC<R
M1!#\2E8*VT!#OG@\WU"."SM=RL@-8?RZ5KTDB1ZA@:S!*@G%O?&M%J$IR4</
MT]SB>&#6[WHN;S-T"B2J&S?2AF/BPZ$_E#@FM?]V#3_-:B)J34,A!YT@$I4M
MY6!1BQ+_R<,DL[&T)A+GB/WW5YYWUMC2?ZW364*\**_>R?F"*,@\./#>6>\/
M1IQOJ$=L^HE;2FY+EJB-!#I8)G7 %P;.P47FL5M!NQ=V>Z'M=]G%#DM$V'5#
M%?I/YW?<=CG#<;"J'R/?W4WUW O,I\Q-$Y639PT2:#C5]1/,P/\8>TEKJSGS
M4!U/'J>,>E!6N3CK0U3,LG/'8\W^E\I<S'BT?B71CB!C@>^HO#LQ.=W0F9^V
M^"B+7UQSA95E9SUJMS\2<ME-&]2<&I[PU63:8D9Y8+*5[ML?XS"9%UPA<OT5
M\F/CT4H0HFM'-.O86\I^EBG.MD=/U+C2PO7^N @B!DD@.(]&O59CJ9EYG8V+
M\,+4 .1 &3BE5P/NX05:*]G K2.(30F.HP]+*X)T5U@IGD)U:QLQ!E,6\"35
MBIV-Y3'42H&R04[B*N.'^2RJ!;9Q  !8*#,9F]\$4-<Q%*VEF,0NI4F8S3P<
M?MCC?B/XE\MCBGEROG ^EG]S9)WR$EF253AIPLH7FEF5;CD3>-CQH-?;HITI
M19^H5=P0+]Z_I%R"I'0$L[B+!M>K#\P5ZY)%D!$#.3I/=FA!+@$$@VG;5+[P
M<#>8GX!V:+N5 VU'3'L$5:*7 D+S;S.4$7>)DL2XD9_"N?B=+>;J0X>7GK2;
M[5W@D)Y+>>I^I9-E4%MA5]5J?%Y)"F=O>=\WAU%<G  ]X2:5F.P*F)+S#*!=
MW<L(5KHP)LJU_N?JA*: D-#B]KA2EI/R"5#DSTF\AYF[9([V@>67MX^\9EFL
M?=^I&X?Q&W#M<TZ8ND91B8$)%LLWI3*FXU^Z7XK1NE'5? _E6S#M=B+H_[\=
M"24SV9>2?Y>/E&=CNRE>Y'RWP\@[)K7>#!GESPF'=1@.S,(\GN@HB!T^Z)+/
M9^:=!^(6!D#OT46K.?N%*7JD0=0QC07Q<">E^PR(O]/H([N.'JO?1^L/EZMY
M#&]M.(Q>H+=?,I9>SG=Z+!C\SZD<(CYMF@0%)V^XR6N$;%C13>79S%3*^Q-D
MC]$[F6 A8A;AMK:-L1(U?C/'\362.T1WI$3 R-+\5U 7"V4Z^NN*XK$HE3;^
MH&F2UJZ"Z]; K'JKF5GY"?=RP-,=)]#+W_Z\77YXTZ;)V-/>C8[/8@C<LV15
MD5R@C ,A@>8O.@-:HO#@TW/+9T!3-93X#=A"G3YN?5;.;&*_5[Y8S7>_8NA[
M9,*(E28CSOSROTAA$XGC)Y-"#B5GZ5HUZWWT^$'\'MF#_EB%TI"8WLRK1A:'
MIH72#DF4(I0OW^%=#I0X R@*2=1$U^.+V-'Z7U\KEI^Z>ARN_\"'K*)L_K+"
M4-%GG0@E)GN7';44H\J*1E123Z)@\O9/YXP/%93^U#5OYNMT\+4MYL(U/KU:
MVE/>Q!E71^[8*4J.^9 .N>N[F52$RCA?F6RBJ6[B\I.R](5*.*XBSLKS\^<'
ME+9RY/D1?'^:CDJKA9PWGS/C03/NC:TP-D8R*D\K1G;^?:&TXS->L&G2OOOQ
MOB'S]W GTZ\]HK@<(-[2//::V%3+^U8VC:LW]>_K,BJO )SG ;VZ\5U[)<S4
M[-H8TS! $P?[H [L8KZ,A_J*C^Y.Z<0I2=15C]ASEW\N.?F:^]D (G-;?4P
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
M^P6"-2%KPX3'VAFJN.=RTT"00]=]QM%(0E<7)M6,H9G:]&,?:5:VM*^V>[:
MNKL<I=+'(F]4C(X QO^/I1\;H-<NY?ZDYB[G*W7QY+#B01@/1%JZLOOW#['%
MH"6G=/\AXD\+'-9L@>/4)"H6Y'6%I$I\2CIXX8N>A 2GKU8/R.MW9!C_WQ4Q
M".V",8-#,<Q!6N+NLY>S^;44G@M:_&73@Y.8C>?N6>2M$05YBS!K2Y2X?VS_
MA6:S\^Y\>M,'88%%^N(/_\D"C6P/-7FZ &(EJ4(\RR]P'F=Y]O")X6,S,1"R
MX!]W3Y^QCS+"+6V%>/A J/?-.$V7':/\A6:LC+']R%3#BK]X(V<)LT./'POB
M=X%)@?6,?UU3ZVV[U</TNH3')YJL[Q0,U(A/_A+YJ'U]-3:<X'O&G>'CQ'S&
MH3T%$K,+A91UG^V&GK&F XO"+1GFOX9,:MQ-8@U?3^J0C]#]% ,0)*@ TA%+
MX)ZA4/]X+' =K*HL@5-Z?3^6/V$5DNHB\;D[;J=4JW=NS3.%;I;A0?VSR!,B
M3+_E/9+\)CPNQP,?)J_YZ2&R0AZ\6EZ+!4R$>FS[PK4\:IF$'14X@JHOAD&:
M_SH7K#&E-%N;O[V@8N)S_<6]^^POGR\8)]_,.A;C@&T9[OW]P;URIZ70TU=V
MEM@-8>>7,!%5XU==UY5F1)J'K^S<=Q#D7JSY3IVA4?<!N5Q!_G )\EZ->.+_
MR9!X8PX+F%5E+)4=< G[-O0X"D2L23/ZR++<K$[K/]@=JF"TZI*0Q (B[GWD
MSC5.4U\X"6K^ORY[^I^3<E^>Y'/?G\-?SDS"TVE9//W928B3YB.IM0?K4J;T
M@CM5W243G\'OIN/8[O;7DX&36+9?ND]JJRZA2YE*ZL;"(PJ3DJ%7\5=8H!-S
MG0WO-_2B)Y%@--Y+H_@CBK#]N*Q_.>4R6@ VE8L%-I4-7!\UCD6NNPL4J\Z,
M.;:4^;+)^<S*N?B:]!YB@6_0-C3LNW1"3JM=T1Z?O2V'[AY' OVK-7YASG-X
M7(;:7AX6 *,Y1ER/"OQ=I+B-T%NK^G;ZJG4M ?>:XTTR'BZ)S,CT@EJO7^YL
M\HI[VKLT*6T8)BJ32)0]"N&ZSI+N,Y1E[7=OM%4 W>- :HG83HEV=?LFQ_V:
M!V;YPZ%9(I@EVB5#0LM-:@-# P_$#59[M U!#^N(A0PL1T*O*_-%E&KYWA.1
M,3GL?U,5W,X4-&3$'5V#=.^>?K"L='G#-*ZJT(WR:F*(X\HBWPA]@@78RXXP
MK;>QP' WOD3LC=8DOI#C+4'%9%[>)>U:N<=9M^F9(.DV7:T4.PQN02NQ+-8,
MI6M:R?$&-T9[':&3_>W[JA5K4R5_7':"S?+0!:@3"V1%( Y"6DG&?(R1W%T)
MV^T#5@7SS9EF&'K#/,>FEA P\]%6G(R4/'RU(*"\YK8%:B?2\2>-109^):7O
M><"^3+F"EK9:W_</48'DLC0;F92M+)L,!0%"]^I&;4O+>4HSO*VR DS,./-K
MUQ7F62EB/F]4?&W#JRDZ@854RCE>S*HV>,NQ'U40F5T&K6YR$KCQ14"H$H9T
MFNR>=I,G/@Q<SP]/>: ,W'1]ZU9',)J/<.@R)("_-.S.;8%_LB90K.JN6$K
M8XJ?:88NPX-X?=X@^;I89NQ-QUPNX!G*S].K>DT=TT*SSMI2'MML"HZZJ)+-
M&FUK,:@DQ2N2/K/+TJGCPI>1D-F2H;[47#VX@7YDPC"85:G"VJ??D[_V9J?:
M!;*!W[#'N H+%(K<W",Z1KU3G%5;>%)Y'0MX4()6Y!S;B"\E'%9+3?21Y>&O
M(S#.SNO=U/V-0N]$'LUXB!(]#AH[+)=!QR,N'D_Y,!<VZYF5T**&)5%'G92Y
M(9H<5JSOR!\%[63D^$L@9-7: Z_UWFEU^E0#CH%1EO%(3_% Z,;HPQZY_"(G
M<.XYW2 \IC\6VY&F08<<O4+?_IKW+:5^=*6^-KSJR);"7K7?#?0M(O]"J),2
M[6WPF651:I0-UE@4?UZE!LK5\1%"&&6:)E=Z6#R/?V7BV_WMY\9<%;[- ]7W
MD%N17:EN3?FS/_+GI^=X9NWT*?J#3I]E %+2!N[%TJ*3EP[YAC,<P9(2#E]E
MV6W-/4V_RP\1,*;4. E#;TE:V*T.L'7ZL2'6HR,7E1GB2KH[)&C(KKT5#SI3
M ]4($+W\*:/&K[1GY%KLXXB03O*9S'3(V!NIE9AY;$B-!9H=KYV;5[5"T8&K
MB@@FMUOEE2=BE^%@&"?^3]#X'NA7JL5[H?+@#%K$?%DFI#A/<D'MXOE@6JHV
MJSU[_)A4(YX,\VF(CW$VNJ.[[%AYK?ZI:/Q#S57HWOTU7R_(^! U&JZ L"NM
M&:P2C(<[BR32Q_!C 6&!00GM,+WM&>+("QDK;6GRICI?/LU7(;\E[-FTXY*X
M0/:/H>/GV@H72I22O#EQCG+([RS[#,">I"K2HD.:NE589&I/:(5)Z<97SQ#H
M::S,GYS#TXBVJ&H6NNF6P7"?.GR!<!,N]57I;4]XVQ.=5C*TW?(B>/,1VR_]
M;=H4BM"&IJ9P4T^=J,R6SV"'(8[4(X<;OSJ7P3/FJ_*C\,0WGE2Q=_TVM4('
M9H_)FKW50,."./="LX1S>#_F!C ;F&F2TT8$#FFO[9MC 6<L8!L,>/^Y;O0%
MK2J7HC5AZE(3G:043<I4V;ZD1=Z$U.^0AE359!RI/SA5RT/J=])[/N,/>:F-
M?G?MXE=);*SQX;,#Z,X*RQ69)NS](MB%6_7:+QOMY$IK\>1L^RK)*466_I>B
M<B!1X+5%T;DC(#YT_?(Q8BJ:+'[S]&+_#F/&PBL<ELV"Y,Y9T(Q)Y*E7)XCG
M</+\A -XXXG&TN@"Y1J$Q1[I\J=CRX119KGEHSOO[61,XW,<@27\ATX[J5MM
MEH9^J\\1FF5I=FSRKMR!"4FB/RWYM9%W863GP\2MV<BA]EI:%?O&J%,YG6*I
MFB9^<-<JVYQY(Q8@]RB00YIG.+@HH_>S-6K:B?0$-OL<%59UC$C1GEF6$.IO
M5;[W!E?6E[4:4SUH9A18;_UX[3$D.ZQ5%]I,G^VA=:K>.&+;G3U.0I\C?_7K
M?A.C-MH/N>0DPWC\+WF/D0:2ZF6KG6>)GH*RSNK+L.MXAV(<4Y]C.VIRE292
MN,Q=K;F<?DOI19Q-1NQBAC"G.+1'N'Z^<0JCVOS*O:''^6_?23=<+7:=\-&C
M?^J Q@1_X#5)*G-A@7Z^-YBIP_/CHWD^K>:1&J*6FKAPT"(H;K5>ND:1[.64
MH?C- HA&AJN9F#-D-6MG,O7*O[Y.PM C^8Z?Y1#:BV&B//WCVX2&?'^5><5Y
M$P:]W+]UR@7#^=46G-]CF8(VH3/EU(TE\&4)F2B&(TZ@(>?1>_OI[C?&8WD<
MQ</2!U59UYWW LXF-2MB/HN5.S_321)[]^LH<^:!Z.^)2S;JAL/Y FUXMF65
M,J)8O1X![E+17MXOOG\A>9CRS6V)MN=5[.D82T3 0NP,-^:)]$TLX.=P1<+U
M"XU<UOTR9B=IDO];2D'1C+\9Y@&OIW'X*@)][,L=M2T.C6X[5'1=O'#' J-A
MV_#O6.#L+@/HZAWLBNZDSZ._VQ$]A'K7-LG6GC2Y(/$1?EF59!'V\-P=TJ6M
MC8!AE.0#L( !CE_*2P$J*\81?C<1^6/3VPQ9WEVBWC8N_.*XV<=07U#>T$0<
M]+ 0HU/4(CIF,,K>#2]^K39%P5N:..VUI8,D)Z:;Q9:,;Q@;[H@'MR;9./L*
M*-^=S+ZSGA[S8NSVZF9].00]7^C!_7*L^@*W[8RV#DJ>N-QZ8N+?PU_B3IG[
M^:$!9#8:\(4HJBFQXOVXU[RA@=Y8LA,^*96[/#73MU&RN>["@F#S5Z@?L$%'
M"TDY+_/^JEB8"5[X0/_8=X/'_UOL.WXHPU%LX (/PC E)'=8Z+;5FQ*>,@Z;
M^H[(0)W5#4E3?%HK5F0WX T.E53)\ZAZQI <Z58G//O3UBV)JY.PB! ?S'9$
M$[VR&(XSDP8[-E\7*IO-YGBSGK %;'L_\#:-FFP6%E<-/HY^O/&\LJZFKG/A
M61RGICGIC_8EQ]Q\C[;O+#=F/%IQ*XD,#>/-;FOPSHG/VV2F&1K<JUZS^*TF
M)99U(S:,Y::/R*IQ$(;5$'+AVO5V/F-&\_Z=V&J%0;#Z/C]W!1J* R6Y,EB@
M3!4+Y$+J%V-8P-74"-^I<%O;E<JV*LO3JXR'D>+-$1]?B_;.?SY997G1OX0%
M+A.B"3 -4$R4%Y#6U49]>7M9N:!J7$CF-,P1-;EIZHH%O)GNH]@9BI<7HZ1O
M(!]DTP377":?ODNOA+O3QWJ[J<V5^1)[%E=Y.+>W,K0V3;J2^G)-_CXW3U8N
M?2S7+\&4_N4)?,3)2 K9I(;0RB^P.L4PM8PMZH1L\H3 \:+,=/;O*HB^KI>J
M8P#.']<[4%T:(&*#A6C'#AQ,,PZA)W$S\-]T0[D00'IZP&#*1\XIWX>[?FHB
M=&;JN6Y\K.JCN-=88/&I-AZ"XSO#*PRU Z6UFYJQL=$@1G].GOUPY,6"B 69
MCK#JJ+_$&Z3-]Z'E(J'-$X&[)2]Y7LI7UJ5&S>.]R,W>* "E[NSN+[=5UC77
MO1TVD/_6TV7"U<FZ=,&  ,?Z$8Y42_%/=>FI-$XK.;G4UMU"<.KD]56%S(@2
MVNY-B6V+H0YP,*0W+1L+_))>Q )RI8"M]A"$M[X-78-TQMR\T/]T>_@8_D9"
M8>Q^5XR"<_VN4:?8OLVFU]G!$OD]Y&)$V3V.O;L2)V(?DJ]DLL!:W]#&2VG,
M8CR)G5X^A5_Q$CR>)H@T. _Z)1EWPL@$5:][-*X:C!AY6Q;46D+ZG2R_\Y36
M4_5>M)![(6.29M5EZ" <R(+02Q;[1!NO*+??S\^< ",EZ0A^IX/1!F5PS )1
M:\--J9.!+[]GRIWLOZNVRCM*#4KM!"/NI3D@GZRTA?G(EG6EN*5Z$]75^FDD
MOZ%CR\93#V>^+E:NA^3K7"3W2'Q2/Y8W6I+E%E4BT(V?V['8(4L@"JI[,NHO
M[F$>L4*=2D^IF*?6N]E>3# <*![1G@EGN%$7J1IBT?1HFQNOWF[SJ76 ,E.;
M[&&@S0 6L#!\N^T+UADN,^41G![)>>E<(;U;B)I[CP7:HYV-)(9-D- ]6O)P
MH:X*67=J&^XNO[>!=[H5QA] (<=XFZ=09LGK=D6,T#W2<$U]&X-N^X&;4*,\
M;W^;P@D?A^466IE0_9:)+'W2X'G",/=/+?$*[%C@ ;K$@?)2$M'D0:HVQGML
M(^$2,BH?^#0,%#WQCA&VP,%JP9%QLMZ&[T/_!9T\Z6NA3XR1$M=PL+" #I ]
MC=Z=507=;7095.6@ T[XR'"[-32BAGVLI#POY/#Q4R?#IR;\WO<W56N=]PRU
M:DITT3#YQ@E7D&EUK<HA?Y%)S&>\DW)R-!98OH(^86 )<TFS+'$(_AZ=,8]O
MS^J@Q>H4)[NQ^$L[U^?%Y[E+YDD.-F)]01]?715 9USZOH?R<\15<I5KD5W@
MF62_Y7O3?M8?A+O;Q+)K2]YCDO=Q*"/C8>LM!M>U>*.*N[S[)H?3[3O5A]</
MHC8.A3HO;R+(H]V7;1RHMN/NY7H[&M[63UI(WHQZ1:01_SEJHTXVQCD3N=I1
MRT#4FKC20CG#++TO44D6,HU/;$NKT+[*FKW1JI />.\Y,F"!'F,BM-^ALE@-
M;5-#V%X\SRH_D71:O<&%140^DK%'6\N8F&VRE$[.]>ML>]BVW\;G[(_EK?._
MI!K'_"A]H".";7_N- VFVSD7;M_D_9DX1/?NZRI7<?RA?YX%LPK@(DV+3EDV
MIIU+4^%^2;Q[8]'B$YF]0JV'0_MG;75G9Z*DDCIM#?:'CX/7$N1)"G,3_MQB
M4(4;7].Q%/9RB'3A9!LK?].HDW?!%?9=E*<\H/VU=KG/A;8Z\HZ*<C>4@/)"
M5<'S@5UI.4?,[7[YQU6 5"PT&%"%PC/QOWNN\:[/%5XGMMQ+>XU#^;%995A
M<6)7:(]K46/LP<O?@\ON"EQK!$%!W]=NRA)"/I8_1.NNM.%;&U&,5=^LO36U
MA=_M9.7*4)3Q_,U'JLY],=%!W^)QP1:N3KD*Y1O"D]SZBOW4(;>#7W95MI\G
MRC"%=EXLXB]8ZXVB'_=)>'\TU6PV"TAT4S:AWXN;(_/E[O,31Q\H3ZY5C%4;
M/G9V+3 83)'57"7I)!U?E0P:K6VS6#RC\['" H9O<11T_6M;M5N:B85=]I"-
MF1WAV(!8JF*.IA7YS?4P>BE58SW@>!%\J86(#3_YZ)+.A=%UN$>FSC _S/Q5
MYU!>G$#_' N$"\:2;I7"2A;EK.S)\7R2G3>_BIGL$BE995G.^+;7?QOEX2T
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
M]?@(R=IAVFC%G2.G^'T!(U^DL<&8I-P*%L"WUE-9<]=*Z!/N#<T^T@@$LUY
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
MQ<*, NR-D\7]-S1=*E1)HJ*O9>$;!J<!S:0%'J!G]15C9?8%,9X_?TX1*8&
MUW8$47@RD#<.6(##SAT+&(1BXDN]?;' 95 9; =GD-@,^G##IUIYFB%"*P)S
M2) *8>Y?M^BGV/CRMW?YVMH\-H)\5!8V11JQ3V0@O'\]N/_F0^\.#H)9JE)8
M-:;Q-EJ_>\8[/4C]B4F);JA>]!QI5+EDC&>U@#=6]K^V9LOKV:M;=LP^F[9#
MR\."F3E#;BI[[S_)%W(V$4NN!$7H*TD'O;K1.CG_NY\C2VU5V3%?ANB/][NV
MS.?ZD?3I>?#.D,RDBH<M@L]\GB2PRO>K+UAOB;P:():_S8ZS(M_ARN(KZY[M
MNOKND<*1? Y-27:%5N9)MB=E/\;R-^YA!X:-_Z[-E_/TEO<]R[?L/1CDSL!@
MP+Z4H>)><_*BC'BY&L>E%>O]-TZZ'C I?$OVC\#'K/?/.''W\*S4GA^G?3OZ
MP#V^4)U[HA>:&B?YS>>7__$V_&/_X?O\%<]88N-NMAY)SBDO,/"<4)7.(GCR
M09/E.D4<:9KARUTN7K[[_LJ'/V9>O"DI,7'Y*H[3?=+O"N<9U$U]=$]]7GY/
MO7#2A[TM[_;)7)+8>^?CEW(98^8+<_X TQR33=?7T_SL+V_9MZA\N#=1]6CO
MZF,O5+M\3BW]/(WGYO/YA[=I[6_\P[[D![?WK-,^QEZ73S[SM7DB7MS#>$"&
M[_"=7Q?8I]=H7UMOP_HX&]AZCWHSH_.9;J)VP=+SRG+G#-P7%UZYON>Z^./\
MMBK[/OV<_'?K]-Z\7_/#N]LM-&GG"7:%+S;-M]5V:UQ9DM%Z\U0#MYG1O>>R
M+QBO4/.8E4&(T]5:EQY?Y[EV;8_]K2(WI>Q%1K\M'MNV,R_-N$A[RXOM+#_X
MMO>;6&Q9Z_3H$<>C'=&M%5QM=T2GSP%U3-_-396;O2PJPNG,Q6BG"0N+IVDM
M8)Q?IW46^Q$88?$=7[3SA2NJOKOMGA3Q8'=_\AX7MCC'$R>45P";Z\S"A^(D
MMWZH;UM;8JVY;!9WT=.X)&ZA,Q'/&?B6;7N!?ES+ . G^O_D,F?U'Y'6ESA=
M6K9]6X=H8M"^Z 0#EH_S'WU=MX^R$]A&\2@>Q:-X*&"O@2Z)1_&0P?;_;P(
M4$L! A0#%     @ :(%:6 33Y ,*008 R%91 !$              ( !
M &9G96XM,C R,S$R,S$N:'1M4$L! A0#%     @ :(%:6+MDPV*6\P( L]\M
M !$              ( !.4$& &9G96XM,C R,S$R,S$N>'-D4$L! A0#%
M  @ :(%:6$[T/0A:(@  ]#<!  \              ( !_C0) &9G96XM97@Q
M,%\U+FAT;5!+ 0(4 Q0    ( &B!6E@;D1]=-0H  "UF   0
M  "  857"0!F9V5N+65X,3!?-3,N:'1M4$L! A0#%     @ :(%:6"=6B[Z[
M @  !PD   \              ( !Z&$) &9G96XM97@R,U\Q+FAT;5!+ 0(4
M Q0    ( &B!6ECYMZ9!9@<  +\J   /              "  =!D"0!F9V5N
M+65X,S%?,2YH=&U02P$"% ,4    " !H@5I8F@+C5(H'  "%*P  #P
M        @ %C; D 9F=E;BUE>#,Q7S(N:'1M4$L! A0#%     @ :(%:6+[\
M#5S+!0  VQL   \              ( !&G0) &9G96XM97@S,E\Q+FAT;5!+
M 0(4 Q0    ( &B!6E@)G;F)8AD  '7)   /              "  1)Z"0!F
M9V5N+65X.3=?,2YH=&U02P$"% ,4    " !H@5I8#E;K!C(3 @#"S ( $0
M            @ &ADPD :6UG-C0W.3,S-#5?,"YJ<&=02P4&      H "@!I
) @   J<+

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>137
<FILENAME>fgen-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:fgen="http://www.fibrogen.com/20231231"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:stpr="http://xbrl.sec.gov/stpr/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="fgen-20231231.xsd" xlink:type="simple"/>
    <context id="C_b4115d32-b0b1-49dc-bf90-810064b82555">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_ae53f812-11a8-4b3f-804d-963c32ed9acd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:ClinicalDevelopmentMilestonesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-07-29</startDate>
            <endDate>2013-07-30</endDate>
        </period>
    </context>
    <context id="C_a8e9acae-1212-4097-9c37-f844af033f0a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_7893e42d-2153-432f-ad67-11cda72532bd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2005-06-01</startDate>
            <endDate>2005-06-30</endDate>
        </period>
    </context>
    <context id="C_5d37be62-0ace-4193-a87d-c84ddb509bba">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_49c697f8-4383-42f1-b80a-352f71028d8a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">fgen:LaboratoryEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_42f841df-c0a8-48f2-a100-6731350be873">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DiscountsAndRebatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_528c68f0-1f5d-4086-a9b8-00002b8a2506">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_6c42c9e1-23ed-4be2-a897-0b4a07cbcfae">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2014-11-19</instant>
        </period>
    </context>
    <context id="C_fa2797cc-9fa1-460c-b81b-ef756cd58ad2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_79a4c265-ce10-4ad0-a49d-0b7b7bd2a4ad">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_9542e3e9-9b48-4954-bbee-633aa9763f0e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:IncreaseDecreaseInDeferredRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_0971c576-0a77-4b02-927e-a36961e449d4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_2d9f1232-09cf-4a56-8df0-87268529c4f4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_334a3d96-8fc1-4b16-b7a5-6656db947ddb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_51e47433-6e9e-4fe2-aa05-81eb4d62a15e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_450cc1af-f17c-47be-95eb-1fc474c3abe9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_f3cfec5e-c85e-4535-a912-552935865538">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">fgen:SeniorSecuredTermLoanFacilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_464653e2-3d5b-4147-89da-5a519b1f4dc3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_ea3f32a9-135e-4a96-aee7-ba59212b1b46">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_e89e03ad-6968-4126-8e82-d384cf6625eb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:ConvertiblePromissoryNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_788d981f-cb2d-4028-8f11-3a02658396ff">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_d0d7bc76-8a99-4ef7-b51e-334ec0350450">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_bfb54ede-9fe4-45a3-8ed9-592de03fab65">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_1d84acbb-5f03-4d4b-8e85-b915043554c7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_eedcb0f0-0617-42c0-a213-1cfcbaac1e4e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_9c5dfa5d-d4c1-46d3-b755-cf68faa21d1b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GeographicDistributionAxis">us-gaap:GeographicDistributionForeignMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_9db76bb1-b3a5-45e5-aaea-7106d4b50ec2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:ShorensteinPropertiesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_d0d00f72-7613-4f69-8b32-87c3cc54a826">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_fc4b592e-3e33-428f-8377-d4b46df936f8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-07-29</startDate>
            <endDate>2013-07-30</endDate>
        </period>
    </context>
    <context id="C_cc135707-aa68-4991-8e25-405841d96721">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:BeijingEconomicTechnologicalDevelopmentAreaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="C_99f11c06-0f2e-4673-b7d9-8ef71a10f287">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:FalikangCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_e021feb9-b9cd-4cfa-9657-a9290179f29a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:BondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_038dc011-9f80-4116-b2db-d0567bfd9eca">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_ded8be4c-3bff-46bc-8353-7ded2d8b525a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_b3f9d51b-4276-43fa-baaf-623b7b0b5c83">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_4619cae0-6f48-4c8b-9b0a-c6c5ace442f1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_28284bee-e4c4-42f3-88d8-aa1be328eb8e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_4348a71c-ade0-4f33-b4d8-0ca686ba006c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_0ec6afe4-7af2-41fa-a274-f2ffb1d3cc9a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fgen:RsusPrsusAndTsrAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_061a0b90-7f05-4b23-b2ae-a660d9e924e5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:EquityMethodInvestmentNonconsolidatedInvesteeAxis">fgen:BeijingFalikangPharmaceuticalCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_6e56a1a2-5ac1-4477-a7a9-e841236053f5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">fgen:LaboratoryEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_820f5f16-8e7a-4f93-9e1e-f71123569725">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">us-gaap:OtherInvesteesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-05</instant>
        </period>
    </context>
    <context id="C_a16b6273-a322-4c18-962f-9d4ba804e1f0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_97ec9498-684f-432f-9f3e-82b654d09186">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_c61bb21b-1985-402e-81d6-06df73323bb4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_5b29dd8d-06ef-496b-b47d-66ef14ce30fa">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_9bbd7689-d07f-499b-99f0-7e8f381129fd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DevelopmentRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_532066c6-4494-4995-835d-54fa1244b9ea">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:DebtFinancingAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">fgen:DelayedDrawTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-29</instant>
        </period>
    </context>
    <context id="C_a38fa15d-11c9-4186-a4fb-733e5d096f07">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">fgen:OtherPurchasesAndProgramsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_1954c157-71f8-42c7-8fb9-4f71a96245a0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">fgen:InitialTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_9760f380-8f65-48ec-9aa0-021fab8935c0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_7103d42b-9e77-441d-a76c-7890cfaea354">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:IncreaseDecreaseInDeferredRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_d16d7074-3c48-406c-a045-2bd69c7626c4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:RoxadustatDrugProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">fgen:AccountsReceivableFromDistributorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_43e0e074-f5ce-4935-8fab-58ec7e6f2bdb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_6fa8a44e-30f6-4a5b-9bd7-e5d40206a786">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_230eef7e-0721-4d7a-9dba-1e0bcfce9bbd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:TotalShareholderReturnAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="C_009e6fff-97b4-4b93-aa48-ba8b29bbf832">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:PerformanceBasedRestrictedStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-02-28</endDate>
        </period>
    </context>
    <context id="C_f5d69702-7188-49ef-8671-e43bbddf4a62">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_daa4758b-d109-45ac-bb36-09309b7fcf2b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_2e2e383d-456d-4a07-bc59-c13b2c44a1c0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_3b37eeed-a9e7-4dab-92c2-9e49eacbd228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:PerformanceBasedRestrictedStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-02-28</endDate>
        </period>
    </context>
    <context id="C_1db5212a-dd5f-4f54-8697-a8f3e8aca7b0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_892731c6-14d2-4862-b12f-20aa8648074a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_78954666-d61e-45a3-b159-f9ed78d25d35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GeographicDistributionAxis">us-gaap:GeographicDistributionForeignMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_10344a47-fa45-4d9c-9af7-8a5f5494c8a3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_31338077-02b7-4c18-989c-288b2b2d9129">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="C_f457bb67-f098-4369-aa8d-abe429fcd9aa">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_93c49346-c6c0-4035-9024-53edc792dbdc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenCaymanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e948d7d6-4033-4805-9359-234a74d76217">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_fc1c4857-2dc4-4e74-ada3-9dafeeab80be">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fgen:RsusPrsusAndTsrAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_c881fbac-216d-4491-b5e9-706acf6b4576">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_22b18794-5191-4b85-85b2-dc1d4050c6ba">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_547397e7-eb1b-49a0-a571-16036d2846dc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_abbae10e-c5f9-4774-bf94-bad4b1bc9b52">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:ForeignGovernmentDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_3614c635-ee35-4324-9cde-bfff3b11121b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:DebtFinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-29</startDate>
            <endDate>2023-04-29</endDate>
        </period>
    </context>
    <context id="C_50be1263-1222-4ea9-9e75-30e9ca38196c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_47fac92d-3ba5-4f59-92a6-6764ef7b5aed">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2006-04-30</instant>
        </period>
    </context>
    <context id="C_82baf30a-e6b7-4f88-af3e-2303ce28b33a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_ec4572d4-87c0-4490-a5ed-bd108b5fac84">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_b490ff96-2542-4344-899b-17c8286897f4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_5a7a4ebd-293a-4eb4-a920-71b0be4627d7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:HiFiBiOAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-16</startDate>
            <endDate>2021-06-16</endDate>
        </period>
    </context>
    <context id="C_5cb58967-39dc-499b-9339-2ee01419f424">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <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_51790052-a00c-4d1f-b3b3-7bef5e668b8a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_e2ed8e46-1267-4633-bf23-9e61d09ab653">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_9bb9c8cc-d8e2-4d0a-8c34-8cd9bc2465d5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">fgen:LicenseRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_db1c0239-aeb1-4148-8dfe-f3b5578ab393">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_1a1fdc4a-4d80-4d7b-911a-eb0a0063070f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_53103ab2-3a7a-4d7d-93af-4497295b7078">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_9db542ad-7e55-49ed-aab4-8fbed025472e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">fgen:BeijingFalikangPharmaceuticalCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_93ffb450-1880-454f-a54a-cc29f02c3ef5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_56a03efb-f6a6-465a-ae75-afed946d1ab2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_cfcc0a09-81c0-4205-ae64-721f46f22e50">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_6448ae85-341e-476d-a342-5c0cd24af21b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_67c1856b-9aa2-42d6-bcf2-035ffc5afe02">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_591ccf76-7cf2-415c-afc5-42b0d40ee65d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_240dc063-7178-44cb-a041-3d7802e9afbe">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201901Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_dd069db0-06fc-4779-860f-d968de38ad92">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_d23bf171-219a-4e80-b1f1-e64e5cd1757e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_08f88332-7bd7-4b3e-a5b2-dccb6c95e96e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_bf75c14d-7187-4d64-a37d-59031a3cdcee">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a009a95d-c91b-4118-a088-0722debb7cdf">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_77a21a8b-8316-4f17-bc57-a3490068665d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_b2310234-45bf-40f1-a1c6-b8d494cac233">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesDPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_c9de6165-5c70-47fa-8f69-51a12aa3a77d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_86497fcc-651c-446b-9de9-6bd0791a23de">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_37883dc5-23ed-47b3-b062-cfdc186d89a8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_96be5e1b-f948-40a1-a6de-29ea1446e622">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:NetTransferPriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_f7bae724-7806-4068-8a59-a49fed19890a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_bb6bcc77-7a0f-4310-bb96-3bcf3822ed39">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_53afc120-1223-45ae-a543-af15c842403d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:ShorensteinPropertiesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_3a551d59-4413-4dad-9089-62d8982fd068">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TransactionTypeAxis">fgen:APIShipmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_f242600b-0ca7-4a2b-84d1-63f3ac5f9969">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_9755559b-c556-449c-b20d-092303a2ed72">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:DebtFinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_c7a002c3-7ac9-4881-a9ed-d23fe5787662">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_d44c9749-451c-4526-b833-5cf90b8de898">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">fgen:ManufactureAndSupplyOfPamrevlumabMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a4ea8880-b080-4f64-b120-e4ccdcaa8e6a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_c140df9a-e1bf-4a68-a31a-980d9399f28d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_2da3ba07-57c7-4b3a-81c9-5f0d614a4241">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_cd5519fe-2462-4e5c-ba0d-311dcb429297">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_4231a158-8674-4371-b4b8-f298429c1c09">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">us-gaap:ValuationTechniqueDiscountedCashFlowMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_87ab9b9a-aabc-4dcf-b622-195ad575f47d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_84e1af20-ca17-4160-adfe-251eef105f87">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_c60cbb68-073d-4df4-9abc-e00293551276">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">fgen:FederalAndStateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_d773362c-7cf3-4703-a248-9d377f16166b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ForeignGovernmentDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_fb3fc31f-e16b-44ac-a3e3-31af42d00b5f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_32fe60f9-4e53-4cfc-8f86-f9a79fce2894">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">fgen:PaymentPeriodOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-04</startDate>
            <endDate>2022-11-04</endDate>
        </period>
    </context>
    <context id="C_199ec123-7c4b-43e3-8f2c-009e824a52be">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="C_944cc16b-628e-41a3-9da5-57c2fd1d3af4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_b0f6d53b-7d83-428b-a51b-4c38c1aab8ab">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:FalikangCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_e7b41c85-f1b5-406f-b8b1-0d58a35a1b75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_f783ee6b-b7bf-4df8-8921-f64c2c32715e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_81227e65-6a43-4199-bb79-b0865042fc33">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_3a4cc021-046c-4893-a352-3308e3c73063">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">fgen:PaymentPeriodTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-04</startDate>
            <endDate>2022-11-04</endDate>
        </period>
    </context>
    <context id="C_d8ba0bd1-0354-45d8-b873-d0f381b58cb8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-17</startDate>
            <endDate>2022-11-17</endDate>
        </period>
    </context>
    <context id="C_ca1a7f7c-109b-4aca-b1e9-936abc7e9c2a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-04</startDate>
            <endDate>2022-11-04</endDate>
        </period>
    </context>
    <context id="C_d8f03719-5f79-4d9f-ae54-099a4a9fb22d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_60f25780-d00e-4f9c-b047-4d24cf708a30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_d18ea9ec-9b52-464e-a850-9fd7826c0e76">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EquityMethodInvestmentNonconsolidatedInvesteeAxis">fgen:BeijingFalikangPharmaceuticalCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_52726052-ce44-4f91-bb8f-1eb1fd0872d7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_d466837a-1b7a-43b4-a3be-2605701edfdb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">fgen:ThirdPartyShareholdersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">us-gaap:OtherInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-05</instant>
        </period>
    </context>
    <context id="C_86f700ec-955a-4018-85dc-0a2983fea908">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_b912fa2f-c4c4-4113-912b-a71f8ce9fde9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_5f576384-fdf3-41c5-9023-17746a985932">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_c43f0be6-6491-4a49-a5a0-b04b1ffce8ae">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <instant>2023-05-08</instant>
        </period>
    </context>
    <context id="C_20b11c84-2ac1-415f-8a49-9b2c723eb504">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_60707ab0-0133-4672-b0f4-ef21552b6370">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">fgen:BankOfFinlandInterestRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_5c3d02e2-fe4d-43ac-8f9d-1eb5284d29a6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_c8ee1d0d-831d-4de3-b1ca-208afec64a8d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_0808f146-6aa0-4a7b-941b-41dae8caa89b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_65c9c777-78c1-4cc1-bc12-d2c223fe6c98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">fgen:PaymentCapDateOnOrAfterJanuaryOneTwoThousandTwentyNineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-04</startDate>
            <endDate>2022-11-04</endDate>
        </period>
    </context>
    <context id="C_5402fc82-dece-4075-8abf-01b346722f6c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_7a4df5dc-804a-4240-84b6-1c6503fbfd52">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_37cf962e-018d-4026-8051-47d82e35ed38">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:CoDevelopmentInformationSharingAndCommitteeServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_25046d28-65c6-4a35-9399-55aba1d15900">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_daef42d2-df58-4844-9670-0dbd9e4afb13">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_8cd46ce2-f63f-43c9-97de-d0eaaca65059">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_2976791d-f25c-4b1b-afd4-71ad7a47ef4f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="C_caa04941-0a8b-4a4d-8b28-6962cc72f452">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_f0f9788e-e79d-4f19-b529-ca9df9cc78a0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_094f4a80-eacf-46b1-b93f-a4861cf28be3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:LicenseAndDevelopmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_06f086f0-9936-4c4a-8404-d51e9b1dcc47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_d878faaa-d974-4b9c-9ef1-ec19c9a317fb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_d9313f8c-5a9b-4f62-a1eb-a404a4d5e997">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_05c5ce5e-eb10-425e-80f5-1adf25ba924a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_89cd8d98-4602-4f81-a61b-d4c8ef1c1072">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_7bed8eff-b846-4d98-aa8d-91b72fc5710a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesDPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_932f5d94-42ce-47a7-8146-d7f8d232b03b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_1cd63588-2c9d-4afb-9ad3-1e4fc4fe5d43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_26dced14-d578-4a08-9c2b-d659676a67ce">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesHPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_b9b518e4-8fd7-4a1a-94fd-6e9e0c387058">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_c1f8b16a-ff9d-42be-a49c-180c1d376b34">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:RegulatoryMilestonesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-07-29</startDate>
            <endDate>2013-07-30</endDate>
        </period>
    </context>
    <context id="C_5c40f5a4-b2f9-4d93-8739-1517a3536a7c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:HiFiBiOAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_f7b3cb4c-64c2-4916-a7b4-16e850ad2f4a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:MilestonePaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-04</startDate>
            <endDate>2022-11-04</endDate>
        </period>
    </context>
    <context id="C_64cc3d18-f4e7-4539-b5c0-7644049497db">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2006-04-01</startDate>
            <endDate>2009-02-28</endDate>
        </period>
    </context>
    <context id="C_fa364b09-74f7-4cb9-9b08-b298ee139f14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2014-09-01</startDate>
            <endDate>2014-09-30</endDate>
        </period>
    </context>
    <context id="C_b31fe196-c209-4ef2-9448-6a212cb030e3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_9ba5adc6-815e-43b9-ba53-e926244eadc8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_9d890592-a822-4a3d-b597-99d33459cbb9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_988a3f12-4d3b-4634-b6df-a7201ce3185c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_95f6cf41-e8d8-45e2-b37a-63281db2cba5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_b8f4b6e4-aee2-4158-8eb3-5a763ab922f0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:RsusPrsusAndTsrAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_a1bf767b-4c9c-475d-9944-9f21f37f5d35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_a6920112-4bc3-47b8-98ae-e3cc04f256e7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DeferredForFutureRecognitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_101342b0-9c1c-4d60-a23f-dd1df54c2c11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_b236e042-06e0-4910-bdb2-e65dc298caf1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_cbea3c93-cb87-4fd0-92f1-68dd8d6a141f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_67a7751b-c72c-48b0-b1ac-c9e50300a6c7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:ChinaPerformanceObligationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_7f882109-50f6-410b-bd71-d6aee5676342">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_8c6e45bb-1f49-472e-9559-a3a3cefee8ec">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:CA</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_96cb75e0-1d1a-4a07-b3c7-4c4573ddde18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:FalikangCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_5a5f9f5b-e4e9-46ab-9c78-53b944ad3e49">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_397c3bed-839e-48de-92a2-d84e03a45424">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_baf4242f-5d13-4035-961f-f5744ebc2d09">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="C_c7330853-b638-42fb-97ae-193aada07397">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2014-09-30</instant>
        </period>
    </context>
    <context id="C_2492c0a5-092b-4db0-ab54-2cb41fb20024">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_8dfca732-7b50-47d8-943b-06fd63bcd98e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TransactionTypeAxis">fgen:APIShipmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_b0d269b5-195b-4d57-92a7-c9011f90c4f8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_715f1e78-0df3-4b9d-9435-742afc271ff3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:BondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a8e3741f-80a7-4107-8144-8001263d30df">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_db7b6315-4893-4093-a8e3-4f206f41e360">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_9c5e7487-267e-4264-bd03-b5f0cc05bd71">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenCaymanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_8c26fd17-5407-4883-a9b1-f63dc695e38a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_07aca277-2192-46d7-b9e2-eb12c5876d83">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_02e61819-a36d-4328-821d-6652cddf6682">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_1328efd7-31fc-4729-9933-b94c0dad16c8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_b9a3095e-7cea-4a4c-b2c9-5f08dad5771b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_3bb318dd-86cf-40ed-a2aa-c686aa4fedd9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_f71f5c88-8e09-486d-87a3-fe5cc6fc75c3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">us-gaap:ValuationTechniqueDiscountedCashFlowMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e2a59c00-56d2-4312-8cd8-032f48bf6650">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_45b0924b-4cf9-4634-aa34-2d9e5b58e9b2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_812a6f56-e692-4550-8ae1-9a38563137f6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_af2adcf9-f465-4168-868b-527ff23d4372">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_965f9dfd-db09-4014-9ff2-4b3ce1fbeca1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_7718419f-135a-4b31-a47b-8736a1cdf919">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:OtherRevenuePatentTransferMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_8fdde903-c818-40c6-862b-d0e48161bace">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_88a9527f-c19c-4262-9a0b-0c86673d1614">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_44411402-4130-4eae-8a6a-b5b3a3b1d5a0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_fc66a24f-cb40-48a9-9e32-c517c08f6020">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_0a847135-1a14-4fd4-a764-90ffc1ce8296">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_89069d82-173b-486d-b18a-12e0ed848777">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:BeijingEconomicTechnologicalDevelopmentAreaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_2c22d0e6-9a4a-464d-8b52-2dd428e0c12e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_d0b541e7-1180-4256-975d-456eb0e68ad1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <instant>2024-01-31</instant>
        </period>
    </context>
    <context id="C_bc67b859-6a7a-483d-b9ab-3f3606bfba16">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_6ee78229-9de9-4276-9464-cfaa0c01fd3d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_b61346fe-47e6-41d4-bbe4-25b4aef1da42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <instant>2023-10-17</instant>
        </period>
    </context>
    <context id="C_e86a2990-803e-4f7b-a835-1af10a81cf5c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_d4d3a4ad-58d7-4cd6-8f7c-476693909649">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:ConvertiblePromissoryNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_987c8269-c09a-4c09-adf8-8ff473c94317">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_baf4e5d4-5795-4d34-8c60-de3fb2853bcb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:ConvertiblePromissoryNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_2f06d81a-e18e-4ad2-a9cd-a3845a64f054">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:ClinicalDevelopmentMilestonesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-07-29</startDate>
            <endDate>2013-07-30</endDate>
        </period>
    </context>
    <context id="C_ab8c9705-5fc0-4804-adff-fa15225d56de">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ProfitShareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_5fec43db-89ef-48ff-988c-27ababfa9bdf">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_44966446-1567-4557-9601-0657675deb31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_05dd4bac-1564-4eb0-a139-99747a4f6697">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_986055b0-2f1f-4054-9df7-989f9b942219">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fgen:FortisTherapeuticsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_e3ede601-bff4-412a-975e-c3fc0275bd2b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_7704c37f-1cad-4567-a037-6e7f7b844901">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_73216bff-85f3-4d56-9c06-bf1a34b575f6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_690ba101-7bcf-45b4-93ab-f75ecd71059c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_5a42e7fa-5cf5-415b-9493-9ca0620d132f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_14692126-1d87-484c-a361-1cc42818617b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_7d0d88d7-1f06-4b8a-bb98-f228d097c366">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ProfitShareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_d3b77e5c-d2a5-4628-8645-7f0536e2037f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_e5f5b775-79ab-4b88-89c5-628da75cf313">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_edc11a7b-a6b0-40fd-bfa6-9f386129b05a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_afb93e67-b1f7-410a-9eb5-76a98e755f1e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_d18421a3-6eb0-41c3-865f-3d30610e76de">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_0b9590f1-cdf0-4cee-9ecc-380bbffc159a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e5c67bae-0713-42f4-8a05-7bb5d22af872">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_08984c92-4fb6-4b96-87fe-b04e6fbdf4ca">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_9dcf2e46-d8b2-4c2c-ab36-8a4e3b80aaf3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_7c1914b9-8033-45d3-93fb-a282fb44696e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_a5b0c087-4f4c-40c8-b327-d49d0cd24f70">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_a89db25d-a908-4a2c-a4b5-1acf00a714fa">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_95a49687-82c4-4056-b1bd-20c8519a55fe">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:RegulatoryMilestonesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-07-29</startDate>
            <endDate>2013-07-30</endDate>
        </period>
    </context>
    <context id="C_5557388d-a83e-4fbc-91f0-a6e63de32eb6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_506b093a-27a1-4916-ab54-8d4bebdcb0a3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_35841333-74f6-4133-a950-8375b5226923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_28f2917a-4934-44af-a2cb-297cc1ada203">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_c867876f-e980-4297-9c42-81c5643cd3fd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_c4776c5f-9047-4c34-b331-fbe33f89b649">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_fd0c7653-e448-4e10-8cc5-3dc1479076ca">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_2ce15aee-90af-4927-a5c8-a4a1f974398a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_b20a7854-a42e-44ba-9c35-0a281cc96828">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:AtmProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-27</startDate>
            <endDate>2023-02-27</endDate>
        </period>
    </context>
    <context id="C_8656ccf6-7b9a-4d86-93ef-e201e089a439">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_690e25a2-ec5a-4009-bdbb-c779cf8ed79f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_9df69083-c305-4073-82ef-4bb5e3fd801e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">fgen:ManufactureAndSupplyOfRoxadustatMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_59b97078-5956-4d16-9e00-c3b9d75ab86e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesBPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_bb0b20be-5ebd-46ff-962e-5b39583edd9d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_f2a3bec5-7ab0-40d4-98fa-5fed29caab14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_4490c8f4-3882-4f3e-be33-fcc6e52f440c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2005-06-01</startDate>
            <endDate>2009-02-28</endDate>
        </period>
    </context>
    <context id="C_70c0f8ea-eb0a-42c1-92aa-243d905a2ba6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_dfb977fc-38fe-4c04-a11d-3e6875c02b6e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">fgen:LaboratoryEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_d6f21aa5-889c-4dfa-9ce2-92fcb4d2b9ea">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="C_77de3070-a7c7-4dff-aa32-3fd9d7fd7063">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">fgen:AccruedAndOtherCurrentLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_c5c4b2d6-09ca-4252-accc-c6b9b5a7a55e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenCaymanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_2200ad89-0c83-43bb-b3c5-eabb8b0ab231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_79c00df0-8cd9-4b34-bb56-18329568f281">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">fgen:ThirdPartyShareholdersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">us-gaap:OtherInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_304bb7d9-3e21-42db-83a9-b5689f3fe6cd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-04</startDate>
            <endDate>2022-11-04</endDate>
        </period>
    </context>
    <context id="C_2c0f98cd-577c-4626-bc31-c1d608665324">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:TotalShareholderReturnAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-02-28</endDate>
        </period>
    </context>
    <context id="C_5995f929-3741-4c1d-848c-3ccfd1ee27cc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="C_8c1a506b-c25b-40df-9370-0bc732e1b43b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:FalikangCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_025aeb48-93cb-46ce-b1ce-7c92cd66990f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_7497727e-27a1-44f0-a67c-9561eae1dc3a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesFPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_9c928c5d-22e1-46f8-bb0e-197d157ef959">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_61912f00-c0b8-4f8c-a4d0-ec6b32adcde7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_91b986fc-d91b-46d1-bbbb-edb6c4975266">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-04</startDate>
            <endDate>2022-11-04</endDate>
        </period>
    </context>
    <context id="C_c72973a0-f5ac-4941-bd93-56ca141c6d0f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_8b286242-b5c5-40f3-aff0-125cd2031463">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_4467ce7e-b010-490e-a6db-a3392c21a6be">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">fgen:LicenseRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_2bcc9ae8-5367-4c0e-8506-7b39063bee70">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:LicenseAndDevelopmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_98f064b8-c8d1-446b-9181-9c5edbdb8a71">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesHPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_1ec5d821-c9b4-4746-b661-4463e8a030f2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_e64035f6-74f7-43ad-8c0c-b5cc97e8e131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesCPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_80fa294c-a5d2-4b39-a6dd-8bb5bde8fb78">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_7e8436c1-49a6-41fa-a4fb-ea5535c12b40">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesEPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_2ad24307-4357-4587-9fbd-afdfbb1fceb9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_3754bc73-6453-4e16-b248-cea34f4b85ef">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-01-01</startDate>
            <endDate>2015-12-31</endDate>
        </period>
    </context>
    <context id="C_858d8afe-0b0f-4b51-be2b-9f08a5503083">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:RegulatoryMilestonesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_936d7fe1-23ee-4503-9a14-9385a4290304">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">fgen:BeijingFalikangPharmaceuticalCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_ce10b568-068b-46a4-af77-391695657653">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:ClinicalDevelopmentMilestonesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2005-06-01</startDate>
            <endDate>2005-06-30</endDate>
        </period>
    </context>
    <context id="C_86aecf7f-d4ad-48d6-81ed-7fd0f6d75915">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">fgen:ExpirationYearTwoThousandTwentySixMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e9d30697-9059-4875-a249-41c40837b52a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_62fb430b-045c-4c6f-8619-a8977b560ee1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:RoxadustatDrugProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">fgen:AccountsReceivableFromDistributorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_5c1aed34-8144-4ef5-a31b-4004344b8f78">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_26f2e989-5f07-458e-a4d2-388ca07124d6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:StockOptionAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_b32ceb60-7f32-4a8c-aba6-7344a342d038">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">fgen:AccruedAndOtherCurrentLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_505b9183-755e-4b21-80ae-014c47dacb80">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">fgen:FederalAndStateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_36ecc7bf-c41d-460b-92f3-3ab64b425d0e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_d3b0e95a-6238-461b-991b-812b32ec223f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFiveStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_b355ec1f-7122-44d4-b503-7cbcc61bae01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="C_8d9e40ae-957f-4260-b5e8-454c8d0adade">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesFPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_3d3f82e4-4816-4489-814c-866d2684ba8a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_c65ab633-2463-4897-b5a9-04b704f70dae">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:HiFiBiOAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_d8ce0cee-d608-43e4-a0b7-1ed4f965cd2c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_8fb04946-4ae6-4072-8ec9-ffc9f2a84ad1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_3ced6666-5930-4496-b340-906b5898d986">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_fce2cea9-acf6-4c1f-81de-929d48cfe083">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ProfitShareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_7047ebdf-c9fc-481e-b8cf-3f6a15695bc2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_7aa0ec63-9119-4ac2-b319-b78b312f4e03">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_4f3fb4b2-116d-43b3-94ee-3cfae72d071a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_5fd2f689-43e5-415a-a8f0-f5d4113acb9e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_0d2a1068-530a-4790-a599-651e1d85cf2a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_587c875c-85c7-40f7-90ff-380658696ae9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-05-31</endDate>
        </period>
    </context>
    <context id="C_f26887a3-0ec9-464e-8561-473ed3c3a56c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:BondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_c53c0b6d-1c9a-49b8-ac78-9ba4ce287637">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_68ca4370-c0da-4899-81b5-ecfd60e71dc6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_222c8437-de38-43f8-96f8-8c1bcc2afec6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_29ae50fc-6f09-4103-bb32-9be92f9a8bcc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:ValuationAllowancesForRebatesDiscountsAndAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_9c462f04-8f46-44ab-ab72-a2ccd536adb1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201901Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_7811b1fb-2195-41fe-b9b4-4698c263263d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_9c1fa134-424e-4294-b760-3a1f0e0bec6d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:MilestonePaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">fgen:PaymentPeriodOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-04</startDate>
            <endDate>2022-11-04</endDate>
        </period>
    </context>
    <context id="C_61185a7e-4cc2-4fa4-9a59-c6e7007d895e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:TotalShareholderReturnAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_4281c003-8942-42b2-a9c5-fed334a66d68">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_a9b93c03-b62c-4471-bdae-1229fdfb732c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_7ff027e1-84b6-447f-8fe2-c52b9725a2bd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_1cda9703-aeb4-445a-b6b1-adf222eadc12">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_6980804d-70eb-4306-a1a9-995e7bd59696">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">fgen:LaboratoryEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_260c93a8-c8e9-4970-9f44-90a16e8aed4d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e665c10a-3d2b-4ec4-8bde-27f0bccf1d4f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_b02eeac9-405e-4cbb-8fa1-5618869e0285">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_9a383c87-d503-4a10-ba48-73b36eb158ae">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_ddff872e-147d-4935-b266-7e38857ce462">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <startDate>2023-07-14</startDate>
            <endDate>2023-07-14</endDate>
        </period>
    </context>
    <context id="C_779b6e72-8b61-47e2-9d07-7f55f735098c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <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_9428ff60-8d3e-4b0b-9dd9-61c512ead67a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_51afc4dc-9629-4c33-9580-80d7c32dc761">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_8ad23aa4-dbf3-4abf-9c95-bf014b7bfe2f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:LicenseAndDevelopmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_92195a5b-b6f3-4971-89a8-3a0b2aff7918">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_7b9b71e3-6fba-4b08-970e-1cc9051fc211">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:FalikangCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_2241c9db-ebb5-46bc-bed6-e1572f418f14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">fgen:FederalAndStateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="C_00ff4cc6-603c-4028-b586-66f9708a9dab">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_1528764b-7417-43bf-b0e8-270db351abad">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_782b2c2c-8255-4e71-a234-c4eb4d25ecc5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-04</startDate>
            <endDate>2022-11-04</endDate>
        </period>
    </context>
    <context id="C_a9ac82b8-66aa-4bbd-a2d9-d559a20f5f07">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:FalikangCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_e2cc0a7d-167d-4d1f-a543-70dc63e9891e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a7f201a4-4fc8-46c3-9232-d6e0061d36a2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_430d9eae-1a54-416a-978f-bd8321e45644">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="C_d43d1399-b0eb-4c13-8d3f-8f914f93c5c6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:BondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_d0e308e7-c4c3-4a35-b0df-90ddc089beb5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_347617c4-c1a5-4907-b38b-a86639c20bc8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:ForeignGovernmentDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_a0f43f9d-a4e3-47f5-88f8-200ba7bc2796">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:DeferredApprovalMilestoneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-07-29</startDate>
            <endDate>2013-07-30</endDate>
        </period>
    </context>
    <context id="C_94968f74-2378-4f92-a41e-cb137e49f460">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-01-01</startDate>
            <endDate>2015-12-31</endDate>
        </period>
    </context>
    <context id="C_ac2ad58a-c256-44a4-b2b5-a0b1322e9dec">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldAndChinaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_db10d930-93d6-4b10-b745-9bdf9e585579">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="C_0eeb9ede-f956-4236-8777-2393b5f0c2a1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_9b485fae-993b-4a81-9437-9082d4079a3e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_b35f67ea-70ba-4200-a0f3-3b3fff354071">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:RestrictedStockUnitsPerfomanceBasedRestrictedStockUnitsAndTotalShareholdersReturnMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_bc6a99e3-85df-4961-bc59-1bfcf38ad17b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:RegulatoryMilestonesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2005-06-01</startDate>
            <endDate>2005-06-30</endDate>
        </period>
    </context>
    <context id="C_207f7479-2b33-486a-9e5e-2da2f18f3d8f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_12b09a60-f1ba-489d-80a0-5d51865c7616">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fgen:FortisTherapeuticsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">us-gaap:ValuationTechniqueDiscountedCashFlowMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_f4110041-d180-43b1-9f3f-9d5bc9e44b24">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">fgen:FederalAndStateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_7930c720-a15a-49d5-a673-4ac5dfcd7bfe">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_186be332-a1c2-4e53-84ff-55113081329f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">fgen:LeaseAmendmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:ShorensteinPropertiesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-01</startDate>
            <endDate>2021-06-01</endDate>
        </period>
    </context>
    <context id="C_b9a48968-fbdd-410e-bb99-5866f6959b94">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_f187a5ba-1fd3-43c9-a7e5-a15fdbb02cbc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_14b1d456-b401-44af-bc59-f83599a5779c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_c59b7f13-65ce-40e5-881d-f7cb503d09c2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_8161ddbe-54e2-4bb7-99f5-03366cbf8d26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2014-09-01</startDate>
            <endDate>2014-09-30</endDate>
        </period>
    </context>
    <context id="C_3bb807ba-04ad-4d46-becb-e63d43a94e08">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:AtmProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_c075cc89-6b9f-4627-a708-e7978888b2d5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_99cd03a9-4798-4b8a-8371-9c87615120e6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_b10232b4-a607-4beb-b644-228d14e03827">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_6deda77e-2584-48d4-8b8c-8547fc48de28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_b8335490-3812-4924-9787-048714b5e777">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_97c91ca9-34fb-45af-b56f-7027b96b661d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_d94871d9-155f-45b6-85d5-3341ee165465">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesGPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_a8b1dad5-8076-4dde-9643-5550cbef11b2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_4ee03e1e-6501-4b6d-977d-f1e6fc2a7874">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">fgen:OfficeSpacesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_0306163d-33a1-4585-9e18-f8ed18761bf1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_52f697e0-dad1-41cf-b6cc-29aa9845f30c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_ebd00914-687d-46b8-9d96-a90abc45db5b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:ConvertiblePromissoryNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_3af042cd-501f-4d16-ab33-f5cc1769db27">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:PerformanceBasedRestrictedStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_5434968c-8b40-4fc1-a1a8-450008108bed">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_056299d5-b54d-42f0-8a35-dafc97db5874">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:SalesReturnsAndAllowancesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_e82769fa-c6cc-4d5b-a6e6-4a445f9fbf48">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:TotalShareholderReturnAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-02-28</endDate>
        </period>
    </context>
    <context id="C_9eafba01-7637-4c8c-9722-18817fd59cd3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_1951cf98-3452-4729-9620-7bf634d5bd22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_eee05b28-bf73-4a04-b53d-02702a48a5e5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2006-04-01</startDate>
            <endDate>2006-04-30</endDate>
        </period>
    </context>
    <context id="C_57c84049-303f-43ed-998f-89ad95828c47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_b121c107-842c-4bb6-9142-8fdb84696834">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_f29fd6eb-9bd2-496a-b4d7-1aa33757bd06">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_a78aa492-a4f1-4008-bca5-4c4e263f2c78">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_a0e42a78-4719-467d-8c18-7cc053055418">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fgen:FortisTherapeuticsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-05-05</startDate>
            <endDate>2023-05-05</endDate>
        </period>
    </context>
    <context id="C_4b18c675-f7ca-483d-b296-3fbb22c4ebcb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesCPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_e570d502-9900-4211-a721-4abaa783f4e3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201901Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_44801228-6da7-41e9-ac58-9e490e0eab1f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_fcdd70cc-02f1-4078-91fa-572c17727d6a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_195eefd4-6da3-43c0-81b0-6ea119e86f6e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EquityMethodInvestmentNonconsolidatedInvesteeAxis">fgen:BeijingFalikangPharmaceuticalCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_0be8756a-12e9-4939-b897-b138f42e27ca">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-09-18</instant>
        </period>
    </context>
    <context id="C_60baaddf-10f0-4a6d-ad2b-5d5114bea420">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_e0dba2f4-2e6e-4443-a2cc-ab934480fa42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e97f4ffe-92fb-4434-9162-5a5d8f056ada">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_ddc9ba9c-5861-4aa2-b92e-63b73c62e1d2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_2a9fd702-bb23-464b-9bb3-bd219552aacc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_f879e501-9478-46ef-a0a3-e2a2f87ba539">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_1e0a6e67-86a9-4fd2-a2c0-fd64e9dd6066">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TransactionTypeAxis">fgen:APIShipmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_51eeb100-a8cf-4f3c-9d36-38c654db3929">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_67bbdbe1-8f4e-4610-9ba5-d4238cbd9b72">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:BiosyntheticCorneaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_3cd339e5-d423-4fac-b504-227336a6a578">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_0f0dbffc-396b-44ef-8b73-7f9a3a5e51e1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_e2d95cc7-6809-4e41-b4a5-c193f6a20300">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:SalesReturnsAndAllowancesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_b0dd58a0-ab0d-4e16-9fee-d4c7c815b5a9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_5748279b-966a-4c2a-93d8-b37a74cb9e56">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_f51c9e5b-00c8-4ed5-994a-c730fa65cca4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:FalikangCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_b1abd3f6-9e5f-4849-a22f-19625fdae480">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_2b061bd4-6cf5-4ed3-a98b-d3b0ce02e215">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:ClinicalDevelopmentMilestonesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2006-04-01</startDate>
            <endDate>2006-04-30</endDate>
        </period>
    </context>
    <context id="C_6f1ce090-d670-4f43-ac8a-9596b7e8371f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="C_cc914418-c5b0-4dde-97b9-ffde29490b6e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenCaymanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_449f708b-00d7-40ff-a656-df58936be1ca">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:ConvertiblePromissoryNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_43212964-e3d4-447a-be42-9ee2d89d9290">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:TotalShareholderReturnAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-02-28</endDate>
        </period>
    </context>
    <context id="C_3a9b7a13-9844-4e3b-b842-6f7f8f7b06d7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_999e73e6-ee7b-4b73-bf56-360fbfb0c5a5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenCaymanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2013-01-31</instant>
        </period>
    </context>
    <context id="C_8d86ddc5-f189-461c-a0de-1deac7641775">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_cf240dc1-5b27-4497-9ed3-02c28c795f98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_6eb1ac9b-f9eb-46f5-a850-37b4f530bdd0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_c140c098-99ec-418b-87ce-cd5b3b31f1c0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_cd34fec9-258b-4bd4-af13-19f2e01c25c9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2023-09-30</endDate>
        </period>
    </context>
    <context id="C_632750a9-441c-4788-9b20-27041510e572">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_279b072f-52a6-407e-a314-08cdb607df5d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="C_af8c70cf-5b7d-4e18-94ac-2b237f68b5cc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_82d124a4-1e8e-4c7c-8f11-2ef965609859">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:NetTransferPriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_dbae7583-b097-4efb-82b8-4bd796994785">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a1db9951-e8e6-483c-abeb-2ea1de5b512e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_fe4460a2-ef5d-4301-bd7e-2dfcd14d9c5e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_49146cde-48bb-43d6-9da6-b54f2856ecc8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:PerformanceBasedRestrictedStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-02-28</endDate>
        </period>
    </context>
    <context id="C_a7d36e78-cbfd-4b7f-a8c5-3cb3bd2490e5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_81733a62-ea6b-4fb8-ac1a-6361b593f3a9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:ForeignGovernmentDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_2427f058-7cf6-4c07-8c55-53020154028d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:HiFiBiOAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_bfaf7ee2-8a31-4a60-9a57-c2ed55095b93">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DiscountsAndRebatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_53bc918c-4181-4772-9d28-479d0f2e1e08">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_26002145-6f5e-42e8-9176-8a2b83d50419">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_6a50a82e-d849-43f5-8782-988b2133b3d4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_ca8dabe4-ee75-4cc1-88fa-22ad86c9f220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_357db032-314e-4a7c-9652-fc3e2a079d22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_8aa3bc4c-9f6c-4fb2-b6d1-a5f58c06f239">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_1d12f457-88cd-4946-b657-3aca06a7cfc0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_649d562e-a8ae-40b4-bb9a-131e714124b9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_d7483c7b-f5cb-4e41-9fe5-b9cd6457e3b0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">us-gaap:OtherInvesteesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_68624f91-a5f7-4b90-be41-5f8fabc51019">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-04</startDate>
            <endDate>2022-11-04</endDate>
        </period>
    </context>
    <context id="C_c76f6e0e-7be1-4639-b16d-7816b6ab09d9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <startDate>2021-07-30</startDate>
            <endDate>2023-12-05</endDate>
        </period>
    </context>
    <context id="C_e148661d-15d9-4087-ace0-a627aa82c0be">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:DebtFinancingAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">fgen:InitialTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-29</instant>
        </period>
    </context>
    <context id="C_d30e646e-d518-4d7e-b48b-c0c5d8820692">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">fgen:FederalAndStateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_4677bbd5-396e-460a-b9ea-1a8ef3003d69">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:USGovernmentBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_3f6c5da6-149d-4e23-bb36-bb5a0aaf655b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">fgen:ResearchAndPreClinicalStageDevelopmentProgramsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_b0b4c4de-0aa6-4c3e-99c3-ea107fc99732">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">fgen:FederalAndStateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_f0c22d34-501b-48ca-857f-8481c9178419">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fgen:FortisTherapeuticsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-05</instant>
        </period>
    </context>
    <context id="C_a5131c42-9d4d-465f-879d-86d0b5d0591e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fgen:RsusPrsusAndTsrAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_70f4531d-ca48-4f5a-869a-abd180a9ca96">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_8dcc6362-b7f5-451d-86fb-7ae7ee437868">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-21</instant>
        </period>
    </context>
    <context id="C_9fe43a64-ce73-4bb7-bf6e-a0ca0ee60adb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">fgen:FederalAndStateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_88505922-bad8-4351-92b5-ba7d82e86b0b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:ForeignGovernmentDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_44ce08de-7b02-4982-8578-54a8d37f38db">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_b458ae5e-4dd0-40db-a156-3511b30b31df">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:PerformanceBasedRestrictedStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="C_d4190d83-2c42-4569-8a71-c8f44b1bcb92">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_26dccaf9-87b1-4a6b-b8bc-2decb5273511">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_acb46919-8df0-40ef-aee5-d04d1c189e87">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_32c5005e-7734-4197-b44e-37a11e09e7fc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_2cb0b760-21b6-4428-9315-5445410e51a3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_4347292f-9186-426c-8f78-e90729035fab">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_c52b43d8-10ee-4799-a3ab-939a0ba45db9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_80abdbfe-1ea4-4f78-9a32-0e16549e5993">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:StockOptionAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_3778ef7d-b3a4-43a0-9dd0-7b8f411e5e1b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:OtherRevenuePatentTransferMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_14b20dc5-02fe-4953-b340-ffb9bc5d98a6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:SalesReturnsAndAllowancesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_79a389cf-3893-413e-92c7-f9510408990c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesGPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_20ffc867-55c8-4555-91bd-a994a29c5242">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="C_1efa9634-32e0-4de7-85ff-95fb98b1d503">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">us-gaap:ValuationTechniqueDiscountedCashFlowMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_3b2d0816-da4e-4855-b033-81decbc0c8cc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">fgen:PaymentCapDateAfterJanuaryOneTwoThousandThirtyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-04</startDate>
            <endDate>2022-11-04</endDate>
        </period>
    </context>
    <context id="C_8575fc66-808b-4431-8e13-1c20ae80d04b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_b33c70ef-163d-44f3-a4d5-4beab3fab652">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_86aeaf95-72b1-4870-a0db-88d72f44070b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_b494fc69-c1b9-41de-8f89-256ad32ce8b9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_db6fb63e-a4ce-4e4a-886e-36ba9c7a1335">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_75280c83-48b9-4595-b131-fb7dddb45699">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_24d75f0b-1f76-4b16-bd10-ab69a60ebd4f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:DebtFinancingAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">fgen:DelayedDrawTermLoanTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-29</instant>
        </period>
    </context>
    <context id="C_08b07b5f-6f5f-4b95-9e2f-9785bb4dfac5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_eb1b3f54-5cb0-423d-aa5f-3bb8c58bd699">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_a4a29692-8d36-4f1f-b49c-9ec01e60bbd7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesBPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a454d238-654d-4e8a-81ff-f9b70bc9f678">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">fgen:BeijingFalikangPharmaceuticalCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_d3e27962-7c7d-46f5-97f3-20e1fc677a66">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_3118286d-5662-45d7-85a3-423ffb8d4445">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_02100ecc-9274-43bc-9a74-6f24c8be2c31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">fgen:InitialTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-08</instant>
        </period>
    </context>
    <context id="C_04056763-b277-40b0-a25b-537f7d95e260">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_80e9ec01-68cc-4d71-8bd0-61807175b193">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFiveStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_112d19ca-27a2-469c-8f59-37ee2038176f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_4123b229-24e9-42ce-933d-58cb92496c09">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesAndRestOfWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-07-29</startDate>
            <endDate>2013-07-30</endDate>
        </period>
    </context>
    <context id="C_6d6682fc-aec1-4833-96b7-940b1d676766">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-04</startDate>
            <endDate>2022-11-04</endDate>
        </period>
    </context>
    <context id="C_c60666af-5915-44bf-9839-b31f58215399">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_1f899241-70c9-4171-a1b8-ce428e3fa43a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_22bf96dc-3a88-4f2d-8b81-83b17ef5db33">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_8eb581ca-daaf-4614-8f29-d32923f44ed1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_1521386c-8756-4786-95dd-fc2446b96cf2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">fgen:OtherInvestorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">us-gaap:OtherInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_eeef1c68-85f7-4cd0-b518-c15b6ad90eb1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_1478897f-b5f7-4307-85d3-8cd748c125a8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:CorneaProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_c1dcd9da-92cc-4481-bba3-209dfe51295b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_53f09f2b-cf2e-493c-aca3-d328fef636de">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:ForeignGovernmentDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_d5360206-f3de-41b6-ad8b-c2f52de6903e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_ec9c7a0a-93b4-4511-959e-9016843b7f02">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:HiFiBiOAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_951e0203-c48a-4d08-955f-b254e9a55270">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_ef8b564c-7619-41a4-be6d-99077aa05787">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_d2a8a398-f907-4749-871e-11c30e02d4f5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FalikangMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_0c685793-fd28-4163-b729-a03a05362e9f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenCaymanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_0be7089b-5e8b-4f60-9296-67d70a1665d1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_91696334-462a-4ae6-9bcb-e34072cd9648">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DevelopmentAndOtherRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_e04a45d7-0c58-4eb0-b40d-cef65ea46977">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fgen:NovaquestCapitalManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">fgen:PaymentCapDateOnOrBeforeDecemberThirtyOneTwoThousandTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:RevenueInterestFinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-04</startDate>
            <endDate>2022-11-04</endDate>
        </period>
    </context>
    <context id="C_9feecbc0-749f-480e-9778-4fb17c34c7be">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_7560889c-d789-4d6d-900a-30785ab39b33">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fgen:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_4b8deb87-19cc-4154-ab8b-67e803401639">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:OtherRevenuePatentTransferMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:LicenseAgreementWithEluminexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_d77593e4-0d4f-419c-85a1-68133a695783">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_fb7c0467-3dd7-4a7d-8bdc-fe7a383febc7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_98e838d9-2839-491a-8c1f-691bbdb1d1b2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_2ec22a62-3a7f-455b-b977-51076c6c7ae9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibroGenCaymanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_e5865776-8614-4851-88a2-404a4fcb76fc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_62cc5d28-3094-491c-abaf-debcf049cd9b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_42dc2692-decb-4ee2-8bb7-113216ea2fd0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_f112fe27-cd15-4629-a0b6-afc4a980ea28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201901Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">fgen:LeaseAmendmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:ShorensteinPropertiesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-01</instant>
        </period>
    </context>
    <context id="C_c0399d25-ee44-4169-9544-4f358b8d17f8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_1c8e2c62-53fb-4b38-b9a7-a49e48f6693a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_e27c92da-13b4-47ec-a09e-24a45b583b49">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:DirectSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DiscountsAndRebatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_5f168ff8-6e2d-4722-88ad-0675b23ad132">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_3ff6022c-ab9d-411d-a60c-41584de3ddda">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</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_56d0e822-a684-4ff1-839c-68f1dfbb7504">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_85746b8c-afc4-4010-8ea1-d590b5d46596">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:IncreaseDecreaseInDeferredRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_60fc1003-c564-49ad-9ecb-143a72f055bf">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasEuropeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:BulkDrugProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_6fb9042d-0170-48a2-9c58-e516bcaec174">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:RsusPrsusAndTsrAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_350305bb-67f1-4838-8fda-595fba86d7f6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_cc537740-f6c3-470c-8622-b3d7bda3db47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:AstellasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:CollaborativeArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_8e1bfb2b-d5cc-4db7-ba97-d0173c471d20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_0e9698e7-fcf9-4952-8342-d9f58d82f63c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fgen:BeijingKangdaYongfuPharmaceuticalCoLTDMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EquityMethodInvestmentNonconsolidatedInvesteeAxis">fgen:BeijingFalikangPharmaceuticalCoLtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">fgen:AstraZenecaABMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">fgen:FibroGenBeijingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fgen:TotalShareholderReturnAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_04238edf-69c7-4bc9-8251-233dbe9d8c1d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_ee7eb5a5-3eb4-404a-84fd-6b992110dacd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fgen:DebtFinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_697e6687-689f-4ae6-b087-e8ac61423b43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">fgen:OtherInvestorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">us-gaap:OtherInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-05</instant>
        </period>
    </context>
    <context id="C_d3683abc-2d3d-4acf-a7b0-5c5b3fd5e132">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_09f0cc6d-149d-40c0-bb99-259b3d1af0eb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesEPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fgen:FibrogenEuropeOyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a12b6aff-01d9-4c1a-8610-6b0f117ed10a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:SalesToFalikangMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">fgen:NetTransferPriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_1ec55bc0-a413-4501-ab9b-d40e49526b6f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fgen:UnitedStatesRestOfWorldAndChinaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstraZenecaAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_f50a4abf-d42b-4eba-bcbe-16d0e1c79248">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_f863be40-ba91-4310-a063-3c1d8317659e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_ecdcb19c-96f8-4de0-bd94-9f5ff1dbf91e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_5ffb95b0-9909-4502-8d55-3a41b5c36bdf">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fgen:TwoThousandAndFourteenEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_f9dd4cad-13bb-420f-b339-f11ab7f9f5b0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fgen:DrugProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_908d3f33-b0dd-40d4-9c7a-51f3a0320acc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000921299</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">fgen:RegulatoryMilestonesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">fgen:AstellasCollaborationAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2006-04-01</startDate>
            <endDate>2006-04-30</endDate>
        </period>
    </context>
    <unit id="U_Option">
        <measure>fgen:Option</measure>
    </unit>
    <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_Segment">
        <measure>fgen:Segment</measure>
    </unit>
    <unit id="U_ShareholderDerivative">
        <measure>fgen:ShareholderDerivative</measure>
    </unit>
    <unit id="U_PutativeClassAction">
        <measure>fgen:PutativeClassAction</measure>
    </unit>
    <unit id="U_shares">
        <measure>shares</measure>
    </unit>
    <unit id="U_DevelopmentObligation">
        <measure>fgen:DevelopmentObligation</measure>
    </unit>
    <unit id="U_USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="U_PerformanceObligation">
        <measure>fgen:PerformanceObligation</measure>
    </unit>
    <dei:DocumentFiscalPeriodFocus
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_aa1007c5-cb60-40d4-8372-bc8445208dfe">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_2d21ca93-44c3-4f75-8ee4-93328d697bf0">0000921299</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_801ae191-600f-44d5-bc5d-152a53c83266">false</dei:AmendmentFlag>
    <us-gaap:CommitmentsAndContingencies
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      id="F_c9a5d341-6889-4520-9494-7c805a7e33fe"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      id="F_c1ae653e-9040-4144-acdf-a096c907387e"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      id="F_df5e8dbc-2fdb-42ef-9e0d-fd4668dddd0a"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:TypeOfCostGoodOrServiceExtensibleList
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_000ff0b2-277e-4672-babe-12b5ceb15f67">http://fasb.org/us-gaap/2023#ProductMember</us-gaap:TypeOfCostGoodOrServiceExtensibleList>
    <us-gaap:TypeOfCostGoodOrServiceExtensibleList
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      id="F_f2724b7f-2079-42a4-86d7-eac263261762">http://fasb.org/us-gaap/2023#ProductMember</us-gaap:TypeOfCostGoodOrServiceExtensibleList>
    <us-gaap:TypeOfCostGoodOrServiceExtensibleList
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      id="F_3ffc38fd-b789-45d0-bd3a-744860736a32">http://fasb.org/us-gaap/2023#ProductMember</us-gaap:TypeOfCostGoodOrServiceExtensibleList>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_2200ad89-0c83-43bb-b3c5-eabb8b0ab231"
      id="F_81f57a61-fc56-4d6e-854b-d1273e02f34b">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_20b11c84-2ac1-415f-8a49-9b2c723eb504"
      id="F_e71b16c5-6126-434d-8525-3ae79ff19db4">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_07aca277-2192-46d7-b9e2-eb12c5876d83"
      id="F_0a9cc98a-5860-4392-89f3-199b7af3050c">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_49c697f8-4383-42f1-b80a-352f71028d8a"
      id="F_6ec45d46-e39b-40aa-abcd-3246c7d8df9e">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="INF"
      id="F_7af5f620-a6f5-43d7-8a81-a22096889955"
      unitRef="U_USD">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="INF"
      id="F_a9c32616-f234-43aa-8b52-b408f0688471"
      unitRef="U_USD">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="C_8656ccf6-7b9a-4d86-93ef-e201e089a439"
      id="F_c2593476-76e4-4f28-a5db-a97a3c46c121">P1Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="C_05dd4bac-1564-4eb0-a139-99747a4f6697"
      id="F_8e85a034-f27b-4aca-9e79-82a8f7ef2519">P1Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      id="F_b44be62d-5204-417d-8837-1e45bd5dd09f">http://fasb.org/us-gaap/2023#OtherAssetsNoncurrent</us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      id="F_73b7a46f-561b-4f66-8700-e955b456ad1f">http://fasb.org/us-gaap/2023#OtherAssetsNoncurrent</us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      id="F_79975e56-b464-43de-aee3-7997152e9a97">http://fasb.org/us-gaap/2023#LiabilitiesCurrent</us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      id="F_4843918f-50da-42e9-9edd-e9aec5e36569">http://fasb.org/us-gaap/2023#LiabilitiesCurrent</us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      id="F_5a2a9269-135e-4529-b640-63b2d92ecbbc">http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent</us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      id="F_6f1a9fbe-5bf0-4be8-adbe-2502374befd0">http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent</us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:LongTermDebtContingentPaymentOfPrincipalOrInterest
      contextRef="C_2ec22a62-3a7f-455b-b977-51076c6c7ae9"
      id="F_8260618e-7cd2-4e43-8e51-091a7824a311">0</us-gaap:LongTermDebtContingentPaymentOfPrincipalOrInterest>
    <us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="INF"
      id="F_4256d155-e15f-4602-9cd7-3def6e363f77"
      unitRef="U_USD">0</us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued>
    <us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="INF"
      id="F_742d1821-3d19-4dff-bc16-8f6a11deb307"
      unitRef="U_USD">0</us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued>
    <dei:DocumentType
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_702bff7f-3da1-4665-a256-c122ec7ee184">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_4bd9d2a2-bb74-41bc-8658-2d5454f34729">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_5dfc9451-cb20-4a71-9b01-0484d4ced7c3">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_4cc8c5cf-19ab-4868-bc14-b4faaaa43a0c">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_58f00552-c15f-414e-9655-5396735edf0a">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_f0e52229-d36f-4ca1-b7d6-759e3f233331">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_8edc496d-db91-4f66-84a5-ca4c9c930704">001-36740</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_92adf3ec-da33-47f8-8572-501f861d8a6e">FIBROGEN, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_f4e0a1e6-6736-43a9-8967-35d3ba4143ac">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_6629be06-796a-4cbf-a8d2-b1a5bd04d460">77-0357827</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_687c8503-c7b9-4a49-b238-776014bca42f">409 Illinois Street</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_ad45b70f-19d9-4165-a34e-8262430846ff">San Francisco</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_c63a5226-0be8-4b09-8bae-2efcaf8d976d">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_585e2e02-2d9a-41f6-98df-7148d1f3d3b4">94158</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_1fbf2625-73b1-4a12-bc39-525b90229b03">415</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_c4c931f1-14f4-463c-bfda-7e1c6312ead7">978-1200 </dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_c2250faa-bb92-4e1a-bf5a-8dd4236dcc40">Common Stock, $0.01 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_2333cb24-7042-477b-8352-bef76e731296">FGEN</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_210261ea-80f5-4ede-8df3-6e2b8030df2d">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_f1c2b6e4-3ebf-4d9f-9782-105c0723354c">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_407a4896-1c74-47a3-b7ad-41dd96a06dc4">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_d039c436-814c-43e7-b50a-dce7f9d04c96">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_56a5bd2e-f793-4fc0-82e2-164f17a5163d">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_696e5d9b-5d38-4dbd-a26f-2c5f8f74e818">Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_cf30e77d-f3d3-4813-8671-e31785a33d70">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_d37113f7-8bf1-45f1-a264-1214ffa78862">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_6c1e9842-39e2-451b-9ca7-f95d38c68fa5">true</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_f9dd6724-e893-4cd6-a096-8256d66ca7fd">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_e4cdb92c-8a65-479e-9e8a-aa39cf170a01">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="C_b355ec1f-7122-44d4-b503-7cbcc61bae01"
      decimals="-5"
      id="F_286d5e36-1404-4b4c-8f1d-e906062e4a39"
      unitRef="U_USD">261500000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="C_d0b541e7-1180-4256-975d-456eb0e68ad1"
      decimals="0"
      id="F_e9c1e2cf-3648-49b5-8367-43eb42797fe5"
      unitRef="U_shares">98771247</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_84aa7feb-f96f-4566-9204-665ec35638ad">&lt;p style="font-size:10pt;margin-top:9pt;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;/p&gt;&lt;p style="text-indent:4.533%;font-size:10pt;margin-top:3pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"&gt;Items 10, 11, 12, 13 and 14 of Part III of this Annual Report on Form 10-K for the year ended December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"&gt; (the &#x201c;Annual Report&#x201d;) incorporate information by reference from the definitive proxy statement for the registrant&#x2019;s 2024 Annual Meeting of Stockholders to be filed with the Securities and Exchange Commission pursuant to Regulation 14A not later than after 120 days after the end of the fiscal year covered by this Annual Report.&lt;/span&gt;&lt;/p&gt;</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorFirmId
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_67485968-cf29-403d-a085-153354552ea7">238</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_02b8e0f2-bd8f-4a55-9125-a5086a1f8ca6">PricewaterhouseCoopers LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_1bc749de-21cf-4efe-a703-9b07e1c516b1">San Jose, California</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_96e8e380-d632-4fd4-b86a-c6841fd77e9f"
      unitRef="U_USD">113688000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_48f72fd3-ec48-418c-a77f-6d352bdf7414"
      unitRef="U_USD">155700000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_5793112d-34be-4681-a6f7-34817eedc10c"
      unitRef="U_USD">121898000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_91398237-b291-418f-8258-21adc086a927"
      unitRef="U_USD">266308000</us-gaap:ShortTermInvestments>
    <fgen:AccountsReceivableNetCurrentRelatedParties
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_a5bdc46d-7c39-4098-ac6d-2c5dc3ed1bd8"
      unitRef="U_USD">6079000</fgen:AccountsReceivableNetCurrentRelatedParties>
    <fgen:AccountsReceivableNetCurrentRelatedParties
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_4199e483-a8da-4502-a987-0131da7765e9"
      unitRef="U_USD">12088000</fgen:AccountsReceivableNetCurrentRelatedParties>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_e7203057-1d20-4cd4-97bb-4b65e46b68f3"
      unitRef="U_USD">12553000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_ff912c70-ad76-45b7-b08a-440cdfe86bea"
      unitRef="U_USD">16299000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_12c4ffca-0910-4af9-b8a3-bf156e5ebcb4"
      unitRef="U_USD">41565000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_3488942b-c897-4006-a303-6346131650c9"
      unitRef="U_USD">40436000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_2a828411-78ea-445d-8062-5939a84d44c3"
      unitRef="U_USD">41855000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_ef6f5922-1d6b-4a56-94b5-8762dcae7f62"
      unitRef="U_USD">14083000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_10150a89-13f5-47f6-9164-746b3d945ea6"
      unitRef="U_USD">331559000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_5d2029df-514e-4b04-ba00-7b966c44c917"
      unitRef="U_USD">492826000</us-gaap:AssetsCurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_ec0af85b-15b8-430e-b338-fad88719d3a4"
      unitRef="U_USD">1658000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_719e5207-e795-4b6d-aaeb-2f3a99dddcc0"
      unitRef="U_USD">2072000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <fgen:LongTermInvestmentExcludingEquityMethodInvestments
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_af3fe1dc-3c2c-4b4e-b50e-a52557d4bab9"
      unitRef="U_USD">0</fgen:LongTermInvestmentExcludingEquityMethodInvestments>
    <fgen:LongTermInvestmentExcludingEquityMethodInvestments
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_e8ead97c-3178-41f8-8183-5abb85b2e873"
      unitRef="U_USD">4348000</fgen:LongTermInvestmentExcludingEquityMethodInvestments>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_4c7e32ec-13b6-4d01-8ab3-622b8248ba4e"
      unitRef="U_USD">13126000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_c401352c-748a-447e-bdde-5e6d0ee6033c"
      unitRef="U_USD">20605000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:EquityMethodInvestments
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_59bf1415-dc28-42f2-bdba-0c03faabbd8f"
      unitRef="U_USD">5290000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_755f662f-c8a0-4985-8b48-db786e637589"
      unitRef="U_USD">5061000</us-gaap:EquityMethodInvestments>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_bb783c35-495c-4c4f-b0be-695d8f1f8511"
      unitRef="U_USD">68093000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_da7a87a5-3dfe-457e-b412-4cf934d95264"
      unitRef="U_USD">79893000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_9be67d65-e0e0-420b-a17b-08f471f2b39c"
      unitRef="U_USD">3803000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_ff6af38c-b1a0-4ae4-a6da-983baa4a974e"
      unitRef="U_USD">5282000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_54281c4b-031b-4c4b-8d69-1528e078dc9b"
      unitRef="U_USD">423529000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_7621533a-9c08-4263-9e49-43609bcf20e8"
      unitRef="U_USD">610087000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_bdce5ddb-8157-44d9-addf-c6d9bb2f3bcb"
      unitRef="U_USD">17960000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_8e2856b6-cf69-402c-87ef-2d727f4f05ca"
      unitRef="U_USD">30758000</us-gaap:AccountsPayableCurrent>
    <fgen:OtherLiabilitiesCurrentDueToRelatedParties
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_c8a1e414-58b8-461c-90cc-000d510c908c"
      unitRef="U_USD">39814000</fgen:OtherLiabilitiesCurrentDueToRelatedParties>
    <fgen:OtherLiabilitiesCurrentDueToRelatedParties
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_a3abc022-9244-46e1-84e2-863c347b8d85"
      unitRef="U_USD">63886000</fgen:OtherLiabilitiesCurrentDueToRelatedParties>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_b089f5e0-e419-4e92-8304-9badae5c3351"
      unitRef="U_USD">172891000</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_235b3e05-28b2-4062-877e-966341e688ae"
      unitRef="U_USD">219773000</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <fgen:DueToRelatedPartiesDeferredRevenueCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_ba438486-ebf3-47ad-b43f-9cf9d5bc8e8e"
      unitRef="U_USD">7220000</fgen:DueToRelatedPartiesDeferredRevenueCurrent>
    <fgen:DueToRelatedPartiesDeferredRevenueCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_435daec8-0d58-4c5d-8244-627b2b5468cc"
      unitRef="U_USD">9259000</fgen:DueToRelatedPartiesDeferredRevenueCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_6866ab9e-e547-4a23-841d-72243933bddc"
      unitRef="U_USD">12740000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_6a188641-0315-47ea-8fb6-0b3e600258b3"
      unitRef="U_USD">12739000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_20b658fb-f15e-46d9-8049-6c3fc750d9b1"
      unitRef="U_USD">14077000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_5b51ed5e-f741-41eb-abc4-f800db296d48"
      unitRef="U_USD">10292000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_ca5854cf-8a17-41b6-89c7-0eb303fc14a0"
      unitRef="U_USD">217668000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_a0feca16-2d40-4005-8a56-5593476d4c30"
      unitRef="U_USD">273562000</us-gaap:LiabilitiesCurrent>
    <fgen:AccruedProductDevelopmentCosts
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_c4ced13a-0a1c-4b50-9e04-c8c74ebc3d13"
      unitRef="U_USD">17763000</fgen:AccruedProductDevelopmentCosts>
    <fgen:AccruedProductDevelopmentCosts
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_d3c3e345-2903-4db8-a41f-cc6a509d990b"
      unitRef="U_USD">16917000</fgen:AccruedProductDevelopmentCosts>
    <fgen:DueToRelatedPartiesDeferredRevenueNoncurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_4be39150-bb01-48d6-852a-a36ca6755714"
      unitRef="U_USD">9705000</fgen:DueToRelatedPartiesDeferredRevenueNoncurrent>
    <fgen:DueToRelatedPartiesDeferredRevenueNoncurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_c8fdbf07-83c2-434a-8f56-700de680a865"
      unitRef="U_USD">31044000</fgen:DueToRelatedPartiesDeferredRevenueNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_2c7a172c-72cd-4e99-a3e0-e7af4e18a85f"
      unitRef="U_USD">157555000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_47bbf10e-002e-44a7-a809-ad44013ed8e8"
      unitRef="U_USD">185722000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_af821c6e-80c0-48e8-b92c-2244be898403"
      unitRef="U_USD">66537000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_039b336c-8060-4d66-990d-08e59090e323"
      unitRef="U_USD">79593000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:SecuredLongTermDebt
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_fe0135e4-2a7c-4849-bba5-db521376d8ad"
      unitRef="U_USD">71934000</us-gaap:SecuredLongTermDebt>
    <us-gaap:SecuredLongTermDebt
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_cf697e03-24bd-4b8d-a338-a537b3f0c0d8"
      unitRef="U_USD">0</us-gaap:SecuredLongTermDebt>
    <fgen:LiabilityRelatedToSaleOfFutureRevenuesNonCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_c40805f6-5d29-4008-a040-c98e40f0eaa4"
      unitRef="U_USD">51413000</fgen:LiabilityRelatedToSaleOfFutureRevenuesNonCurrent>
    <fgen:LiabilityRelatedToSaleOfFutureRevenuesNonCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_a7577a4a-b0fc-4ad4-af88-65da24b69cb8"
      unitRef="U_USD">49333000</fgen:LiabilityRelatedToSaleOfFutureRevenuesNonCurrent>
    <fgen:OtherLiabilitiesNoncurrentDueToRelatedParties
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_728a9529-4031-41e5-8488-d954ee03204a"
      unitRef="U_USD">656000</fgen:OtherLiabilitiesNoncurrentDueToRelatedParties>
    <fgen:OtherLiabilitiesNoncurrentDueToRelatedParties
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_09a30720-30f5-49de-8f79-3a4584177df3"
      unitRef="U_USD">0</fgen:OtherLiabilitiesNoncurrentDueToRelatedParties>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_309671d4-110c-4c06-b620-f43ddf19e3c9"
      unitRef="U_USD">2858000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_618658e1-ab92-4819-95e4-b268c34332cb"
      unitRef="U_USD">6440000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_b8bc4c62-a44f-4fec-9ff8-c90944a104c4"
      unitRef="U_USD">585728000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_274bbcc4-6d87-4e95-871a-5bef167e7ffa"
      unitRef="U_USD">611567000</us-gaap:Liabilities>
    <us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_87c2b2cb-52da-4f02-a3e8-cc76027f971b"
      unitRef="U_USD">21480000</us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount>
    <us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_5b3868a2-1cd2-4e8a-b0e2-c124b54e6d3b"
      unitRef="U_USD">0</us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="INF"
      id="F_8dae0bbb-9f32-4ef7-b877-4033ec16e65e"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="INF"
      id="F_d4de53a3-724f-4d0a-9e4c-b897b1bb1ae6"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="INF"
      id="F_5d7fbbe2-024b-4e44-829f-5ef7ae88921d"
      unitRef="U_shares">125000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="INF"
      id="F_fef2360b-b248-4667-aa26-00f2e20b5936"
      unitRef="U_shares">125000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="INF"
      id="F_881aed40-7ddc-4028-9f0b-5ef7687e3a37"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="INF"
      id="F_9ed3bda7-ac1d-4dee-97a7-e7a5eec32ac8"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="INF"
      id="F_2bc0ee03-834e-4203-b182-848b7b80465a"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="INF"
      id="F_d2659f73-2718-46dc-b5df-8bed272bf7e9"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="INF"
      id="F_860ab817-2b03-4a69-a3bb-6178ecd121ae"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="INF"
      id="F_491fd61f-2bb3-48fc-bef2-81b155a34c9c"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="INF"
      id="F_ab8ae0ef-1e3f-4834-b426-d8de6fe4377c"
      unitRef="U_shares">225000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="INF"
      id="F_f96e7966-2061-4f28-8822-c01faa3a78e0"
      unitRef="U_shares">225000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_0fc3844f-0e75-49a6-96e1-e0b807c838ce"
      unitRef="U_shares">98770000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_87450240-59f8-4391-bee1-54599dc4786c"
      unitRef="U_shares">98770000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_a66e6818-982d-4bc2-beff-b454a24cdaef"
      unitRef="U_shares">94166000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_125c0672-d788-4f1d-a526-bb9d481d3983"
      unitRef="U_shares">94166000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_5d97c78f-c214-4f0b-9a22-9b17b090778f"
      unitRef="U_USD">988000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_8ab6179e-1d15-45a4-8dc3-3886f0d53ede"
      unitRef="U_USD">942000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_edf5dc77-2644-4e97-840c-0fec9acdfc35"
      unitRef="U_USD">1643641000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_c6a2c309-5f8d-4529-bf36-437de30f7cb4"
      unitRef="U_USD">1541019000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_d546fc28-230d-4ed2-ac15-15cb5a1eed0a"
      unitRef="U_USD">-6875000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_56c42a53-e5cd-4758-b714-8e4cc8c71398"
      unitRef="U_USD">-5720000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_04ca247f-0249-4e63-b0f2-f1ee06ed84f9"
      unitRef="U_USD">-1841920000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_c10d9be1-265d-46f2-a8c0-e9efc9e9cbc1"
      unitRef="U_USD">-1557688000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_bd3e3ab2-e25d-4bbb-8c1d-3d1c69a044b0"
      unitRef="U_USD">-204166000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_6c55d3d2-375c-4a52-86a1-e0aad189b6ce"
      unitRef="U_USD">-21447000</us-gaap:StockholdersEquity>
    <us-gaap:NonredeemableNoncontrollingInterest
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_0d5819ce-5f06-461b-b75d-c2b1daca591a"
      unitRef="U_USD">20487000</us-gaap:NonredeemableNoncontrollingInterest>
    <us-gaap:NonredeemableNoncontrollingInterest
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_483e3d1a-03a5-4787-aa99-d7f91aae5a14"
      unitRef="U_USD">19967000</us-gaap:NonredeemableNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_15d2ffa1-d04a-487c-892e-0c0ae8d8553b"
      unitRef="U_USD">-183679000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_aa410701-0ec9-43f4-afc7-01fbe1d4ce7e"
      unitRef="U_USD">-1480000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_d94eea9d-0cba-4a75-ab41-9f3f1ce0c9d1"
      unitRef="U_USD">423529000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_21ba6c63-f4b1-43dd-8221-18463d7cb5d6"
      unitRef="U_USD">610087000</us-gaap:LiabilitiesAndStockholdersEquity>
    <fgen:LicenseFeesAndMilestonesRevenue
      contextRef="C_05c5ce5e-eb10-425e-80f5-1adf25ba924a"
      decimals="-3"
      id="F_9b2024d7-d164-409d-b9b5-8a577f8171bc"
      unitRef="U_USD">0</fgen:LicenseFeesAndMilestonesRevenue>
    <fgen:LicenseFeesAndMilestonesRevenue
      contextRef="C_5a42e7fa-5cf5-415b-9493-9ca0620d132f"
      decimals="-3"
      id="F_566133ea-3647-44c4-95be-e29743ec8d57"
      unitRef="U_USD">22590000</fgen:LicenseFeesAndMilestonesRevenue>
    <fgen:LicenseFeesAndMilestonesRevenue
      contextRef="C_334a3d96-8fc1-4b16-b7a5-6656db947ddb"
      decimals="-3"
      id="F_724cd585-cc20-4f8b-ab58-7f0e1b98138c"
      unitRef="U_USD">108434000</fgen:LicenseFeesAndMilestonesRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_acb46919-8df0-40ef-aee5-d04d1c189e87"
      decimals="-3"
      id="F_77487f30-744b-4887-8770-58ef46987da5"
      unitRef="U_USD">9649000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_e97f4ffe-92fb-4434-9162-5a5d8f056ada"
      decimals="-3"
      id="F_11d3a59e-a7a5-4a89-9aaf-c2e596a3fc75"
      unitRef="U_USD">22590000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_101342b0-9c1c-4d60-a23f-dd1df54c2c11"
      decimals="-3"
      id="F_73773c47-74a0-4d3e-b44d-4ed4b40a013c"
      unitRef="U_USD">116434000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fgen:CollaborationServicesAndOtherRevenue
      contextRef="C_05c5ce5e-eb10-425e-80f5-1adf25ba924a"
      decimals="-3"
      id="F_099e0460-13bd-4839-ae20-c981e6d68695"
      unitRef="U_USD">6662000</fgen:CollaborationServicesAndOtherRevenue>
    <fgen:CollaborationServicesAndOtherRevenue
      contextRef="C_5a42e7fa-5cf5-415b-9493-9ca0620d132f"
      decimals="-3"
      id="F_d484917f-4fcb-4b22-bcd0-f52bfa3fa47f"
      unitRef="U_USD">9908000</fgen:CollaborationServicesAndOtherRevenue>
    <fgen:CollaborationServicesAndOtherRevenue
      contextRef="C_334a3d96-8fc1-4b16-b7a5-6656db947ddb"
      decimals="-3"
      id="F_fc3d773a-ddf0-4627-8dd2-dc75f276fe30"
      unitRef="U_USD">21928000</fgen:CollaborationServicesAndOtherRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_b121c107-842c-4bb6-9142-8fdb84696834"
      decimals="-3"
      id="F_b81080e8-e5f9-497d-bfe8-8003fab6132b"
      unitRef="U_USD">18401000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_51e47433-6e9e-4fe2-aa05-81eb4d62a15e"
      decimals="-3"
      id="F_a30d2d69-497d-4544-8f7a-4e1f6cdb4177"
      unitRef="U_USD">24189000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_81227e65-6a43-4199-bb79-b0865042fc33"
      decimals="-3"
      id="F_56e381c7-20b3-4756-a788-0c841100b3a1"
      unitRef="U_USD">70275000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fgen:ProductRevenue
      contextRef="C_05c5ce5e-eb10-425e-80f5-1adf25ba924a"
      decimals="-3"
      id="F_6d8ab1fc-e629-4f23-9fad-7c654d7fcf61"
      unitRef="U_USD">89055000</fgen:ProductRevenue>
    <fgen:ProductRevenue
      contextRef="C_5a42e7fa-5cf5-415b-9493-9ca0620d132f"
      decimals="-3"
      id="F_fa702334-8df8-436c-b221-d748fd9e6f4d"
      unitRef="U_USD">71167000</fgen:ProductRevenue>
    <fgen:ProductRevenue
      contextRef="C_334a3d96-8fc1-4b16-b7a5-6656db947ddb"
      decimals="-3"
      id="F_9c16d3f3-11ff-466c-a639-b82ad86324ce"
      unitRef="U_USD">35568000</fgen:ProductRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_fa2797cc-9fa1-460c-b81b-ef756cd58ad2"
      decimals="-3"
      id="F_2bfd5f63-1908-40e8-935d-ca594c06dab3"
      unitRef="U_USD">100949000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_c72973a0-f5ac-4941-bd93-56ca141c6d0f"
      decimals="-3"
      id="F_7d632fbd-f610-4ad3-8e70-0005212b42d4"
      unitRef="U_USD">82869000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_3ced6666-5930-4496-b340-906b5898d986"
      decimals="-3"
      id="F_7373507b-0179-42c8-9d98-e0552c2d8d17"
      unitRef="U_USD">47638000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fgen:DrugProductRevenueFromRelatedParty
      contextRef="C_05c5ce5e-eb10-425e-80f5-1adf25ba924a"
      decimals="-3"
      id="F_3830a600-dc3c-4a93-bed5-1c9850faa4f1"
      unitRef="U_USD">18753000</fgen:DrugProductRevenueFromRelatedParty>
    <fgen:DrugProductRevenueFromRelatedParty
      contextRef="C_5a42e7fa-5cf5-415b-9493-9ca0620d132f"
      decimals="-3"
      id="F_33eb3f96-7712-408f-a686-929c20b85ba5"
      unitRef="U_USD">11086000</fgen:DrugProductRevenueFromRelatedParty>
    <fgen:DrugProductRevenueFromRelatedParty
      contextRef="C_334a3d96-8fc1-4b16-b7a5-6656db947ddb"
      decimals="-3"
      id="F_72ed1fb8-38d1-4489-b3ce-f10422a1bbca"
      unitRef="U_USD">3186000</fgen:DrugProductRevenueFromRelatedParty>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_f9dd4cad-13bb-420f-b339-f11ab7f9f5b0"
      decimals="-3"
      id="F_8c2cc75d-bbc7-4f23-82cb-065f187c273f"
      unitRef="U_USD">18753000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_cd5519fe-2462-4e5c-ba0d-311dcb429297"
      decimals="-3"
      id="F_3cb83e6d-e0fd-4da6-b62e-9710d7334f6e"
      unitRef="U_USD">11086000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_0f0dbffc-396b-44ef-8b73-7f9a3a5e51e1"
      decimals="-3"
      id="F_2a48e160-16a4-4f74-8303-13cdb15bdd46"
      unitRef="U_USD">962000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_b167873f-bf43-4abc-9fb7-3aefa505eec1"
      unitRef="U_USD">147752000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_d2722c09-ef8a-4699-9b40-e255711e44c0"
      unitRef="U_USD">140734000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_bb944e4d-207d-4eed-a412-de1a31e6ceaf"
      unitRef="U_USD">235309000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_372716a6-0dd1-49ec-a070-6a6d94cbdb43"
      unitRef="U_USD">18848000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_4fa73000-d8a3-4211-a1ee-dc08f78c8b38"
      unitRef="U_USD">20280000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_44530d50-9bce-422f-a956-ef34e2527370"
      unitRef="U_USD">12871000</us-gaap:CostOfRevenue>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_f71ceea9-e602-4a52-b9d3-7ca2e084969a"
      unitRef="U_USD">282861000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_3e596eb0-20ca-490e-af7e-6605ca00ee3d"
      unitRef="U_USD">296791000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_16d18708-810e-47b4-bede-0cac8c057cfa"
      unitRef="U_USD">387043000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_d08315fb-c216-42db-a6dd-a69bfcfe9d4b"
      unitRef="U_USD">115252000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_7c9807a4-077a-4e4e-871a-06cf8ac9daa8"
      unitRef="U_USD">124688000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_5d42ab43-0998-454d-ba5d-0ca5949b2c95"
      unitRef="U_USD">123925000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:RestructuringCharges
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_7269fc57-e797-4dbc-9e97-4031908e06a7"
      unitRef="U_USD">12606000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_8679bec8-cf64-4aaa-abf3-f95f3afdb133"
      unitRef="U_USD">0</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_58084aee-152f-4048-b928-edf11e43f0dc"
      unitRef="U_USD">0</us-gaap:RestructuringCharges>
    <us-gaap:CostsAndExpenses
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_43eb3577-5a63-44ad-9546-8a19c020b5b9"
      unitRef="U_USD">429567000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_4ba94aef-eff6-4fec-8211-00e0fbcd902d"
      unitRef="U_USD">441759000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_cf7c70d3-9755-4837-936c-cab36c3e25da"
      unitRef="U_USD">523839000</us-gaap:CostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_77cd2b47-c90e-4a4b-b4d1-88945c89a3b8"
      unitRef="U_USD">-281815000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_da36beba-789e-4148-b083-5db9622d325b"
      unitRef="U_USD">-301025000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_157f65ba-6f43-4943-9829-d4334277fe1d"
      unitRef="U_USD">-288530000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_6a8e24e8-5761-48fb-8a35-7b0a31f130a4"
      unitRef="U_USD">15532000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_eb92c265-cc29-4a54-985e-3e2b36841986"
      unitRef="U_USD">1440000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_dd28d151-33bb-466a-841b-c890f4b0fe86"
      unitRef="U_USD">1075000</us-gaap:InterestExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_1a900af1-73f0-4c03-af02-e1a00cf7d783"
      unitRef="U_USD">10480000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_728e522e-d589-456b-83bd-3ed39fa7425e"
      unitRef="U_USD">7596000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_7ea21719-c4f9-44c6-9837-2acfcf88ee4b"
      unitRef="U_USD">-1078000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_0aaa50de-7989-4dd6-8b64-b3f9cc8d7da6"
      unitRef="U_USD">-5052000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_4b524966-9ac5-409c-bcd7-9191b81dcfb3"
      unitRef="U_USD">6156000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_8ce84549-cf6a-4768-bc54-2dd4b97be755"
      unitRef="U_USD">-2153000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_1eeaab7e-f4f7-4a1b-a0f3-df0995f1126d"
      unitRef="U_USD">-286867000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_4f7ffd3e-d33c-4002-b33f-d75adf06b52f"
      unitRef="U_USD">-294869000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_398af959-3abc-497e-ad3b-f7edb607afb3"
      unitRef="U_USD">-290683000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_03e43260-ca64-4472-ab81-e31e7c86a61f"
      unitRef="U_USD">3000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_98cf6c39-8725-4abd-9ab2-1a38708db7d5"
      unitRef="U_USD">358000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_279b0cec-2ac4-46c9-8179-15b776ac9474"
      unitRef="U_USD">347000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_7cd6d026-f5c5-482f-be78-adf441bf2d9d"
      unitRef="U_USD">2638000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_899923cb-a1da-4f2e-98a7-5978c34e7e6c"
      unitRef="U_USD">1573000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_448fdd10-bda5-457e-a2ae-c0e2e9972fd6"
      unitRef="U_USD">1007000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:NetIncomeLoss
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_20692123-921b-452c-b031-f3b450381783"
      unitRef="U_USD">-284232000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_e4ac1363-8f04-4c15-bf3b-cfcc72d2314e"
      unitRef="U_USD">-293654000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_77f660cc-ba03-45a4-b7a5-67719cc1467c"
      unitRef="U_USD">-290023000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="2"
      id="F_476eef06-9849-465d-ab7d-09757ea6d38a"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">-2.92</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="2"
      id="F_c1be5c3f-84ef-4e08-b751-b185e590333b"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">-2.92</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="2"
      id="F_d23dd51d-e3d9-4dd7-843c-8ba72b6e28a7"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">-3.14</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="2"
      id="F_fd23f6e8-b510-40c5-9057-cf70d8e93fa2"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">-3.14</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="2"
      id="F_87b1a726-32f2-4ea9-905b-064248fb0908"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">-3.14</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="2"
      id="F_68ddc061-8759-4f26-a5ca-afd11067f83f"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">-3.14</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_b7bbbd74-9fa1-4a9c-b56b-954153d6ef58"
      unitRef="U_shares">97303000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_6a062293-7abb-483d-9160-514b9bfb96ca"
      unitRef="U_shares">97303000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_ec33abca-7008-44ac-ab75-56d7a1efed67"
      unitRef="U_shares">93582000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_a92d9cec-b066-4501-9e79-c57525cafa73"
      unitRef="U_shares">93582000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_b76fdf6a-77d8-49e9-a6dc-42a9f2db1a05"
      unitRef="U_shares">92349000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_7345ac80-9cca-4872-83d7-d952d2a5366c"
      unitRef="U_shares">92349000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_a02ea13b-feff-4889-adf7-be720b87c1b5"
      unitRef="U_USD">-284232000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_2f7f4821-743c-4b0d-af88-dca0c340e08c"
      unitRef="U_USD">-293654000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_329f9d6f-6cac-4eed-8968-8da66045e7c4"
      unitRef="U_USD">-290023000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_0050a959-643e-4133-972b-df40d9679a9b"
      unitRef="U_USD">-3712000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_0128a157-90db-4a10-89c2-cfa9dcf43efd"
      unitRef="U_USD">75000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_ae245e02-cd7c-47b3-95b2-af4a4e81a722"
      unitRef="U_USD">1235000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_69dec945-3db1-4f74-8133-03993c4638ec"
      unitRef="U_USD">2557000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_84196f85-84ba-4952-8c35-7d16803350ad"
      unitRef="U_USD">-1632000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_c71b26c6-e492-4f80-8989-e4ae78588f60"
      unitRef="U_USD">-899000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_1f5c7ebd-d646-478a-8bce-4871caceaf76"
      unitRef="U_USD">-1155000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_ee1008d1-7bdb-4007-918c-b887a8c67620"
      unitRef="U_USD">-1557000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_473aef02-d861-4881-82b6-b698344473cb"
      unitRef="U_USD">336000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_3117d081-3e3e-455c-8019-66160c1615ed"
      unitRef="U_USD">-285387000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_a8d82feb-0126-45aa-8954-b1d6f9aa7a12"
      unitRef="U_USD">-295211000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_fcb373fb-7718-4f43-95ef-00a611cdd214"
      unitRef="U_USD">-289687000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="C_4619cae0-6f48-4c8b-9b0a-c6c5ace442f1"
      decimals="INF"
      id="F_c6a51679-c087-444f-8305-aeb12c91141c"
      unitRef="U_shares">91440633</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_4619cae0-6f48-4c8b-9b0a-c6c5ace442f1"
      decimals="-3"
      id="F_a5735086-9e68-4747-92a6-35cafedf3bb3"
      unitRef="U_USD">914000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_e2ed8e46-1267-4633-bf23-9e61d09ab653"
      decimals="-3"
      id="F_6cc952a0-2ab2-4d6d-8d4e-020079e5a2a1"
      unitRef="U_USD">1399774000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_db6fb63e-a4ce-4e4a-886e-36ba9c7a1335"
      decimals="-3"
      id="F_63cba70f-7cd7-4af2-bd1e-016e25adca97"
      unitRef="U_USD">-4499000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_c0399d25-ee44-4169-9544-4f358b8d17f8"
      decimals="-3"
      id="F_d79f873b-9463-46af-8400-b5fe247dc3cd"
      unitRef="U_USD">-974011000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_2976791d-f25c-4b1b-afd4-71ad7a47ef4f"
      decimals="-3"
      id="F_054bff14-647d-4ac9-b1c8-f132e54dca42"
      unitRef="U_USD">19271000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_199ec123-7c4b-43e3-8f2c-009e824a52be"
      decimals="-3"
      id="F_dd6e63a0-3ddc-407b-b937-ea94206fb1e3"
      unitRef="U_USD">441449000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_baf4242f-5d13-4035-961f-f5744ebc2d09"
      decimals="-3"
      id="F_bc5f43ab-26c5-4c98-a673-c0c6652d2cb9"
      unitRef="U_USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="C_e9d30697-9059-4875-a249-41c40837b52a"
      decimals="-3"
      id="F_a2909d4f-0199-44d1-8efb-1bf147f216e8"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_e9d30697-9059-4875-a249-41c40837b52a"
      decimals="-3"
      id="F_3d0c62fc-75b6-47b4-9214-41e3c4374cb4"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_eb1b3f54-5cb0-423d-aa5f-3bb8c58bd699"
      decimals="-3"
      id="F_221b728e-f8c6-4262-9793-0764cbb3c788"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_f783ee6b-b7bf-4df8-8921-f64c2c32715e"
      decimals="-3"
      id="F_cc9a72c5-4b9e-49ac-8fea-b146e1099734"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_26002145-6f5e-42e8-9176-8a2b83d50419"
      decimals="-3"
      id="F_db98375c-3067-4aa2-8922-18e5315150f1"
      unitRef="U_USD">-290023000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_04056763-b277-40b0-a25b-537f7d95e260"
      decimals="-3"
      id="F_6d61dc07-3332-41f6-a382-9ef7c4d447b2"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_ac473e32-4224-4be7-89a7-54b5fdce9c81"
      unitRef="U_USD">-290023000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_2cb0b760-21b6-4428-9315-5445410e51a3"
      decimals="-3"
      id="F_61cc6e5a-85e8-45ff-ba15-a54f3ad541ac"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_e9d30697-9059-4875-a249-41c40837b52a"
      decimals="-3"
      id="F_b6f23062-1b4a-4370-b592-3c91fb7e302f"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_e9d30697-9059-4875-a249-41c40837b52a"
      decimals="-3"
      id="F_313d6a2c-8084-4cd2-98a3-ee629c901073"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_eb1b3f54-5cb0-423d-aa5f-3bb8c58bd699"
      decimals="-3"
      id="F_8c436075-c915-4860-88c1-99f4d5db073d"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_f783ee6b-b7bf-4df8-8921-f64c2c32715e"
      decimals="-3"
      id="F_955dfb3d-9fd5-4a92-a579-f169f5115b74"
      unitRef="U_USD">-899000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_26002145-6f5e-42e8-9176-8a2b83d50419"
      decimals="-3"
      id="F_3d044c3b-c9d0-4b3a-88eb-1cbe75a278f6"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_04056763-b277-40b0-a25b-537f7d95e260"
      decimals="-3"
      id="F_27d29aa0-12e1-4951-9493-ddae827c21c3"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_915bbc91-f967-4252-b55b-5c290e4996b9"
      unitRef="U_USD">-899000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_2cb0b760-21b6-4428-9315-5445410e51a3"
      decimals="-3"
      id="F_b9eb28ec-1188-4cb8-8194-c14a28837bf1"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_e9d30697-9059-4875-a249-41c40837b52a"
      decimals="-3"
      id="F_a158364b-fe3e-40db-9cb5-396bae455125"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_e9d30697-9059-4875-a249-41c40837b52a"
      decimals="-3"
      id="F_caff4177-a550-483e-9cee-9d7f4e9a431c"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_eb1b3f54-5cb0-423d-aa5f-3bb8c58bd699"
      decimals="-3"
      id="F_68252c06-a384-4e1d-82eb-a18776819b85"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_f783ee6b-b7bf-4df8-8921-f64c2c32715e"
      decimals="-3"
      id="F_0c16a821-4559-47fd-b125-41938b0ce837"
      unitRef="U_USD">1235000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_26002145-6f5e-42e8-9176-8a2b83d50419"
      decimals="-3"
      id="F_3f55fdb7-b285-44c4-8505-5acdded818b6"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_04056763-b277-40b0-a25b-537f7d95e260"
      decimals="-3"
      id="F_cdb96bf1-d294-4984-a152-b21ae59f8590"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_6a8b39c0-21f9-4826-ae6f-2ff66ef78f83"
      unitRef="U_USD">1235000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_2cb0b760-21b6-4428-9315-5445410e51a3"
      decimals="-3"
      id="F_b02998c8-300b-4796-8ce8-e1b7db128d12"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <fgen:SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares
      contextRef="C_e9d30697-9059-4875-a249-41c40837b52a"
      decimals="INF"
      id="F_0e28722f-5232-4814-bd59-4138dd24708f"
      unitRef="U_shares">1439900</fgen:SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_e9d30697-9059-4875-a249-41c40837b52a"
      decimals="-3"
      id="F_252a52a9-6c5f-4f97-9fb9-5e32d91a4dc0"
      unitRef="U_USD">15000</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_eb1b3f54-5cb0-423d-aa5f-3bb8c58bd699"
      decimals="-3"
      id="F_52a78501-4813-4c06-9568-908bccdf29e5"
      unitRef="U_USD">5479000</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_f783ee6b-b7bf-4df8-8921-f64c2c32715e"
      decimals="-3"
      id="F_d26b3724-96d7-4b0f-ae51-254d99fea461"
      unitRef="U_USD">0</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_26002145-6f5e-42e8-9176-8a2b83d50419"
      decimals="-3"
      id="F_77f57cf6-2710-430e-b192-392e952f6d7c"
      unitRef="U_USD">0</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_04056763-b277-40b0-a25b-537f7d95e260"
      decimals="-3"
      id="F_331d58c0-6dad-4a7a-bd32-b8d5a8e94b4b"
      unitRef="U_USD">0</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_c7f43c8f-42a5-4f87-96ea-edd7bb8b4bcc"
      unitRef="U_USD">5494000</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_2cb0b760-21b6-4428-9315-5445410e51a3"
      decimals="-3"
      id="F_d6f5a50b-941b-43f0-9086-7ee3057dea15"
      unitRef="U_USD">0</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_e9d30697-9059-4875-a249-41c40837b52a"
      decimals="-3"
      id="F_ab849bd4-69fc-4e1f-95de-882865d7f91f"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_e9d30697-9059-4875-a249-41c40837b52a"
      decimals="-3"
      id="F_b8d96765-01a3-44d6-bb0d-95a9124d8d21"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_eb1b3f54-5cb0-423d-aa5f-3bb8c58bd699"
      decimals="-3"
      id="F_64eeae3f-864f-4a43-9bb2-485f5feec3fd"
      unitRef="U_USD">71161000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_f783ee6b-b7bf-4df8-8921-f64c2c32715e"
      decimals="-3"
      id="F_c6f975d8-d8d5-4825-9231-8b625fb567ca"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_26002145-6f5e-42e8-9176-8a2b83d50419"
      decimals="-3"
      id="F_b2a926fb-07e9-42dc-af78-1380aa2f0834"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_04056763-b277-40b0-a25b-537f7d95e260"
      decimals="-3"
      id="F_b088ad47-41e9-4b55-b387-a523d0d95537"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_58f2eb9f-179f-4b2f-9ad7-b5807faf8d24"
      unitRef="U_USD">71161000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_2cb0b760-21b6-4428-9315-5445410e51a3"
      decimals="-3"
      id="F_b1d1b801-c596-4c77-947e-96276c871334"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <fgen:ConversionOfSubsidiarysConvertibleNotePayable
      contextRef="C_e9d30697-9059-4875-a249-41c40837b52a"
      decimals="-3"
      id="F_73be6646-a76f-4a25-b361-ddaae5d3562d"
      unitRef="U_USD">0</fgen:ConversionOfSubsidiarysConvertibleNotePayable>
    <fgen:ConversionOfSubsidiarysConvertibleNotePayable
      contextRef="C_e9d30697-9059-4875-a249-41c40837b52a"
      decimals="-3"
      id="F_b9852df0-8060-4fb3-9d6a-6417bd575db7"
      unitRef="U_USD">0</fgen:ConversionOfSubsidiarysConvertibleNotePayable>
    <fgen:ConversionOfSubsidiarysConvertibleNotePayable
      contextRef="C_eb1b3f54-5cb0-423d-aa5f-3bb8c58bd699"
      decimals="-3"
      id="F_2bcab79c-8987-4022-acc5-3679c2eb4954"
      unitRef="U_USD">0</fgen:ConversionOfSubsidiarysConvertibleNotePayable>
    <fgen:ConversionOfSubsidiarysConvertibleNotePayable
      contextRef="C_f783ee6b-b7bf-4df8-8921-f64c2c32715e"
      decimals="-3"
      id="F_6713de58-ebb4-494e-b3e6-5a164b76c1a1"
      unitRef="U_USD">0</fgen:ConversionOfSubsidiarysConvertibleNotePayable>
    <fgen:ConversionOfSubsidiarysConvertibleNotePayable
      contextRef="C_26002145-6f5e-42e8-9176-8a2b83d50419"
      decimals="-3"
      id="F_122fb7b2-ffee-4ba5-8185-ebf6e69b1d06"
      unitRef="U_USD">0</fgen:ConversionOfSubsidiarysConvertibleNotePayable>
    <fgen:ConversionOfSubsidiarysConvertibleNotePayable
      contextRef="C_04056763-b277-40b0-a25b-537f7d95e260"
      decimals="-3"
      id="F_30942d46-f1dc-4bfb-90a7-3f713f02825a"
      unitRef="U_USD">696000</fgen:ConversionOfSubsidiarysConvertibleNotePayable>
    <fgen:ConversionOfSubsidiarysConvertibleNotePayable
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_cb10f41e-e8d3-4657-9fac-d6fb6e0e82dc"
      unitRef="U_USD">696000</fgen:ConversionOfSubsidiarysConvertibleNotePayable>
    <fgen:ConversionOfSubsidiarysConvertibleNotePayable
      contextRef="C_2cb0b760-21b6-4428-9315-5445410e51a3"
      decimals="-3"
      id="F_3b0236cd-e8cc-4324-8148-d7ac6babccd1"
      unitRef="U_USD">0</fgen:ConversionOfSubsidiarysConvertibleNotePayable>
    <us-gaap:SharesOutstanding
      contextRef="C_1951cf98-3452-4729-9620-7bf634d5bd22"
      decimals="INF"
      id="F_d0c10900-5d91-4d17-8b89-dd272aa2e76b"
      unitRef="U_shares">92880533</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_1951cf98-3452-4729-9620-7bf634d5bd22"
      decimals="-3"
      id="F_12353a0f-59a1-4198-8566-beff0c092a47"
      unitRef="U_USD">929000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_5c1aed34-8144-4ef5-a31b-4004344b8f78"
      decimals="-3"
      id="F_0ae6862c-5ebd-47ae-989d-f7ec1af6692a"
      unitRef="U_USD">1476414000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_1528764b-7417-43bf-b0e8-270db351abad"
      decimals="-3"
      id="F_be2e837b-3180-42a0-b298-aa1744177f71"
      unitRef="U_USD">-4163000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_afb93e67-b1f7-410a-9eb5-76a98e755f1e"
      decimals="-3"
      id="F_d6f03142-e5f0-4700-bf9c-3a5e5c71e758"
      unitRef="U_USD">-1264034000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_3cd339e5-d423-4fac-b504-227336a6a578"
      decimals="-3"
      id="F_3c6d0638-0a4b-428b-b008-25317915d2bd"
      unitRef="U_USD">19967000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_51790052-a00c-4d1f-b3b3-7bef5e668b8a"
      decimals="-3"
      id="F_778a8df2-1979-45ca-a09b-2070c43326c2"
      unitRef="U_USD">229113000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_f187a5ba-1fd3-43c9-a7e5-a15fdbb02cbc"
      decimals="-3"
      id="F_8790b2cc-5473-4bfb-bb28-5582f11c8ef4"
      unitRef="U_USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35"
      decimals="-3"
      id="F_0eb76383-94e7-449a-a7dc-7cb7799d50ae"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35"
      decimals="-3"
      id="F_9880e370-064c-4d3a-84d8-53768e2b4832"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_d3b77e5c-d2a5-4628-8645-7f0536e2037f"
      decimals="-3"
      id="F_2c9171c7-cb8b-496d-986e-f4269a5d5953"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_d3e27962-7c7d-46f5-97f3-20e1fc677a66"
      decimals="-3"
      id="F_8831d018-6702-4f60-8080-cc2534b8cf73"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_22b18794-5191-4b85-85b2-dc1d4050c6ba"
      decimals="-3"
      id="F_3506c07d-c866-40c2-b834-3135c5ef5f6f"
      unitRef="U_USD">-293654000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_a78aa492-a4f1-4008-bca5-4c4e263f2c78"
      decimals="-3"
      id="F_b1798b59-1d20-4342-94bb-75ff7de56ea0"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_ac49d4d4-5376-4c66-936e-87c4a11369a3"
      unitRef="U_USD">-293654000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_84e1af20-ca17-4160-adfe-251eef105f87"
      decimals="-3"
      id="F_5548100d-60e6-4414-8c48-5ace64478f61"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35"
      decimals="-3"
      id="F_f120477e-4c0c-4aac-8c90-89a0df608c2e"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35"
      decimals="-3"
      id="F_ee33d20f-67e4-4fe1-a428-7d59d3a88bf4"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_d3b77e5c-d2a5-4628-8645-7f0536e2037f"
      decimals="-3"
      id="F_6c5b1ef0-fe14-414e-bacf-b5fedd739f24"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_d3e27962-7c7d-46f5-97f3-20e1fc677a66"
      decimals="-3"
      id="F_239baca2-c81f-47e8-8dc5-5455d9660233"
      unitRef="U_USD">-1632000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_22b18794-5191-4b85-85b2-dc1d4050c6ba"
      decimals="-3"
      id="F_4c6fa22a-a1f9-498b-9254-c9fc0f25c3ce"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_a78aa492-a4f1-4008-bca5-4c4e263f2c78"
      decimals="-3"
      id="F_8116a801-6d63-4c27-a50d-8fd40d813b0a"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_286bdbfe-1c99-423b-9b21-a8092de9b543"
      unitRef="U_USD">-1632000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_84e1af20-ca17-4160-adfe-251eef105f87"
      decimals="-3"
      id="F_6f2e920d-e7e9-4db4-b5a2-81285c1adf41"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35"
      decimals="-3"
      id="F_0a26d8d8-95b2-4b57-9751-ea9f25a14f66"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35"
      decimals="-3"
      id="F_496d52d1-0243-4cfd-8277-926a8fa0f466"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_d3b77e5c-d2a5-4628-8645-7f0536e2037f"
      decimals="-3"
      id="F_784bf836-f681-4bc1-9b20-0e3a1f65c2d2"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_d3e27962-7c7d-46f5-97f3-20e1fc677a66"
      decimals="-3"
      id="F_120487c5-f3b0-4343-a932-37238abf5569"
      unitRef="U_USD">75000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_22b18794-5191-4b85-85b2-dc1d4050c6ba"
      decimals="-3"
      id="F_de16ae7a-a2e5-4436-9b2c-3244aa4cffec"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_a78aa492-a4f1-4008-bca5-4c4e263f2c78"
      decimals="-3"
      id="F_8f97c469-a325-42c4-9d7e-934605eb7218"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_2729baa8-4611-43ca-867c-c51491eb1aef"
      unitRef="U_USD">75000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_84e1af20-ca17-4160-adfe-251eef105f87"
      decimals="-3"
      id="F_1df21c5e-f754-4651-979b-d3c550823fc3"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <fgen:SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares
      contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35"
      decimals="INF"
      id="F_d748292e-fbca-4137-9c8b-e96c62c96e8b"
      unitRef="U_shares">1285553</fgen:SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35"
      decimals="-3"
      id="F_6da206d8-f292-4d18-a982-e37d47fbc6ec"
      unitRef="U_USD">13000</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_d3b77e5c-d2a5-4628-8645-7f0536e2037f"
      decimals="-3"
      id="F_2b1871c0-b547-49db-ac8b-33e4280ef042"
      unitRef="U_USD">-996000</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_d3e27962-7c7d-46f5-97f3-20e1fc677a66"
      decimals="-3"
      id="F_b31b1b6d-ad1b-430a-a334-b392654090ff"
      unitRef="U_USD">0</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_22b18794-5191-4b85-85b2-dc1d4050c6ba"
      decimals="-3"
      id="F_0d2c076c-4ed0-476a-a6fe-86f6c8d2a0df"
      unitRef="U_USD">0</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_a78aa492-a4f1-4008-bca5-4c4e263f2c78"
      decimals="-3"
      id="F_33c99a78-90ff-4411-b04d-165123dea525"
      unitRef="U_USD">0</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_dda3307b-edc0-4b4d-b770-a4bb91a83fbf"
      unitRef="U_USD">-983000</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_84e1af20-ca17-4160-adfe-251eef105f87"
      decimals="-3"
      id="F_97e4a198-a12d-4ef6-a353-76e2f0169e6c"
      unitRef="U_USD">0</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35"
      decimals="-3"
      id="F_84c64f4d-cc9a-48a1-aa83-94b6680fcaa1"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_4c65ee05-ed9f-4ce2-aef7-465bc253aa35"
      decimals="-3"
      id="F_c21ca6af-c465-49a8-a07e-194d5f0cb649"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_d3b77e5c-d2a5-4628-8645-7f0536e2037f"
      decimals="-3"
      id="F_cd84bf93-54f3-4f8c-b497-dc3dda86e0a2"
      unitRef="U_USD">65601000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_d3e27962-7c7d-46f5-97f3-20e1fc677a66"
      decimals="-3"
      id="F_9b50936c-cf74-4fef-ab96-d7858349d6fc"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_22b18794-5191-4b85-85b2-dc1d4050c6ba"
      decimals="-3"
      id="F_aca32026-9c03-43bc-983f-70e9f453d838"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_a78aa492-a4f1-4008-bca5-4c4e263f2c78"
      decimals="-3"
      id="F_db3f80d5-9f72-4742-8e19-a64deb0d5bc4"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_dee1fef9-8ced-418a-a837-32f42572592b"
      unitRef="U_USD">65601000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_84e1af20-ca17-4160-adfe-251eef105f87"
      decimals="-3"
      id="F_84e81fa6-f12a-4c22-8609-e7a39167ff9d"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding
      contextRef="C_99cd03a9-4798-4b8a-8371-9c87615120e6"
      decimals="INF"
      id="F_d2e87ecc-87e7-469a-a1be-c3930cf3d289"
      unitRef="U_shares">94166086</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_99cd03a9-4798-4b8a-8371-9c87615120e6"
      decimals="-3"
      id="F_b3a13db5-9440-4cef-9d78-1da39ef11853"
      unitRef="U_USD">942000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_207f7479-2b33-486a-9e5e-2da2f18f3d8f"
      decimals="-3"
      id="F_ac6c8d64-5c4a-4477-a399-e66f1c6f8e0e"
      unitRef="U_USD">1541019000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_bb6bcc77-7a0f-4310-bb96-3bcf3822ed39"
      decimals="-3"
      id="F_473e9634-eb45-46cd-b807-c1fbb1207e6a"
      unitRef="U_USD">-5720000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_a4ea8880-b080-4f64-b120-e4ccdcaa8e6a"
      decimals="-3"
      id="F_2084b8ba-56fe-450b-8e8e-d2a84a28aab2"
      unitRef="U_USD">-1557688000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_43e0e074-f5ce-4935-8fab-58ec7e6f2bdb"
      decimals="-3"
      id="F_1a98b660-1f67-4154-9ab3-8bf67ed5130e"
      unitRef="U_USD">19967000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_4c4ea905-89b5-44e9-9b94-33efa09f3df1"
      unitRef="U_USD">-1480000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_2e2e383d-456d-4a07-bc59-c13b2c44a1c0"
      decimals="-3"
      id="F_baa09a23-17fe-4e38-8814-7a2745204e60"
      unitRef="U_USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"
      decimals="-3"
      id="F_4af651fd-876e-4cb6-8773-7176462e9712"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"
      decimals="-3"
      id="F_6eaef7fb-c9cf-4ca7-adc6-34498ebd1cd3"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_397c3bed-839e-48de-92a2-d84e03a45424"
      decimals="-3"
      id="F_1334d2b0-79b1-4ac0-be7a-05a023eaf0c4"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_b8335490-3812-4924-9787-048714b5e777"
      decimals="-3"
      id="F_60ed7710-3301-44df-8235-0e35a1615252"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_af2adcf9-f465-4168-868b-527ff23d4372"
      decimals="-3"
      id="F_36de2a1d-3793-47de-9207-8b7fb775fce1"
      unitRef="U_USD">-284232000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_0306163d-33a1-4585-9e18-f8ed18761bf1"
      decimals="-3"
      id="F_aaa733d5-9005-4270-a09a-a6d4188ad57a"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_1eeb902e-747e-431a-9e2f-79674e6db708"
      unitRef="U_USD">-284232000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_fcdd70cc-02f1-4078-91fa-572c17727d6a"
      decimals="-3"
      id="F_7bcdf043-fa01-4ea6-a9e9-5209f06bbe85"
      unitRef="U_USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"
      decimals="-3"
      id="F_8080e96b-b916-4333-b21c-97ad64a24b84"
      unitRef="U_shares">0</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"
      decimals="-3"
      id="F_07f9d1df-5736-4421-8cec-a842d2c039b1"
      unitRef="U_shares">0</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_397c3bed-839e-48de-92a2-d84e03a45424"
      decimals="-3"
      id="F_2ace9fed-b386-4601-9d00-450c2d723d5f"
      unitRef="U_shares">0</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_b8335490-3812-4924-9787-048714b5e777"
      decimals="-3"
      id="F_f97ca720-4922-4e02-a248-63d3318bf93d"
      unitRef="U_shares">0</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_af2adcf9-f465-4168-868b-527ff23d4372"
      decimals="-3"
      id="F_7a514be7-b3a3-45e0-aafb-c343d6a8793f"
      unitRef="U_shares">0</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_0306163d-33a1-4585-9e18-f8ed18761bf1"
      decimals="-3"
      id="F_97153a61-394d-4de9-ad66-608a6b7eb796"
      unitRef="U_shares">520000</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_a69cec5f-d80a-49bb-9b98-f903874e8119"
      unitRef="U_shares">520000</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_fcdd70cc-02f1-4078-91fa-572c17727d6a"
      decimals="-3"
      id="F_9daa8555-2f9a-4462-aef5-0f987fa39436"
      unitRef="U_shares">21480000</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"
      decimals="-3"
      id="F_70a9cfae-e0a0-4d79-9d7f-c05f331edd1e"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"
      decimals="-3"
      id="F_93c74be8-fa06-4d82-ba55-7d874b2eb895"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_397c3bed-839e-48de-92a2-d84e03a45424"
      decimals="-3"
      id="F_1b9b8a4a-13a7-494f-9cb5-b72e88e3a486"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_b8335490-3812-4924-9787-048714b5e777"
      decimals="-3"
      id="F_8b747cf1-1fe5-476e-b1a0-e6e67c095e30"
      unitRef="U_USD">2557000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_af2adcf9-f465-4168-868b-527ff23d4372"
      decimals="-3"
      id="F_24230ac4-73ac-4893-ac1e-a7be23c7c49e"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_0306163d-33a1-4585-9e18-f8ed18761bf1"
      decimals="-3"
      id="F_6052240a-3cdd-4296-9039-b560d85f8ab0"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_e49b9bcf-0d94-406a-a241-b8b018d650cd"
      unitRef="U_USD">2557000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="C_fcdd70cc-02f1-4078-91fa-572c17727d6a"
      decimals="-3"
      id="F_4c6ff464-491c-4a68-894a-d4bbd842a041"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"
      decimals="-3"
      id="F_05394db7-1d0f-453d-ab2d-c6fd21f51858"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"
      decimals="-3"
      id="F_873427f9-2700-433f-8099-71e6dc3cf90e"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_397c3bed-839e-48de-92a2-d84e03a45424"
      decimals="-3"
      id="F_c5acb416-ea3d-45db-88d4-8fbe7ce3a3ee"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_b8335490-3812-4924-9787-048714b5e777"
      decimals="-3"
      id="F_23f75f90-f200-4543-89d7-0f52a3024b70"
      unitRef="U_USD">-3712000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_af2adcf9-f465-4168-868b-527ff23d4372"
      decimals="-3"
      id="F_cc2687b2-4145-460a-bd45-01706378175f"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_0306163d-33a1-4585-9e18-f8ed18761bf1"
      decimals="-3"
      id="F_4f05bf67-b515-4ada-9765-8942557f4a2a"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_f95ba75b-8bfe-4120-9971-83d30de13ef4"
      unitRef="U_USD">-3712000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_fcdd70cc-02f1-4078-91fa-572c17727d6a"
      decimals="-3"
      id="F_936ae086-0bd7-4b16-95a0-b19edd2df281"
      unitRef="U_USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"
      decimals="INF"
      id="F_7033ad49-bdf5-435c-957a-011586797865"
      unitRef="U_shares">2472090</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"
      decimals="-3"
      id="F_ea72a7f1-56d7-4586-9884-68193b6f61ef"
      unitRef="U_USD">24000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="C_397c3bed-839e-48de-92a2-d84e03a45424"
      decimals="-3"
      id="F_8333a8bc-689e-416e-a259-5fec5fe288b0"
      unitRef="U_USD">48383000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="C_b8335490-3812-4924-9787-048714b5e777"
      decimals="-3"
      id="F_ae3b0afc-e4aa-4171-9775-365437ddb188"
      unitRef="U_USD">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="C_af2adcf9-f465-4168-868b-527ff23d4372"
      decimals="-3"
      id="F_85e84bca-51f4-465a-a140-fe0c803de738"
      unitRef="U_USD">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="C_0306163d-33a1-4585-9e18-f8ed18761bf1"
      decimals="-3"
      id="F_f0f53ffc-cd73-46d7-849a-67f042fb70e8"
      unitRef="U_USD">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_3c59330b-48e8-4cfd-9c7c-727f95d73b78"
      unitRef="U_USD">48407000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="C_fcdd70cc-02f1-4078-91fa-572c17727d6a"
      decimals="-3"
      id="F_3f5556ad-94e8-4bb3-aae6-4e337f5de96b"
      unitRef="U_USD">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <fgen:SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares
      contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"
      decimals="INF"
      id="F_9d259551-a03a-4d1b-88cf-99833d07cfac"
      unitRef="U_shares">2132071</fgen:SharesIssuedFromStockPlansNetOfPayrollTaxesPaidShares>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"
      decimals="-3"
      id="F_fbff4196-713f-46b1-8cf6-22ad164bce97"
      unitRef="U_USD">22000</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_397c3bed-839e-48de-92a2-d84e03a45424"
      decimals="-3"
      id="F_5f7ac2fb-823d-4e22-bf9b-9c11bc6b6c1e"
      unitRef="U_USD">3472000</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_b8335490-3812-4924-9787-048714b5e777"
      decimals="-3"
      id="F_d5455dea-7eca-461e-b201-f935ff2c0c87"
      unitRef="U_USD">0</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_af2adcf9-f465-4168-868b-527ff23d4372"
      decimals="-3"
      id="F_452f1b6f-a869-4377-8e6f-96b7d44129a3"
      unitRef="U_USD">0</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_0306163d-33a1-4585-9e18-f8ed18761bf1"
      decimals="-3"
      id="F_7ebdd9a3-8123-4f8d-a851-aadf1a8be003"
      unitRef="U_USD">0</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_2919ebbe-1abe-4343-b79c-708d4cc9ea0c"
      unitRef="U_USD">3494000</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid
      contextRef="C_fcdd70cc-02f1-4078-91fa-572c17727d6a"
      decimals="-3"
      id="F_a8a1b3d1-5109-410e-a0fe-362901f4c0cc"
      unitRef="U_USD">0</fgen:AdjustmentsToAdditionalPaidInCapitalSharesIssuedFromStockPlansNetOfPayrollTaxesPaid>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"
      decimals="-3"
      id="F_01e01954-dedc-4e6f-a045-72242955d84d"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_b3e2ac16-47b4-4bfb-b357-4d434a562c5b"
      decimals="-3"
      id="F_b5e0b372-96f6-4fb2-b1da-29a358b6b665"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_397c3bed-839e-48de-92a2-d84e03a45424"
      decimals="-3"
      id="F_1d43fd1e-e115-4166-906e-53bb31a510ac"
      unitRef="U_USD">50767000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_b8335490-3812-4924-9787-048714b5e777"
      decimals="-3"
      id="F_587fe3d0-bc34-45b3-ae13-aff369eb4001"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_af2adcf9-f465-4168-868b-527ff23d4372"
      decimals="-3"
      id="F_f9a468f8-347c-48c1-85e8-e2da6d6ca052"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_0306163d-33a1-4585-9e18-f8ed18761bf1"
      decimals="-3"
      id="F_f18ee8db-09f1-4b38-81ba-b26f69f14e92"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_29499f54-9d36-4392-be8f-f0d6b3478d11"
      unitRef="U_USD">50767000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_fcdd70cc-02f1-4078-91fa-572c17727d6a"
      decimals="-3"
      id="F_d2576fc6-dff0-40e1-b9a1-a50141fab969"
      unitRef="U_USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding
      contextRef="C_a8e3741f-80a7-4107-8144-8001263d30df"
      decimals="INF"
      id="F_b66298c9-29e7-457d-a2b2-1620fb7c891c"
      unitRef="U_shares">98770247</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_a8e3741f-80a7-4107-8144-8001263d30df"
      decimals="-3"
      id="F_08d2d06e-9d03-4a0b-b733-d6ec17fe3538"
      unitRef="U_USD">988000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_3ff6022c-ab9d-411d-a60c-41584de3ddda"
      decimals="-3"
      id="F_db255f17-f4f2-434f-8db0-cc82cbfcaf69"
      unitRef="U_USD">1643641000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_9b485fae-993b-4a81-9437-9082d4079a3e"
      decimals="-3"
      id="F_de5375fa-6f2e-4a03-ab8e-9f232f75670d"
      unitRef="U_USD">-6875000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_60baaddf-10f0-4a6d-ad2b-5d5114bea420"
      decimals="-3"
      id="F_0810cb00-2662-43c3-a3df-9d231c12c630"
      unitRef="U_USD">-1841920000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_1f899241-70c9-4171-a1b8-ce428e3fa43a"
      decimals="-3"
      id="F_af0e4ebc-399e-4964-a65f-1b9214fbfda8"
      unitRef="U_USD">20487000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_a512ef76-7dd8-4f1b-8bb6-962b0cbf8c52"
      unitRef="U_USD">-183679000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="C_44411402-4130-4eae-8a6a-b5b3a3b1d5a0"
      decimals="-3"
      id="F_9380652f-7ef3-4576-9b2e-7d2531117e34"
      unitRef="U_USD">21480000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_78aaedaf-239e-4055-a22d-e510df20c1c9"
      unitRef="U_USD">-284232000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_c3a99a3a-6a35-4b1f-9391-926500a38f96"
      unitRef="U_USD">-293654000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_2de1eaaa-823a-444d-aeb1-5f8eab35da2e"
      unitRef="U_USD">-290023000</us-gaap:ProfitLoss>
    <us-gaap:Depreciation
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_69fbc6ce-5a12-4bec-9907-0ca875451ae0"
      unitRef="U_USD">9518000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_11b857bf-497d-4ea1-bd94-3ca8691071ad"
      unitRef="U_USD">10017000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_61dcf948-85a0-4ad9-86bb-e19fbebb995f"
      unitRef="U_USD">10170000</us-gaap:Depreciation>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_d4b466c1-b15d-45bd-8895-1027287e7643"
      unitRef="U_USD">412000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_e25754cd-58ea-4a90-91cd-9cdf33bc2b9b"
      unitRef="U_USD">587000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_219c9ce5-5719-45dd-aad1-a2dfe48994ce"
      unitRef="U_USD">4639000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_0623fa8e-46dd-49fd-9203-16539f054c1f"
      unitRef="U_USD">5061000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_dd9403ea-5ce1-441e-b0d0-f7f550e96186"
      unitRef="U_USD">-1619000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_07507f8e-ece7-40d2-afbd-439e1df2980e"
      unitRef="U_USD">-2482000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <fgen:UnrealizedLossGainOnEquityInvestments
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_63cb3d9a-f577-4d74-bdb1-200c28589fe1"
      unitRef="U_USD">0</fgen:UnrealizedLossGainOnEquityInvestments>
    <fgen:UnrealizedLossGainOnEquityInvestments
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_507c18ed-2bce-452b-9e06-20a1088dd500"
      unitRef="U_USD">0</fgen:UnrealizedLossGainOnEquityInvestments>
    <fgen:UnrealizedLossGainOnEquityInvestments
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_981eadda-730f-440c-84db-a2090c2345da"
      unitRef="U_USD">-30000</fgen:UnrealizedLossGainOnEquityInvestments>
    <fgen:InvestmentGainLossInUnconsolidatedVariableInterestEntity
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_3c0a356e-72ef-4ca2-8860-87fce0ec8819"
      unitRef="U_USD">2638000</fgen:InvestmentGainLossInUnconsolidatedVariableInterestEntity>
    <fgen:InvestmentGainLossInUnconsolidatedVariableInterestEntity
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_885bfc3e-28b5-46a3-8e99-c662a07cd3f3"
      unitRef="U_USD">1573000</fgen:InvestmentGainLossInUnconsolidatedVariableInterestEntity>
    <fgen:InvestmentGainLossInUnconsolidatedVariableInterestEntity
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_98600279-1381-47a4-a6c8-23c8418abfc9"
      unitRef="U_USD">1007000</fgen:InvestmentGainLossInUnconsolidatedVariableInterestEntity>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_84703a95-f89c-48d8-8b75-a0992b763423"
      unitRef="U_USD">-4000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_b82b8005-ba21-436d-b948-0f5dbd57b911"
      unitRef="U_USD">1000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_c8bc5d8c-85fc-49a3-8073-5253d0c674d3"
      unitRef="U_USD">-233000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:ShareBasedCompensation
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_a05fff2a-a4dc-4f78-b4d0-1d801958b3c8"
      unitRef="U_USD">50767000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_989fdaf6-4558-4274-bc82-4909fe04d7e4"
      unitRef="U_USD">65601000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_157138ea-93c4-48e9-a2c0-75693d9a97d0"
      unitRef="U_USD">71161000</us-gaap:ShareBasedCompensation>
    <fgen:AcquiredInProcessResearchAndDevelopmentExpenses
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_0db09d03-0404-4f2e-8989-b75319af4cf8"
      unitRef="U_USD">24636000</fgen:AcquiredInProcessResearchAndDevelopmentExpenses>
    <fgen:AcquiredInProcessResearchAndDevelopmentExpenses
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_0e69c029-02f4-4e15-a32b-0eefc2273365"
      unitRef="U_USD">0</fgen:AcquiredInProcessResearchAndDevelopmentExpenses>
    <fgen:AcquiredInProcessResearchAndDevelopmentExpenses
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_0a4691c3-3cd1-4f19-b355-d21e71182dd2"
      unitRef="U_USD">60000000</fgen:AcquiredInProcessResearchAndDevelopmentExpenses>
    <fgen:NonCashInterestExpenseRelatedToSaleOfFutureRevenues
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_3ec4e65a-4e41-4ca8-afe1-e6b7050b6777"
      unitRef="U_USD">7734000</fgen:NonCashInterestExpenseRelatedToSaleOfFutureRevenues>
    <fgen:NonCashInterestExpenseRelatedToSaleOfFutureRevenues
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_fd2caa7f-c543-496c-906d-57cd0009179f"
      unitRef="U_USD">1036000</fgen:NonCashInterestExpenseRelatedToSaleOfFutureRevenues>
    <fgen:NonCashInterestExpenseRelatedToSaleOfFutureRevenues
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_1689e5cb-58be-4b41-b076-43ccdfd715b7"
      unitRef="U_USD">0</fgen:NonCashInterestExpenseRelatedToSaleOfFutureRevenues>
    <fgen:DividendReceivedFromUnconsolidatedVariableInterestEntity
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_62b7b17c-dc4d-420c-b1ff-816d975237a0"
      unitRef="U_USD">2255000</fgen:DividendReceivedFromUnconsolidatedVariableInterestEntity>
    <fgen:DividendReceivedFromUnconsolidatedVariableInterestEntity
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_6c63317b-8572-4e55-b6f4-c45311539fbd"
      unitRef="U_USD">0</fgen:DividendReceivedFromUnconsolidatedVariableInterestEntity>
    <fgen:DividendReceivedFromUnconsolidatedVariableInterestEntity
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_aceff0e9-3ced-4bf2-84fe-5379d1b1f9bf"
      unitRef="U_USD">0</fgen:DividendReceivedFromUnconsolidatedVariableInterestEntity>
    <us-gaap:ImpairmentOfInvestments
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_ef0af01d-a546-4bf6-b8fb-e96f741f88f2"
      unitRef="U_USD">1000000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_1b8e74f5-ba35-48d1-b78b-094568dc6102"
      unitRef="U_USD">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_aede156f-d804-44c2-9674-f364888a24ad"
      unitRef="U_USD">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_3123bb28-6aaa-4e77-8d62-31231e7e33a3"
      unitRef="U_USD">-271000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_fbd03d3a-c3b0-4900-8a52-433fc04fd732"
      unitRef="U_USD">-5000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_68faae71-442e-4f8b-acd6-df3e19d4186c"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment>
    <us-gaap:IncreaseDecreaseInAccountsReceivableRelatedParties
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_2f25e373-73d1-43fb-a316-d6e1dd517be7"
      unitRef="U_USD">-6009000</us-gaap:IncreaseDecreaseInAccountsReceivableRelatedParties>
    <us-gaap:IncreaseDecreaseInAccountsReceivableRelatedParties
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_541050dd-d1d2-4283-9d8a-e7910d271d0f"
      unitRef="U_USD">-1158000</us-gaap:IncreaseDecreaseInAccountsReceivableRelatedParties>
    <us-gaap:IncreaseDecreaseInAccountsReceivableRelatedParties
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_61cc02b5-bd27-4173-90bf-cb3b3fe995bf"
      unitRef="U_USD">-6803000</us-gaap:IncreaseDecreaseInAccountsReceivableRelatedParties>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_acfe04b8-0199-46b9-854d-5aa013fdf153"
      unitRef="U_USD">-3433000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_b57aa3d4-7e8b-462b-a170-44653be747c7"
      unitRef="U_USD">-765000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_d6759a20-5a9f-48fc-97b9-e5020b589d46"
      unitRef="U_USD">-25180000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_6c892e3c-6e23-44c3-8ac4-1cb6a7c0fa96"
      unitRef="U_USD">1695000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_1f67ad4a-908b-4d2c-8595-1eaa10270940"
      unitRef="U_USD">10999000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_649fea13-44ed-4830-bf79-b9289cf5fb37"
      unitRef="U_USD">14158000</us-gaap:IncreaseDecreaseInInventories>
    <fgen:IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_73b60df1-6b56-4b04-8a54-694265690b83"
      unitRef="U_USD">0</fgen:IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties>
    <fgen:IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_7290ed86-fd41-477e-bf1d-e3badd3606f8"
      unitRef="U_USD">0</fgen:IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties>
    <fgen:IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_ef562125-483c-4c33-8e47-73d6cc6359af"
      unitRef="U_USD">889000</fgen:IncreaseDecreaseInPrepaidExpensesAndOtherCurrentAssetsRelatedParties>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_b4dba52d-ff94-4f33-ad4d-4e225000b852"
      unitRef="U_USD">28165000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_8e369413-0879-48d0-9718-25672b611e64"
      unitRef="U_USD">-4916000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_e6ab1603-808c-468f-aa38-fea41f7841c5"
      unitRef="U_USD">9854000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <fgen:IncreaseDecreaseInOperatingLeaseRightOfUseAssets
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_2e5696db-5c11-46e3-9b6e-100aecc8d3c0"
      unitRef="U_USD">-11704000</fgen:IncreaseDecreaseInOperatingLeaseRightOfUseAssets>
    <fgen:IncreaseDecreaseInOperatingLeaseRightOfUseAssets
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_f2590b7e-95f7-4909-8fe5-7f40fb55d775"
      unitRef="U_USD">-10908000</fgen:IncreaseDecreaseInOperatingLeaseRightOfUseAssets>
    <fgen:IncreaseDecreaseInOperatingLeaseRightOfUseAssets
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_1eb5bc17-8679-43c0-8a13-f60eded1f49b"
      unitRef="U_USD">-4209000</fgen:IncreaseDecreaseInOperatingLeaseRightOfUseAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_3b331af6-6b9b-4cbe-9014-1f4f98b8f12b"
      unitRef="U_USD">-256000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_1451c667-142c-4da1-9fc2-06f94823a349"
      unitRef="U_USD">-263000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_d5c11e04-890b-4389-9e28-3b6a299a3081"
      unitRef="U_USD">4412000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <fgen:IncreaseDecreaseInAccountsPayableFromRelatedParty
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_5cf4ba26-d8b8-40cd-94ba-213b4636fe7c"
      unitRef="U_USD">0</fgen:IncreaseDecreaseInAccountsPayableFromRelatedParty>
    <fgen:IncreaseDecreaseInAccountsPayableFromRelatedParty
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_4aa36c68-9c78-46dd-8668-bb19eee4262f"
      unitRef="U_USD">0</fgen:IncreaseDecreaseInAccountsPayableFromRelatedParty>
    <fgen:IncreaseDecreaseInAccountsPayableFromRelatedParty
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_8f5fcda0-4a9c-4112-871c-606b39e4cf3a"
      unitRef="U_USD">-1118000</fgen:IncreaseDecreaseInAccountsPayableFromRelatedParty>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_e6d0572a-88c0-4d58-aa1f-01a9462edc63"
      unitRef="U_USD">-15514000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_9fa102c2-d6b0-42c4-8ffc-490fee6107b3"
      unitRef="U_USD">5909000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_ab08f603-4276-42fe-a233-949e97043557"
      unitRef="U_USD">805000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayableRelatedParties
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_3eff7871-6b48-4658-9686-88d0245279e8"
      unitRef="U_USD">-24072000</us-gaap:IncreaseDecreaseInAccountsPayableRelatedParties>
    <us-gaap:IncreaseDecreaseInAccountsPayableRelatedParties
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_d53ebfc5-e5cc-4539-b546-2fe0beb5f281"
      unitRef="U_USD">63882000</us-gaap:IncreaseDecreaseInAccountsPayableRelatedParties>
    <us-gaap:IncreaseDecreaseInAccountsPayableRelatedParties
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_ebe27648-4bbd-488b-bb8c-a15651d23bda"
      unitRef="U_USD">-20000</us-gaap:IncreaseDecreaseInAccountsPayableRelatedParties>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_f3714a87-02e1-4a40-9e11-f3880dc61d9e"
      unitRef="U_USD">-49778000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_00ea35a9-2115-4bf0-8597-9273c3bb875a"
      unitRef="U_USD">90556000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_3e87838c-8013-4c53-9176-cde1b7c519e9"
      unitRef="U_USD">16380000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_3e3c9408-91e3-4944-8b2d-a08b67f68d09"
      unitRef="U_USD">3820000</fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent>
    <fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_4c0d2957-5e42-4a38-b7b0-587d0f6a867d"
      unitRef="U_USD">-547000</fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent>
    <fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_42410333-94d9-4f6a-9164-ee5cd8677134"
      unitRef="U_USD">503000</fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_c6e14bba-b50c-41b5-99db-45833158c57a"
      unitRef="U_USD">-23378000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_66d1d44d-76a1-4959-b05c-e7726829bc04"
      unitRef="U_USD">11211000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_86fe054a-3730-4d0f-868f-4116802e413b"
      unitRef="U_USD">21549000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_4393ed4a-3604-4621-ac83-7e52126266f3"
      unitRef="U_USD">-28166000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_ca9296e6-4a88-48fc-adf5-5e13278de555"
      unitRef="U_USD">-4130000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_e8f69884-e6a4-4063-a577-acb5f5e2d581"
      unitRef="U_USD">57637000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <fgen:IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_d2d571bd-5d99-445a-b5da-9fc0185db1e6"
      unitRef="U_USD">-11000</fgen:IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities>
    <fgen:IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_ffc51782-a822-422f-b6ee-642c9bbd0b4d"
      unitRef="U_USD">33000</fgen:IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities>
    <fgen:IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_b79359b1-54d6-4827-ba3b-c1fb4a1daa5b"
      unitRef="U_USD">-75000</fgen:IncreaseDecreaseInAccruedInterestForFinanceLeaseLiabilities>
    <fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_656fa8fd-8217-42cc-8ba0-c33847ab5155"
      unitRef="U_USD">-12998000</fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent>
    <fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_b2c76099-d6cb-4be2-9602-8c0f68985cb8"
      unitRef="U_USD">-8994000</fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent>
    <fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_4048edbe-f2ef-4188-a8b4-de2c343cdc64"
      unitRef="U_USD">-4043000</fgen:IncreaseDecreaseInOperatingLeaseLiabilitiesNonCurrent>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_98f65291-a3bf-4cb1-980b-5b165b4a2414"
      unitRef="U_USD">-2573000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_c4920ff8-b9b0-4c27-884a-25c27d711816"
      unitRef="U_USD">-18250000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_35f78c18-bd64-4ee2-9f1e-f4a4a3af128d"
      unitRef="U_USD">-12089000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_ee92d532-4cc1-44f2-b44c-3d621be1ffcc"
      unitRef="U_USD">-315021000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_6cef0e7d-a302-469a-a3ca-7b2cbe2f31d7"
      unitRef="U_USD">-145933000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_698666d4-4b6a-46da-a12f-e47deb6802c6"
      unitRef="U_USD">-82232000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_0683007f-d585-4894-b69a-c1fbb6b8ee56"
      unitRef="U_USD">2519000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_6ddb15bd-99e2-4879-9622-8375ec7be556"
      unitRef="U_USD">3741000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_ef4ca1d1-1a3a-4d8f-aca8-bc75940ec8eb"
      unitRef="U_USD">5186000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireInProcessResearchAndDevelopment
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_29b53c6b-ca74-4754-9d72-6fa53adea9a0"
      unitRef="U_USD">0</us-gaap:PaymentsToAcquireInProcessResearchAndDevelopment>
    <us-gaap:PaymentsToAcquireInProcessResearchAndDevelopment
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_32a5ecf6-2362-4dc0-829d-ab1651ea033e"
      unitRef="U_USD">35000000</us-gaap:PaymentsToAcquireInProcessResearchAndDevelopment>
    <us-gaap:PaymentsToAcquireInProcessResearchAndDevelopment
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_c20a17d0-d977-4888-a323-1ec075152d91"
      unitRef="U_USD">25000000</us-gaap:PaymentsToAcquireInProcessResearchAndDevelopment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_5668522e-bfff-4292-a527-e03f84ea952c"
      unitRef="U_USD">0</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_80d5425b-ab08-4733-962e-28cb24b1c80a"
      unitRef="U_USD">6000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_aece5af0-ecbe-4f7b-9acd-f42b2b336584"
      unitRef="U_USD">0</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_0e3fe64f-321b-49da-9242-ce09bb566995"
      unitRef="U_USD">251830000</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_4546b09e-6574-4711-8f30-0af8643a604c"
      unitRef="U_USD">164023000</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_fd202abd-3122-4caa-a47e-2f6b6806ba85"
      unitRef="U_USD">484144000</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:CashAcquiredFromAcquisition
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_e5699088-ef76-4ca0-813f-c3382a0fc367"
      unitRef="U_USD">656000</us-gaap:CashAcquiredFromAcquisition>
    <us-gaap:CashAcquiredFromAcquisition
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_fe310359-4c02-4838-8a80-7d18bf330376"
      unitRef="U_USD">0</us-gaap:CashAcquiredFromAcquisition>
    <us-gaap:CashAcquiredFromAcquisition
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_61c7edd6-3fab-4c30-bba1-ac2c3f37b117"
      unitRef="U_USD">0</us-gaap:CashAcquiredFromAcquisition>
    <fgen:ProceedsFromSalesOfAvailableForSaleSecurities
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_a7db86fc-d7e0-4309-af23-f889c2618865"
      unitRef="U_USD">6729000</fgen:ProceedsFromSalesOfAvailableForSaleSecurities>
    <fgen:ProceedsFromSalesOfAvailableForSaleSecurities
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_3c5ec0fa-110c-433a-a809-32580d911c9a"
      unitRef="U_USD">7382000</fgen:ProceedsFromSalesOfAvailableForSaleSecurities>
    <fgen:ProceedsFromSalesOfAvailableForSaleSecurities
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_7a0672a5-ee98-4ac9-949c-7a521a1d7c3e"
      unitRef="U_USD">4214000</fgen:ProceedsFromSalesOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_021d526f-9d07-41df-ad97-91e515a83b4b"
      unitRef="U_USD">400621000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_cb4f55d2-8a61-454b-822d-2c74ca6f1532"
      unitRef="U_USD">284492000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_f07b212e-17df-4c79-99c7-3606924ef6c5"
      unitRef="U_USD">83144000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_e303e2a7-695f-4b26-9ac4-b05a2c8834e7"
      unitRef="U_USD">153657000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_7a999d77-3d53-4a22-ad70-3e96c2cba83c"
      unitRef="U_USD">89116000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_6bf94ee3-63cd-48ba-9719-a240381f9344"
      unitRef="U_USD">-426972000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfSecuredDebt
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_134b433e-9d94-4171-acc6-df43f71d753b"
      unitRef="U_USD">74078000</us-gaap:ProceedsFromIssuanceOfSecuredDebt>
    <us-gaap:ProceedsFromIssuanceOfSecuredDebt
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_b20bdc67-6004-4abe-b290-ffca388c81a7"
      unitRef="U_USD">0</us-gaap:ProceedsFromIssuanceOfSecuredDebt>
    <us-gaap:ProceedsFromIssuanceOfSecuredDebt
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_dcec473e-ac6d-4f10-a96c-83168d725bab"
      unitRef="U_USD">0</us-gaap:ProceedsFromIssuanceOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_a0d1fe4d-3c38-463d-b5ac-37d368adeb12"
      unitRef="U_USD">2746000</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_e4c5e643-b27c-4cde-9d38-f07dda95cfde"
      unitRef="U_USD">0</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_982f961f-4698-4a62-9460-4bcff33179b0"
      unitRef="U_USD">0</us-gaap:RepaymentsOfSecuredDebt>
    <fgen:RepaymentsOfFinanceLeaseLiabilities
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_03473b1a-9093-4d86-9b05-e6f0a84b2e6d"
      unitRef="U_USD">148000</fgen:RepaymentsOfFinanceLeaseLiabilities>
    <fgen:RepaymentsOfFinanceLeaseLiabilities
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_1a1e563c-ac1b-4a92-a633-12fe4914bba1"
      unitRef="U_USD">135000</fgen:RepaymentsOfFinanceLeaseLiabilities>
    <fgen:RepaymentsOfFinanceLeaseLiabilities
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_b62033de-cd0a-42ad-b74f-27fd99b3e677"
      unitRef="U_USD">5489000</fgen:RepaymentsOfFinanceLeaseLiabilities>
    <us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_24dfca24-a427-4d1d-83b5-b4034dda9e48"
      unitRef="U_USD">336000</us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations>
    <us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_1c28b32c-4dff-4da7-a35d-5c35180f7982"
      unitRef="U_USD">403000</us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations>
    <us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_fc3ca4f9-cd24-4c4c-9f0d-a61c4246b9d2"
      unitRef="U_USD">403000</us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_ef171df7-736b-4a47-b597-efa955b6f510"
      unitRef="U_USD">237000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_b91bfb6b-e70f-44ab-ace7-21fbb4914c09"
      unitRef="U_USD">5167000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_bcdd8405-1f36-4680-ba91-c7d860a4f2e4"
      unitRef="U_USD">7372000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <fgen:ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_85383275-758f-49fc-a22c-5c5cfaa6ce69"
      unitRef="U_USD">0</fgen:ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts>
    <fgen:ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_83d018d8-fa96-4a1d-8137-301e31034152"
      unitRef="U_USD">49750000</fgen:ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts>
    <fgen:ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_58c4bbad-8a6c-40ad-bfce-5e56397c8e8b"
      unitRef="U_USD">0</fgen:ProceedsFromSaleOfFutureRevenuesNetOfIssuanceCosts>
    <fgen:PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_57da49c7-504a-4431-b74f-1058c4dcc561"
      unitRef="U_USD">0</fgen:PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues>
    <fgen:PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_b9e79b96-d51f-4ede-b005-b91928971862"
      unitRef="U_USD">1453000</fgen:PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues>
    <fgen:PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_edb96106-822d-4480-8089-7e2c87117e2c"
      unitRef="U_USD">0</fgen:PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_7816a217-30db-4825-b5c8-6b4aaa8e3c2d"
      unitRef="U_USD">48407000</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_187778bd-254f-447a-8bff-72dc0c20e0bf"
      unitRef="U_USD">0</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_6ff24973-0ad0-45a2-ae4b-1d6027680f28"
      unitRef="U_USD">0</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_ac4cd0d5-2266-46a5-a80a-64d580c2e147"
      unitRef="U_USD">3731000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_dceacc82-c5f9-4c53-9d1d-0ff9fb8e2ef7"
      unitRef="U_USD">4184000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_2942177f-ba9e-46a9-a99e-dcd0430d75e9"
      unitRef="U_USD">12701000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_c5c49bec-8c49-4aa8-83bc-aa1f7921f5eb"
      unitRef="U_USD">122749000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_048aa955-15a1-453b-a9c3-369bc0cc0626"
      unitRef="U_USD">46776000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_c50f3a0b-48df-426b-90f0-67439e9e6a0b"
      unitRef="U_USD">-563000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_b7b89bfe-5adc-4f9b-bdcb-94f9f8cac689"
      unitRef="U_USD">-3397000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_5f19cd10-9782-47f6-bef6-9fd6a1b37f0b"
      unitRef="U_USD">-5482000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_a7c13ca8-6a1e-40fc-a58a-7e323ee83fa6"
      unitRef="U_USD">2597000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_581d4c45-cbb4-4536-a6f8-9600590c6713"
      unitRef="U_USD">-42012000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_2a8c79ae-7c68-4989-9aec-1612875a3c8f"
      unitRef="U_USD">-15523000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_900465b5-f353-48fe-af6d-3ab5077434d5"
      unitRef="U_USD">-507170000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_339cfe1e-a0c8-4874-84eb-6e32c22f5261"
      unitRef="U_USD">155700000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_51790052-a00c-4d1f-b3b3-7bef5e668b8a"
      decimals="-3"
      id="F_ed60549b-2f61-4138-89b2-5c29c5958efb"
      unitRef="U_USD">171223000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_199ec123-7c4b-43e3-8f2c-009e824a52be"
      decimals="-3"
      id="F_37b5885d-57e9-4d6c-851d-d0117d85f606"
      unitRef="U_USD">678393000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_c571c939-3d61-4981-9f50-388e6d45da0d"
      unitRef="U_USD">113688000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_38519dd8-141c-4b7f-8df0-0135ef92c651"
      unitRef="U_USD">155700000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_51790052-a00c-4d1f-b3b3-7bef5e668b8a"
      decimals="-3"
      id="F_55798e42-f889-48f5-b84c-5a1fb46953a2"
      unitRef="U_USD">171223000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <fgen:NonCashAcquisitionInFortis
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_41d312a3-2551-4e1d-b66d-bee507fdaa14"
      unitRef="U_USD">-22000000</fgen:NonCashAcquisitionInFortis>
    <fgen:NonCashAcquisitionInFortis
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_0a30f77e-4961-4df9-b9de-e80c03ead04f"
      unitRef="U_USD">0</fgen:NonCashAcquisitionInFortis>
    <fgen:NonCashAcquisitionInFortis
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_1484c6b0-4647-42fe-8af3-0ac1ceced4cf"
      unitRef="U_USD">0</fgen:NonCashAcquisitionInFortis>
    <us-gaap:InterestPaidNet
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_8d8333b3-ee52-4aee-97b6-056aebc03b13"
      unitRef="U_USD">54000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_fd1b04e5-80e9-4bef-b1a6-6d075fe589e4"
      unitRef="U_USD">104000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_5dac3322-0f5f-4425-aabc-48f7007068bb"
      unitRef="U_USD">94000</us-gaap:InterestPaidNet>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_92c022e3-9bbc-4285-8c06-f7b3b84863c2"
      unitRef="U_USD">103000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_7748f7f7-0f08-4dcf-9969-74dfa3d512dc"
      unitRef="U_USD">428000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_80f1cdc2-f34b-4521-a844-9435bf25b65e"
      unitRef="U_USD">1009000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:ConstructionInProgressExpendituresIncurredButNotYetPaid
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_4bc7da02-d070-4f8a-8146-c6f4f5237250"
      unitRef="U_USD">0</us-gaap:ConstructionInProgressExpendituresIncurredButNotYetPaid>
    <us-gaap:ConstructionInProgressExpendituresIncurredButNotYetPaid
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_955082dd-7eaa-4ea8-87dd-6f140be993b5"
      unitRef="U_USD">0</us-gaap:ConstructionInProgressExpendituresIncurredButNotYetPaid>
    <us-gaap:ConstructionInProgressExpendituresIncurredButNotYetPaid
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_192dc4ba-bdd7-4b59-9e32-23a3dad5fe54"
      unitRef="U_USD">35000000</us-gaap:ConstructionInProgressExpendituresIncurredButNotYetPaid>
    <fgen:BalanceInOtherReceivablesRelatedToStockOptionExercise
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_559e63cf-13f3-42a2-8d21-df170a6c50d7"
      unitRef="U_USD">0</fgen:BalanceInOtherReceivablesRelatedToStockOptionExercise>
    <fgen:BalanceInOtherReceivablesRelatedToStockOptionExercise
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_c8152154-b253-4c3f-a139-90f5ef912007"
      unitRef="U_USD">0</fgen:BalanceInOtherReceivablesRelatedToStockOptionExercise>
    <fgen:BalanceInOtherReceivablesRelatedToStockOptionExercise
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_d6532156-7ec7-445c-ab19-557e200739f4"
      unitRef="U_USD">165000</fgen:BalanceInOtherReceivablesRelatedToStockOptionExercise>
    <fgen:ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_893e9830-aa70-445c-bf21-2fb4105390f4"
      unitRef="U_USD">0</fgen:ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests>
    <fgen:ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_f358268a-3ce2-47df-b71c-e05c8aae126b"
      unitRef="U_USD">0</fgen:ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests>
    <fgen:ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_c9141e4a-4f78-4501-8901-77c7e02ae835"
      unitRef="U_USD">696000</fgen:ConversionOfSubsidiarysConvertibleNotePayableToNonControllingInterests>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_c0790e3b-c828-4425-a073-60c085af91e6">&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;Th&lt;/span&gt;&lt;span id="note_1_company"&gt;&lt;/span&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;e Company&lt;/span&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;FibroGen, Inc. (&#x201c;FibroGen&#x201d; or the &#x201c;Company&#x201d;) is headquartered in San Francisco, California, with subsidiary offices in Beijing and Shanghai, People&#x2019;s Republic of China (&#x201c;China&#x201d;). FibroGen is developing and commercializing a diversified pipeline of novel therapeutics that work at the frontier of cancer biology and anemia.&lt;/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: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;Pamrevlumab, a human monoclonal antibody targeting connective tissue growth factor, is in Phase 3 clinical development for the treatment of locally advanced unresectable pancreatic cancer. Pamrevlumab is also in Phase 2/3 development for the treatment of metastatic pancreatic cancer. To date, the Company has retained exclusive worldwide rights for pamrevlumab.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Roxadustat is an oral small molecule inhibitor of HIF prolyl hydroxylase activity. Roxadustat (&#x7231;&#x745e;&#x5353;&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;, EVRENZO&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;TM&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;) is approved in China, Europe, Japan, and numerous other countries for the treatment of anemia in chronic kidney disease (&#x201c;CKD&#x201d;) for patients who are on dialysis and not on dialysis. Roxadustat is in clinical development for chemotherapy-induced anemia in China.&lt;/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: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;FibroGen is also developing earlier stage clinical and preclinical product candidates, FG-3246, FG-3165 and FG-3175, to address unmet patient needs in oncology.&lt;/span&gt;&lt;/p&gt;</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_a1cd683f-040e-4bbd-a869-10a6d69f972f">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;2.	Summary of Significant Accounting Policies&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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-weight:bold;font-size:10pt;font-family:Times New Roman;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;min-width:fit-content;"&gt; &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;The consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the U.S. (&#x201c;U.S. GAAP&#x201d;). The consolidated financial statements include the accounts of the Company, its wholly owned subsidiaries and its majority-owned subsidiaries, as well as any variable interest entity (&#x201c;VIE&#x201d;) for which FibroGen is the primary beneficiary. All inter-company transactions and balances have been eliminated in consolidation. For any VIE for which FibroGen is not the primary beneficiary, the Company uses the equity method of accounting.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 operates 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;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 &#x2014; the development and commercialization of novel therapeutics to treat serious unmet medical needs.&lt;/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: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 believes that its existing cash and cash equivalents, short-term investments and accounts receivable will be sufficient to meet its anticipated cash requirements for at least the next 12 months from the date of issuance of the financial statements. However, the Company may need additional capital thereafter and its liquidity assumptions may materially differ.  The Company may utilize its available financial resources sooner than it currently expects and may incur additional expenses not currently contemplated. In addition, the Company may elect to raise additional funds at any time through equity, equity-linked, debt financing arrangements or from other sources.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Foreign Currency Translation&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;The reporting currency of the Company and its subsidiaries is the U.S. dollar.&lt;/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: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 functional currency of FibroGen Europe is the Euro. The functional currency of FibroGen (China) Medical Technology Development Co., Ltd. (&#x201c;FibroGen Beijing&#x201d;) is CNY. As such, monetary assets and liabilities of FibroGen Europe and FibroGen Beijing in currencies other than their functional currencies are remeasured using exchange rates in effect at the end of the period. The assets and liabilities of FibroGen Europe and FibroGen Beijing are translated to U.S. dollars at exchange rates in effect at the balance sheet date. All income statement accounts are translated at monthly average exchange rates. Resulting foreign currency translation adjustments are recorded directly in accumulated other comprehensive income (loss) as a separate component of stockholders&#x2019; equity (deficit).&lt;/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: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 functional currency of FibroGen, Inc. and all other subsidiaries is the U.S. dollar. Accordingly, monetary assets and liabilities in the non-functional currency of these subsidiaries are remeasured using exchange rates in effect at the end of the period. Revenues and costs in local currency are remeasured using average exchange rates for the period, except for costs related to those balance sheet items that are remeasured using historical exchange rates. The resulting remeasurement gains and losses are included within interest income and other, net in the consolidated statements of operations as incurred and have not been material for all periods presented.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Use of Estimates&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;The preparation of the consolidated financial statements in conformity with U.S. GAAP 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 reported amounts of revenues and expenses during the reporting period. The more significant areas requiring the use of management estimates and assumptions include valuation and recognition of revenue and deferred revenue, specifically, estimates in variable consideration for drug product sales, and estimates in transaction price per unit for the China performance obligation (as defined and discussed under &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 Recognition&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; below). On an ongoing basis, management reviews these estimates and assumptions. Changes in facts and circumstances may alter such estimates and actual results could differ from those estimates.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Concentration of Credit Risk&lt;/span&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; &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;The Company is subject to risks associated with concentration of credit for cash and cash equivalents. Outside of short-term operating needs, the majority of cash on hand is invested in U.S. treasuries, corporate bonds, commercial paper and money market funds. Any remaining cash is deposited with major financial institutions primarily in the U.S., China and the Cayman Islands. At times, such deposits may be in excess of insured limits. &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 Company has not experienced any loss on its deposits of cash and cash equivalents. Included in current assets are significant balances of accounts receivable as follows:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:64.64%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.28%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:14.4%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.28%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:14.4%;"&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: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;Falikang &#x2014; Related party&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;65&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;AstraZeneca&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;16&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;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;, the aggregate accounts receivable related to roxadustat sales in China from distributors 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;17&lt;/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;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;%, respectively, of the consolidated accounts receivable, with no material balance from any individual distributor.&lt;/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:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Other Risks and Uncertainties&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;The Company&#x2019;s future results of operations involve a number of risks and uncertainties. Factors that could affect the Company&#x2019;s future operating results and cause actual results to vary materially from expectations include, but are not limited to, the results of clinical trials and the achievement of milestones, research developments, actions by&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9.5pt;font-family:Times New Roman;min-width:fit-content;"&gt; regulatory authorities, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;market acceptance of the Company&#x2019;s product candidates, competition from other products and larger companies, the liquidity and capital resources of the Company, intellectual property protection for the Company's proprietary technology, strategic relationships, and dependence on key individuals, suppliers, clinical organization, and other third parties.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Cash, Cash Equivalents and Restricted Time Deposits&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;The Company considers all highly liquid investments with maturities 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;three months or less&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; at the date of purchase to be cash equivalents. Cash and cash equivalents also include money market accounts and various deposit accounts. 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, a total 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;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&lt;/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="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;92.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;, respectively, of the Company&#x2019;s cash and cash equivalents was held outside of the U.S. in the Company&#x2019;s foreign subsidiaries to be used primarily for the Company&#x2019;s China operations. Restricted time deposits include an irrevocable standby letter of credit as security deposit for a long-term property lease with the Company&#x2019;s landlord. Restricted time deposits 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.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;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 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.&lt;/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:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Investments&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;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&#x2019;s investments consist primarily of diversified bonds, commercial paper, and money market funds. Those investments with original maturities of greater than three months and remaining maturities of less than &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;12&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; months (365 days) are considered short-term investments. Those investments with maturities greater than &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;12&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; months (365 days) from the balance sheet date are considered long-term investments. When such investments are held, the Company&#x2019;s investments classified as available-for-sale are recorded at fair value based upon quoted market prices at period end. Unrealized gains and losses for available-for-sale debt investments that are deemed temporary in nature are recorded in accumulated other comprehensive income (loss) as a separate component of stockholder&#x2019; equity. Realized and unrealized gains or losses resulting from changes in value and sale of the Company&#x2019;s marketable equity investments are recorded in other income (expenses) in the consolidated statement of operations.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 decline in the fair value of any security below cost that is deemed other than temporary results in a charge to earnings and the corresponding establishment of a new cost basis for the security. Premiums and discounts are amortized (accreted) over the life of the related security as an adjustment to its yield. Dividend and interest income are recognized when earned. Realized gains and losses are included in earnings and are derived using the specific identification method for determining the cost of investments sold.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Trade accounts receivable&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;The allowance for credit losses is based on the Company&#x2019;s assessment of the collectability of customer accounts. The Company makes estimates of expected credit losses for the allowance for doubtful accounts by considering factors such as historical experience, credit quality, the age of the accounts receivable balances, current economic and regulatory conditions that may affect a customer&#x2019;s ability to pay, and estimates of expected future losses. The Company&#x2019;s bad debt expense for the years ended December 31, 2023, 2022 and 2021 and the allowance for credit losses 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; were immaterial.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Credit losses &#x2013; Available-for-sale debt securities&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;The Company periodically assesses its available-for-sale investments for other-than-temporary impairment. For debt securities in an unrealized loss position, the Company first considers its intent to sell, or whether it is more likely than not that the Company will be required to sell the debt securities before recovery of their amortized cost basis. If either of these criteria are met, the amortized cost basis of such debt securities is written down to fair value through interest and other, net.&lt;/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: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 debt securities in an unrealized loss position that do not meet the aforementioned criteria, the Company assesses whether the decline in the fair value of such debt securities has resulted from credit losses or other factors. The Company considers the extent to which fair value is less than amortized cost, any changes to the rating of the security by a rating agency, and any adverse conditions specifically related to the securities, among other factors. If this assessment indicates that a credit loss may exist, the Company then compares the present value of cash flows expected to be collected from such securities to their amortized cost basis. If the present value of cash flows expected to be collected is less than the amortized cost basis, a credit loss exists and an allowance for credit losses is recorded through interest and other, net, limited by the amount that the fair value is less than the amortized cost basis. Any additional impairment not recorded through an allowance for credit losses is recognized in other comprehensive income.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Changes in the allowance for credit losses are recorded as provision for, or reversal of, credit loss expense. Losses are charged against the allowance when the Company believes that an available-for-sale security is confirmed uncollectable or when either of the criteria regarding intent or requirement to sell is met.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Inventories&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;Inventories are stated at the lower of cost or net realizable value, on a first-in, first-out, or FIFO, basis. The cost of the Company&#x2019;s inventories in China is determined using full absorption and standard costing method. The Company reviews the standard cost of raw materials, work-in-process and finished goods annually and more often as appropriate to ensure that its inventories approximate current actual cost. The cost of the Company&#x2019;s inventories in the U.S. uses actual costs to determine its cost basis. The cost of inventories includes direct material cost, direct labor and manufacturing overhead.&lt;/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: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 the technical feasibility of the Company&#x2019;s future commercialization is considered probable and the future economic benefit is expected to be realized, based on management&#x2019;s judgment, the Company capitalizes pre-launch inventory costs prior to regulatory approval. A number of factors are considered, including the status in the validation process in significant jurisdictions, regulatory application and approval process, and terms and condition for future sale of such inventory or future alternative use. The pre-launch inventory cost includes purchase cost of raw materials, cost paid to contract manufacturers for inventory manufacturing, freight and custom charges, and certain direct internal labor and overhead expenses.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 periodically reviews its inventories to identify obsolete, slow-moving, excess or otherwise unsaleable items. If obsolete, excess or unsaleable items are observed and there are no alternate uses for the inventory, an inventory valuation adjustment is recorded through a charge to cost of goods sold on the Company&#x2019;s consolidated statements of operations.  Inventory valuation adjustments require judgment including consideration of many factors, such as estimates of future product demand and product expiration period, among others.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Property and Equipment&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;Property and equipment are recorded at cost and depreciated over their estimated useful lives using the straight-line method. Computer equipment, laboratory equipment, machinery and furniture and fixtures are depreciated over &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_81f57a61-fc56-4d6e-854b-d1273e02f34b;"&gt;&lt;span style="-sec-ix-hidden:F_e71b16c5-6126-434d-8525-3ae79ff19db4;"&gt;&lt;span style="-sec-ix-hidden:F_0a9cc98a-5860-4392-89f3-199b7af3050c;"&gt;&lt;span style="-sec-ix-hidden:F_6ec45d46-e39b-40aa-abcd-3246c7d8df9e;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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 &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;. Leasehold improvements are recorded at cost and amortized over the term of the lease or their useful life, whichever is shorter.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Equity method investment - Variable Interest Entity&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;Under the Accounting Standards Codification (&#x201c;ASC&#x201d;) 810, &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;Consolidation &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&#x201c;ASC 810&#x201d;), when the Company obtains an economic interest in an entity, it evaluates the entity to determine if it should be deemed a VIE, and, if so, whether the Company is the primary beneficiary and is therefore required to consolidate the VIE, based on significant judgment whether the Company (i) has the power to direct the activities that most significantly impact the economic performance of the VIE and (ii) has the obligation to absorb losses or the right to receive benefits of the VIE that could potentially be significant to the VIE.&lt;/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: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 an ongoing basis, the Company re-evaluates the VIE assessment based on potential changes in facts and circumstances, including but not limited to, the shareholder loans to the entity and the execution of any future significant agreements between the entity and its shareholders and/or other third parties.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Leases&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;The Company determines if an arrangement is or contains a lease at inception date when it is given control of the underlying assets. The Company elected the practical expedient not to apply the lease recognition and measurement requirements to short-term leases, which is any lease with a term 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;12&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; months or less as of the commencement date that does not include an option to purchase the underlying asset that the lessee is reasonably certain to exercise.&lt;/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: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;Lease right-of-use (&#x201c;ROU&#x201d;) assets and lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As its leases do not typically provide an implicit rate, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of future payments. The Company reassesses the incremental borrowing rate periodically for application to any new leases or lease modifications, which approximates the rate at which the Company would borrow, on a secured basis, in the country where the lease was executed. For any lease modification, the Company reassesses the lease classification, remeasures the related lease liability using an updated discount rate, and adjusts the related ROU asset under the lease modification guidance under the ASC 842, &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;Leases&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, (&#x201c;ASC 842&#x201d;).&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Lease ROU assets include any lease payments made and initial direct costs incurred. The Company has lease agreements with lease and non-lease components. The Company generally accounts for each lease component separately from the non-lease components, and excludes all non-lease components from the calculation of minimum lease payments in measuring the ROU asset and lease liability.&lt;/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: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 lease terms may include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease terms.&lt;/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: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;Regarding leases denominated in a foreign currency, the related ROU assets and the corresponding ROU asset amortization costs are remeasured using the exchange rate in effect at the date of initial recognition; the related lease liabilities are remeasured using the exchange rate in effect at the end of the reporting period; the lease costs and interest expenses related to lease liability accretion are remeasured using average exchange rates for the reporting period.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 included in finance lease ROU assets, finance lease liabilities, current and non-current on the Company&#x2019;s consolidated balance sheets. Operating leases are included in operating lease ROU assets, operating lease liabilities, current and non-current on the Company&#x2019;s consolidated balance sheets.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Impairment of Long-Lived Assets&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;The Company continually evaluates whether events or circumstances have occurred that indicate that the estimated remaining useful life of its long-lived assets may warrant revision or that the carrying value of these assets may be impaired. If the Company determines that an impairment trigger has been met, the Company evaluates the realizability of its long-lived assets (asset group) based on a comparison of projected undiscounted cash flows from use and eventual disposition with the carrying value of the related asset. Any write-downs (which are measured based on the difference between the fair value and the carrying value of the asset) are treated as permanent reductions in the carrying amount of the assets (asset group). Based on this evaluation, the Company believes that, as of each of the balance sheet dates presented, &lt;/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;ne of the Company&#x2019;s long-lived assets were impaired. The Company had &lt;/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 long-lived assets 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;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Liability Related to Sale of Future Revenues&lt;/span&gt;&lt;/p&gt;&lt;/div&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="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 accounts for the sale of future revenue as a debt, because the risks and rewards to the investor are limited by the terms of the transaction as discussed further in Note 10, &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;Liability Related to Sale of Future Revenues&lt;/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 difference between the carrying amount of the initial liability and the gross proceeds received is accounted for as a discount. The Company recognizes interest expense based on an estimated effective annual interest rate, which is affected by the amount and timing of revenues recognized and changes in the timing of forecasted revenues. Quarterly, the Company reassesses the expected revenues and the timing of such revenues, recalculates the amortization and effective interest rate and adjusts the accounting prospectively as needed&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="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Asset Acquisition&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;The Company evaluates acquisitions of entities or assets to assess whether or not the transaction should be accounted for as a business combination or asset acquisition by first applying a screen test to determine whether substantially all of the fair value of the gross assets acquired is concentrated in a single identifiable asset or group of similar identifiable assets. If this screen criteria is met, the transaction is accounted for as an asset acquisition. If not, further determination is required as to whether or not the Company has acquired inputs and processes that have the ability to create outputs which would meet the definition of a business. The Company measures and recognizes asset acquisitions that are not deemed to be business combinations based on the cost to acquire the assets, which includes transaction costs.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 an asset acquisition, the cost allocated to acquire in-process research and development (&#x201c;IPR&amp;amp;D&#x201d;) with no alternative future use is charged to research and development expense at the acquisition date. The Company recognizes assets acquired and liabilities assumed in asset acquisitions, including contingent assets and liabilities, and non-controlling interests (&#x201c;NCI&#x201d;) in the acquired assets at their estimated fair values as of the date of acquisition.&lt;/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: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;An NCI represents the non-affiliated equity interest in the underlying entity or asset. The Company presents redeemable NCI in its consolidated statements of changes in equity within mezzanine equity. Nonredeemable NCI and redeemable NCI are initially recorded at their fair values. Subsequently, net loss in the underlying entity or asset is only allocated to nonredeemable NCI. Net income in the underlying entity or asset is allocated to nonredeemable NCI and redeemable NCI based on their respective stated rights.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Revenue Recognition&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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Revenues under collaboration agreements&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;The Company&#x2019;s collaboration agreements include multiple performance obligations comprised of promised services, or bundles of services, that are distinct. Services that are not distinct are combined with other services in the agreement until they form a distinct bundle of services. The Company&#x2019;s process for identifying performance obligations and an enumeration of each obligation for each agreement is outlined in Note 3, &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;Collaboration Agreements, License Agreement and Revenues&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. Determining the performance obligations within a collaboration agreement often involves significant judgment and is specific to the facts and circumstances contained in each agreement.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 identified the following material promises under its collaboration agreements: (1) license of FibroGen technology, (2) the performance of co-development services, including manufacturing of clinical supplies and other services during the development period, and (3) manufacture of commercial supply. The evaluation as to whether these promises are distinct, and therefore represent separate performance obligations, is described in more detail in Note 3, &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;Collaboration Agreements, License Agreement and Revenues&lt;/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: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 revenue recognition purposes, the Company determines that the terms of its collaboration agreements begin on the effective date and end upon the completion of all performance obligations contained in the agreements. In each agreement, the contract term is defined as the period in which parties to the contract have present and enforceable rights and obligations. The Company believes that the existence of what it considers to be substantive termination penalties on the part of the counterparty create sufficient incentive for the counterparty to avoid exercising its right to terminate the agreement.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 transaction price for each collaboration agreement is determined based on the amount of consideration the Company expects to be entitled for satisfying all performance obligations within the agreement. The Company&#x2019;s collaboration agreements include payments to the Company of one or more of the following: non-refundable upfront license fees; co-development billings; development, regulatory, and commercial milestone payments; payments from sales of active pharmaceutical ingredient (&#x201c;API&#x201d;); payments from sales of bulk drug product and royalties on net sales of licensed 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="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;Upfront license fees are non-contingent and non-refundable in nature and are included in the transaction price at the point when the license fees become due to the Company. The Company does not assess whether a contract has a significant financing component if the expectation at contract inception is such that the period between payment by the customer and the transfer of the promised goods or services to the customer will be one year or less.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Co-development billings resulting from the Company&#x2019;s research and development efforts, which are reimbursable under its collaboration agreements, are considered variable consideration. Determining the reimbursable amount of research and development efforts requires detailed analysis of the terms of the collaboration agreements and the nature of the research and development efforts incurred. Prior to CKD approval in the third quarter of 2021, determining the amount of variable consideration from co-development billings required the Company to make estimates of future research and development efforts, which involved significant judgment. Co-development billings are allocated entirely to the co-development services performance obligation when amounts are related specifically to research and development efforts necessary to satisfy the performance obligation, and such an allocation is consistent with the allocation objective.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Milestone payments are also considered variable consideration, which requires the Company to make estimates of when achievement of a particular milestone becomes probable. Similar to other forms of variable consideration, milestone payments are included in the transaction price when it becomes probable that such inclusion would not result in a significant revenue reversal. Milestones are therefore included in the transaction price when achievement of the milestone becomes probable.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 arrangements that include sales-based royalties and for which the license is deemed to be the predominant item to which the royalties relate, the Company recognizes revenue at the later of (i) when the related sales occur, or (ii) when the performance obligation to which some or all of the royalty has been allocated has been satisfied (or partially satisfied). To date, royalty revenue resulting from its collaboration arrangements was immaterial.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 transaction price is allocated to performance obligations based on their relative standalone selling price (&#x201c;SSP&#x201d;), with the exception of co-development billings allocated entirely to co-development services performance obligations. The SSP is determined based on observable prices at which the Company separately sells the products and services. If an SSP is not directly observable, then the Company will estimate the SSP considering marketing conditions, entity-specific factors, and information about the customer or class of customer that is reasonably available. The process for determining SSP involves significant judgment and includes consideration of multiple factors, including assumptions related to the market opportunity and the time needed to commercialize a product candidate pursuant to the relevant license, estimated direct expenses and other costs, which include the rates normally charged by contract research and contract manufacturing organizations for development and manufacturing obligations, and rates that would be charged by qualified outsiders for committee services.&lt;/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: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 judgment may be required in determining whether a performance obligation is distinct, determining the amount of variable consideration to be included in the transaction price, and estimating the SSP of each performance obligation. An enumeration of the Company&#x2019;s significant judgments is outlined in Note 3, &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;Collaboration Agreements, License Agreement and Revenues&lt;/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: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 each performance obligation identified within an arrangement, the Company determines the period over which the promised services are transferred and the performance obligation is satisfied. Service revenue that was recognized over time was based on progress toward complete satisfaction of the performance obligation. For each performance obligation satisfied over time, the Company assesses the proper method to be used for revenue recognition, either an input method to measure progress toward the satisfaction of services or an output method of determining the progress of completion of performance obligation.&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="font-size:10pt;margin-top:18pt;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 under license agreements&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;Under a license agreement, if the license to the Company&#x2019;s intellectual property is determined to be distinct from the other performance obligations identified in the arrangement, the Company recognizes revenues from upfront license fees allocated to the license when the license is transferred to the licensee and the licensee is able to use and benefit from the license. For licenses that are bundled with other promises, the Company determines whether the combined performance obligation is satisfied over time or at a point in time. If the combined performance obligation is satisfied over time, the Company uses judgment in determining the appropriate method of measuring progress for purposes of recognizing revenue from the up-front license fees. The Company evaluates the measure of progress each reporting period and, if necessary, adjusts the measure of performance and related revenue recognition.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;Product revenue, net&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;Product revenue, net consists of revenues from sales of roxadustat commercial product to Falikang, and directly to pharmaceutical distributors located in one province in China that are not covered by Falikang. Falikang is jointly owned by AstraZeneca AB (&#x201c;AstraZeneca&#x201d;) and FibroGen Beijing. The Company is not the primary beneficiary of Falikang for accounting purposes, as AstraZeneca is the final decision maker for all the roxadustat commercialization activities, and the Company lacks the power criterion to direct the activities of Falikang (see Note 5, &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;Equity method investment - Variable Interest Entity&lt;/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;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;Sales to Falikang&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:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Falikang became fully operational in January 2021, at which time FibroGen Beijing began selling roxadustat commercial product to Falikang. Falikang is FibroGen Beijing&#x2019;s primary customer in China and substantially all roxadustat product sales to distributors in China are made by Falikang. Falikang bears inventory risk once it receives and accepts the product from FibroGen Beijing, and is responsible for delivering product to its distributors.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;The promises identified under the AstraZeneca China Agreement (as defined in Note 3, &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;Collaboration Agreements, License Agreement and Revenues&lt;/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 the license, co-development services and manufacturing of commercial supplies have been bundled into a single performance obligation (&#x201c;China performance obligation&#x201d;). Amounts of the transaction price allocable to this performance obligation under the Company&#x2019;s agreements with AstraZeneca as outlined in Note 3, &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;Collaboration Agreements, License Agreement and Revenues,&lt;/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 deferred until control of the manufactured commercial product is transferred to AstraZeneca.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;The initiation of roxadustat sales to Falikang marked the beginning of the China performance obligation&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;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; Revenue is recognized at a point in time when control of roxadustat commercial product is transferred to Falikang. Revenue is recognized based on the estimated transaction price per unit and actual quantity of product delivered during the reporting period. Specifically, the transaction price per unit is determined based on the overall transaction price over the total estimated sales quantity for the estimated performance period in which the Company determined it is likely those sales would occur. The price per unit is subject to reassessment on a quarterly basis, which may result in cumulative catch up adjustments due to changes in estimates.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 overall transaction price for FibroGen Beijing&#x2019;s product sales to Falikang includes the following elements of consideration:&lt;/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="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&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;Non-refundable upfront license fees; development, regulatory, and commercial milestone payments based on the AstraZeneca China Agreement allocated to the China performance obligation;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&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;Co-development billings resulting from the Company&#x2019;s research and development efforts, which are reimbursable under the AstraZeneca China Agreement;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&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;Interim profit/loss share between FibroGen Beijing and AstraZeneca from April 1, 2020 through December 31, 2020; and&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&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;Net transaction price from product sales to Falikang from January 1, 2021 onwards. The net transaction price includes the following elements: &lt;/span&gt;&lt;/div&gt;&lt;/div&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;o&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;Gross transaction price: The gross transaction price is based on a percentage of Falikang&#x2019;s net sales to its distributors, which takes into account Falikang&#x2019;s operating expenses and its payments to AstraZeneca for roxadustat sales and marketing efforts, capped at a percentage of Falikang&#x2019;s net roxadustat sales. &lt;/span&gt;&lt;/div&gt;&lt;/div&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;o&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;Profit share: The gross transaction price is then adjusted for an estimated amount to achieve 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;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;/50 profit share from current period roxadustat net sales in China. The adjustments to date have been a reduction to the transaction price and the related accounts receivable from Falikang. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="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;The non-refundable upfront license fees constitute a fixed consideration. The remainder of the above are variable consideration components, which may be constrained, and included in the transaction price only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period when the uncertainty associated with the variable consideration is subsequently resolved. The calculation of the above variable consideration includes significant assumptions such as total sales quantity, performance period, gross transaction price and profit share, which require significant judgment.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Any net transaction price in excess of the revenue recognized is deferred, and will be recognized over future periods as the performance obligations are satisfied.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;font-style:italic;min-width:fit-content;"&gt;Direct Sales to Distributors&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:justify;"&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 sells roxadustat in China directly to a number of pharmaceutical distributors located in one province in China that are not covered by Falikang. These pharmaceutical distributors are the Company&#x2019;s customers. Hospitals order roxadustat through a distributor and the Company ships the product directly to the distributors. The delivery of roxadustat to a distributor represents a single performance obligation. Distributors are responsible for delivering product to end users, primarily hospitals. Distributors bear inventory risk once they receive and accept the product. Product revenue is recognized when control of the promised good is transferred to the customer in an amount that reflects the consideration that the Company expects to be entitled to in exchange for the product.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&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 period between the transfer of control of the promised goods and when the Company receives payment is based on 60-day payment terms.&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; As such, product revenue is not adjusted for the effects of a significant financing component.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Product revenue is recorded at the net sales prices that includes certain estimates of variable consideration. These estimates include price adjustment calculated based on estimated channel inventory levels when China&#x2019;s National Healthcare Security Administration releases price guidance for roxadustat under the National Reimbursement Drug List, various fixed-amount or percentage-based rebates and discounts recorded as a reduction to revenue at the point of sale to the distributor or when distributor meets eligibility requirements, and estimated sales return as &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;d&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;i&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;stributors can request to return product to the Company only due to quality issues or for product purchased within one year prior to the product&#x2019;s expiration date.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="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;The calculation of the variable consideration is based on gross sales to the distributor, or estimated utilizing best available information from the distributor, maximum known exposures and other available information including estimated channel inventory levels and estimated sales made by the distributor to hospitals, which involve a significant judgment.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;The rebates and discounts all together are eligible to be applied against the distributor&#x2019;s future sales order, limited to certain maximums until such rebates and discounts are exhausted. These rebates and discounts are recorded as contract liabilities at the time they become eligible and in the same period that the related revenue is recorded. Due to the Company&#x2019;s legal right to offset, at each balance sheet date, the rebates and discounts are presented as reductions to gross accounts receivable from the distributor, or as a current liability to the distributor to the extent that the total amount exceeds the gross accounts receivable or when the Company expects to settle the discount in cash. The Company&#x2019;s legal right to offset is determined at the individual distributor level. The contract liabilities were included in accrued and other current liabilities in the consolidated balance sheet. The rebates and discounts reflected as reductions to gross accounts receivable for direct sales.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;Drug product revenue&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;Drug product revenue includes commercial-grade API or bulk drug product sales to AstraZeneca and Astellas Pharma Inc. (&#x201c;Astellas&#x201d;) in support of pre-commercial preparation prior to the New Drug Application (&#x201c;NDA&#x201d;) or Marketing Authorization Application approval, and to Astellas for ongoing commercial activities in Japan and Europe. Drug product revenue is recognized when the Company fulfills the inventory transfer 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="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 amount of variable consideration that is included in the transaction price may be constrained, and is included in the drug product revenue only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period when the uncertainty associated with the variable consideration is subsequently resolved. Estimating variable consideration and the related constraint requires the use of significant management judgment. The Company reviews new information that may affect its variable consideration estimate at every reporting period and records revenue adjustment, if certain and material. Actual amounts of consideration ultimately received in the future may differ from the Company&#x2019;s estimates, for which the Company will adjust these estimates and affect the drug product revenue in the period such variances become known.&lt;/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: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 each of the Company&#x2019;s collaboration agreements provide for annual true up to the considerations paid for its commercial supplies, the Company will re-evaluate the transaction price in each reporting period and record adjustment to revenue as uncertain events are resolved or other changes in circumstances occur.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;License Acquisition Agreement&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:justify;"&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 2021, the Company entered into an exclusive license and option agreement (the &#x201c;HiFiBiO Agreement&#x201d;) with HiFiBiO Therapeutics (&#x201c;HiFiBiO&#x201d;), pursuant to which the Company exclusively licensed all product candidates in HiFiBiO&#x2019;s Galectin-9 program and subsequently exclusively licensed all product candidates in HiFiBiO&#x2019;s CCR8 program in December 2021. Under the terms of the HiFiBiO Agreement, the Company has paid 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;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 upfront payment to HiFiBiO during the year ended December 31, 2021, and recorded 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;35.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 upfront payment for the CCR8 option exercise in accrued liabilities as of December 31, 2021, which was paid during the first quarter of 2022. HiFiBiO may receive R&amp;amp;D and regulatory milestone payments 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;175&lt;/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 well as sales milestones 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;170&lt;/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. HiFiBiO will also be eligible to receive tiered royalties based upon worldwide net sales capped at &lt;/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;%, subject to certain reductions. We expect to file INDs on product candidates for both the CCR8 and Galectin-9 programs in the first half of 2024.&lt;/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: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;The acquisition of these licenses was accounted for as an asset acquisition. The above-mentioned upfront payments 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;60.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 related to the license and options acquisition meets the definition of an in-process research and development asset (&#x201c;IPR&amp;amp;D asset&#x201d;) under the ASC 730, &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;Research and Development&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. They relate to particular research and development projects and are determined to have no alternative future uses and thus have no separate economic value. Therefore, these upfront payments were recorded as research and development expenses during the year ended December 31, 2021, and the cash payments were reflected as investing activities in the consolidated statement of cash flows during the years ended December 31, 2022 and 2021, respectively.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Contingent consideration payments will be evaluated and recognized when they become probable and reasonably estimable. The related IPR&amp;amp;D asset will only be capitalized if it has an alternative future use other than in a particular research and development project. Otherwise, amounts allocated to IPR&amp;amp;D asset that have no alternative use will be expensed. 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 contingencies related to the milestone payments had not been resolved, therefore no contingent consideration was recognized. The Company will reassess the probability of future option payments and contingent payments on a quarterly basis.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Research and Development Expenses&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;Research and development expenses consist of above-mentioned expense for acquired IPR&amp;amp;D asset, independent research and development costs and the gross amount of costs associated with work performed under collaboration agreements. Research and development costs include employee-related expenses, expenses incurred under agreements with clinical research organizations, other clinical and preclinical costs and allocated direct and indirect overhead costs, such as facilities costs, information technology costs and other overhead. All research and development costs are expensed as 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;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Clinical Trial Accruals&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;Clinical trial costs are a component of research and development expenses. The Company accrues and expenses clinical trial activities performed by third parties based upon actual work completed in accordance with agreements established with clinical research organizations and clinical sites. The Company determines the costs to be recorded based upon validation with the external service providers as to the progress or stage of completion of trials or services and the agreed-upon fee to be paid for such services.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Selling, General and Administrative Expenses&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;Selling, general and administrative (&#x201c;SG&amp;amp;A&#x201d;) expenses consist primarily of employee-related expenses for executive, operational, finance, legal, compliance and human resource functions. SG&amp;amp;A expenses also include facility-related costs, professional fees, accounting and legal services, other outside services including co-promotional expenses associated with our commercialization efforts in China, recruiting fees and expenses associated with obtaining and maintaining patents.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Restructuring Charge&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;A restructuring charge is recognized when the liability is incurred and accrued in the period in which it is probable that the employees are entitled to the restructuring benefits and the amounts can be reasonably estimated. The restructuring liability accrued but not paid at the end of the reporting period is included in accrued and other current liabilities in the consolidated balance sheets.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Income Taxes&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;The Company utilizes the asset and liability method of accounting for income taxes, which requires the recognition of deferred tax assets and liabilities for expected future consequences of temporary differences between the financial reporting and income tax bases of assets and liabilities using enacted tax rates. Management makes estimates, assumptions and judgments to determine the Company&#x2019;s provision for income taxes and for deferred tax assets and liabilities, and any valuation allowances recorded against the Company&#x2019;s deferred tax assets. The Company assesses the likelihood that its deferred tax assets will be recovered from future taxable income and, to the extent the Company believes that recovery is not likely, the Company must establish a valuation allowance.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 calculation of the Company&#x2019;s current provision for income taxes involves the use of estimates, assumptions and judgments while taking into account current tax laws, interpretation of current tax laws and possible outcomes of future tax audits. The Company has established reserves to address potential exposures related to tax positions that could be challenged by tax authorities. Although the Company believes its estimates, assumptions and judgments to be reasonable, any changes in tax law or its interpretation of tax laws and the resolutions of potential tax audits could significantly impact the amounts provided for income taxes in the Company&#x2019;s consolidated financial statements.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 calculation of the Company&#x2019;s deferred tax asset balance involves the use of estimates, assumptions and judgments while taking into account estimates of the amounts and type of future taxable income. Actual future operating results and the underlying amount and type of income could differ materially from the Company&#x2019;s estimates, assumptions and judgments thereby impacting the Company&#x2019;s financial position and results of operations.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 adopted ASC 740-10, &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;Accounting for Uncertainty in Income Taxes&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, that prescribes a recognition threshold and measurement attribute for the financial statement recognition and measurement of uncertain tax positions taken or expected to be taken in the Company&#x2019;s income tax return, and also provides guidance on derecognition, classification, interest and penalties, accounting in interim periods, disclosure and transition.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 includes interest and penalties related to unrecognized tax benefits within income tax expense in the Consolidated Statements of Operations.&lt;/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:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Stock-Based Compensation&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;The Company maintains equity incentive plans under which equity awards are granted to employees, which are comprised of stock options, service-based restricted stock units (&#x201c;RSUs&#x201d;), performance-based RSUs (&#x201c;PRSUs&#x201d;), and total shareholder return (&#x201c;TSR&#x201d;) awards.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 measures and recognizes compensation expense for all stock options, RSUs and PRSUs granted to its employees and directors based on the estimated fair value of the award on the grant date. The Company uses the Black-Scholes valuation model to estimate the fair value of stock option awards. The determination of the grant date fair value of options using the Black-Scholes valuation model is affected by the Company&#x2019;s estimated common stock fair value and requires management to make a number of assumptions including the expected life of the option, the volatility of the underlying stock, the risk-free interest rate and expected dividends. The Company determines the fair value of RSUs and PRSUs using the fair value of our common stock on the date of grant. To estimate the fair value of the TSR awards, the Company uses the Monte Carlo valuation model to simulate the probabilities of achievement, which requires management to make a number of assumptions including 30-day average price, volatility of the underlying stock and the Company&#x2019;s peers, and the 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; &lt;/span&gt;&lt;/p&gt;&lt;p style="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 compensation cost of service-based stock options and restricted stock units is recognized net of any estimated forfeitures on a straight-line basis over the employee requisite service period. Compensation cost for PRSUs is expensed over the respective vesting periods when the achievement of performance criteria is probable. Compensation cost for the TSR awards is recognized over the requisite service period, regardless of when, if ever, the market condition is satisfied.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 believes that the fair value of stock options granted to non-employees is more reliably measured than the fair value of the services received.&lt;/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:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Comprehensive Income (Loss)&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;The Company is required to report all components of comprehensive income (loss), including net loss, in the consolidated financial statements in the period in which they are recognized. Comprehensive income (loss) is defined as the change in equity during a period from transactions and other events and circumstances from non-owner sources, including unrealized gains and losses on investments and foreign currency translation adjustments. Comprehensive gains (losses) have been reflected in the consolidated statements of comprehensive income (loss) for all periods presented.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Recently Issued Accounting Guidance Not Yet Adopted&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;In November 2023, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) No. 2023-07,&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; Segment Reporting (Topic 280): Improvements to Reportable Segment 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 all public entities, including public entities with a single reportable segment, to provide in interim and annual periods one or more measures of segment profit or loss used by the chief operating decision maker to allocate resources and assess performance. In addition, this guidance requires disclosures of significant segment expenses and other segment items as well as incremental qualitative disclosures. This guidance is effective for fiscal years beginning after December 15, 2023, and interim periods after December 15, 2024, with retrospective application required, and early adoption permitted. The Company is currently in the process of evaluating the effects of this guidance on its 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; &lt;/span&gt;&lt;/p&gt;&lt;p style="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 2023, the FASB issued ASU 2023-09,&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&lt;/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 enhanced income tax disclosures, including specific categories and disaggregation of information in the effective tax rate reconciliation, disaggregated information related to income taxes paid, income or loss from continuing operations before income tax expense or benefit, and income tax expense or benefit from continuing operations. This guidance is effective for annual periods beginning after December 15, 2024, with early adoption permitted. The Company is currently in the process of evaluating the impact of this pronouncement on its related disclosures.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_a571f26c-a460-4188-aa78-937e599da4f7">&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;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;min-width:fit-content;"&gt; &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;The consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the U.S. (&#x201c;U.S. GAAP&#x201d;). The consolidated financial statements include the accounts of the Company, its wholly owned subsidiaries and its majority-owned subsidiaries, as well as any variable interest entity (&#x201c;VIE&#x201d;) for which FibroGen is the primary beneficiary. All inter-company transactions and balances have been eliminated in consolidation. For any VIE for which FibroGen is not the primary beneficiary, the Company uses the equity method of accounting.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 operates 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;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 &#x2014; the development and commercialization of novel therapeutics to treat serious unmet medical needs.&lt;/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: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 believes that its existing cash and cash equivalents, short-term investments and accounts receivable will be sufficient to meet its anticipated cash requirements for at least the next 12 months from the date of issuance of the financial statements. However, the Company may need additional capital thereafter and its liquidity assumptions may materially differ.  The Company may utilize its available financial resources sooner than it currently expects and may incur additional expenses not currently contemplated. In addition, the Company may elect to raise additional funds at any time through equity, equity-linked, debt financing arrangements or from other sources.&lt;/span&gt;&lt;/p&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="INF"
      id="F_70541007-e308-43e7-999d-1bb99c640a71"
      unitRef="U_Segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_dc0d49d3-9c1d-44b8-bc1c-aec59e5ade9e">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Foreign Currency Translation&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;The reporting currency of the Company and its subsidiaries is the U.S. dollar.&lt;/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: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 functional currency of FibroGen Europe is the Euro. The functional currency of FibroGen (China) Medical Technology Development Co., Ltd. (&#x201c;FibroGen Beijing&#x201d;) is CNY. As such, monetary assets and liabilities of FibroGen Europe and FibroGen Beijing in currencies other than their functional currencies are remeasured using exchange rates in effect at the end of the period. The assets and liabilities of FibroGen Europe and FibroGen Beijing are translated to U.S. dollars at exchange rates in effect at the balance sheet date. All income statement accounts are translated at monthly average exchange rates. Resulting foreign currency translation adjustments are recorded directly in accumulated other comprehensive income (loss) as a separate component of stockholders&#x2019; equity (deficit).&lt;/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: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 functional currency of FibroGen, Inc. and all other subsidiaries is the U.S. dollar. Accordingly, monetary assets and liabilities in the non-functional currency of these subsidiaries are remeasured using exchange rates in effect at the end of the period. Revenues and costs in local currency are remeasured using average exchange rates for the period, except for costs related to those balance sheet items that are remeasured using historical exchange rates. The resulting remeasurement gains and losses are included within interest income and other, net in the consolidated statements of operations as incurred and have not been material for all periods presented.&lt;/span&gt;&lt;/p&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_99a146fc-c23d-4052-8387-3367c1ebdba1">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Use of Estimates&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;The preparation of the consolidated financial statements in conformity with U.S. GAAP 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 reported amounts of revenues and expenses during the reporting period. The more significant areas requiring the use of management estimates and assumptions include valuation and recognition of revenue and deferred revenue, specifically, estimates in variable consideration for drug product sales, and estimates in transaction price per unit for the China performance obligation (as defined and discussed under &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 Recognition&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; below). On an ongoing basis, management reviews these estimates and assumptions. Changes in facts and circumstances may alter such estimates and actual results could differ from those estimates.&lt;/span&gt;&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_b30e65aa-9781-41cd-8449-64d8858d47a7">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Concentration of Credit Risk&lt;/span&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; &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;The Company is subject to risks associated with concentration of credit for cash and cash equivalents. Outside of short-term operating needs, the majority of cash on hand is invested in U.S. treasuries, corporate bonds, commercial paper and money market funds. Any remaining cash is deposited with major financial institutions primarily in the U.S., China and the Cayman Islands. At times, such deposits may be in excess of insured limits. &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 Company has not experienced any loss on its deposits of cash and cash equivalents. Included in current assets are significant balances of accounts receivable as follows:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:64.64%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.28%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:14.4%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.28%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:14.4%;"&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: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;Falikang &#x2014; Related party&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;65&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;AstraZeneca&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;16&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;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;, the aggregate accounts receivable related to roxadustat sales in China from distributors 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;17&lt;/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;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;%, respectively, of the consolidated accounts receivable, with no material balance from any individual distributor.&lt;/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:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_a57b0bf2-d0db-496f-98a3-6d6820d218b0">&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 experienced any loss on its deposits of cash and cash equivalents. Included in current assets are significant balances of accounts receivable as follows:&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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:64.64%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.28%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:14.4%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.28%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:14.4%;"&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: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;Falikang &#x2014; Related party&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;65&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;AstraZeneca&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;16&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_b0f6d53b-7d83-428b-a51b-4c38c1aab8ab"
      decimals="2"
      id="F_11dc0a6a-1ae5-4e10-80c4-6f954f9ec641"
      unitRef="U_pure">0.42</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_96cb75e0-1d1a-4a07-b3c7-4c4573ddde18"
      decimals="2"
      id="F_3a78b4fb-ea13-469f-804d-b67fa66e7771"
      unitRef="U_pure">0.65</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_04238edf-69c7-4bc9-8251-233dbe9d8c1d"
      decimals="2"
      id="F_90cda821-0dd2-4542-9adb-b9e3f5eac29a"
      unitRef="U_pure">0.33</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_e7b41c85-f1b5-406f-b8b1-0d58a35a1b75"
      decimals="2"
      id="F_a04e0a40-e6d0-48bc-8aa7-c6c936a65854"
      unitRef="U_pure">0.16</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_d16d7074-3c48-406c-a045-2bd69c7626c4"
      decimals="2"
      id="F_198efeae-9fef-4a8e-b2ba-bbec79ba8419"
      unitRef="U_pure">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_62fb430b-045c-4c6f-8619-a8977b560ee1"
      decimals="2"
      id="F_ddf712e0-be74-4d1c-9979-ec94bfd933b3"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <fgen:OtherRisksAndUncertaintiesPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_12a44ec8-f363-4ee0-b957-4d6c861880e8">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Other Risks and Uncertainties&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;The Company&#x2019;s future results of operations involve a number of risks and uncertainties. Factors that could affect the Company&#x2019;s future operating results and cause actual results to vary materially from expectations include, but are not limited to, the results of clinical trials and the achievement of milestones, research developments, actions by&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9.5pt;font-family:Times New Roman;min-width:fit-content;"&gt; regulatory authorities, &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;market acceptance of the Company&#x2019;s product candidates, competition from other products and larger companies, the liquidity and capital resources of the Company, intellectual property protection for the Company's proprietary technology, strategic relationships, and dependence on key individuals, suppliers, clinical organization, and other third parties.&lt;/span&gt;&lt;/p&gt;</fgen:OtherRisksAndUncertaintiesPolicyTextBlock>
    <fgen:CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_41092221-8d69-45db-bc10-6a38c03d9e2f">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Cash, Cash Equivalents and Restricted Time Deposits&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;The Company considers all highly liquid investments with maturities 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;three months or less&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; at the date of purchase to be cash equivalents. Cash and cash equivalents also include money market accounts and various deposit accounts. 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, a total 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;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&lt;/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="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;92.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;, respectively, of the Company&#x2019;s cash and cash equivalents was held outside of the U.S. in the Company&#x2019;s foreign subsidiaries to be used primarily for the Company&#x2019;s China operations. Restricted time deposits include an irrevocable standby letter of credit as security deposit for a long-term property lease with the Company&#x2019;s landlord. Restricted time deposits 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.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;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 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.&lt;/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;</fgen:CashAndCashEquivalentsAndRestrictedTimeDepositsPolicyPolicyTextBlock>
    <fgen:HighlyLiquidInvestmentMaturityPeriod
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_ef8ba34f-1600-42f0-bd31-6eb4f9d281fa">three months or less</fgen:HighlyLiquidInvestmentMaturityPeriod>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_78954666-d61e-45a3-b159-f9ed78d25d35"
      decimals="-5"
      id="F_5f9d8e59-d1d1-4618-b18b-57582c28d610"
      unitRef="U_USD">32200000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_9c5dfa5d-d4c1-46d3-b755-cf68faa21d1b"
      decimals="-5"
      id="F_c8b9314d-2219-46f3-aeb0-8b8ab6f95104"
      unitRef="U_USD">92500000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <fgen:RestrictedTimeDepositsNoncurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-5"
      id="F_0caa1de3-7167-49f1-9a4c-2cc477508148"
      unitRef="U_USD">1700000</fgen:RestrictedTimeDepositsNoncurrent>
    <fgen:RestrictedTimeDepositsNoncurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-5"
      id="F_1f6c1de3-0eb8-456b-8831-1433ab778dda"
      unitRef="U_USD">2100000</fgen:RestrictedTimeDepositsNoncurrent>
    <us-gaap:InvestmentPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_9196647c-bb70-40ae-abda-f7f2e4d49cc8">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Investments&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;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&#x2019;s investments consist primarily of diversified bonds, commercial paper, and money market funds. Those investments with original maturities of greater than three months and remaining maturities of less than &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;12&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; months (365 days) are considered short-term investments. Those investments with maturities greater than &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;12&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; months (365 days) from the balance sheet date are considered long-term investments. When such investments are held, the Company&#x2019;s investments classified as available-for-sale are recorded at fair value based upon quoted market prices at period end. Unrealized gains and losses for available-for-sale debt investments that are deemed temporary in nature are recorded in accumulated other comprehensive income (loss) as a separate component of stockholder&#x2019; equity. Realized and unrealized gains or losses resulting from changes in value and sale of the Company&#x2019;s marketable equity investments are recorded in other income (expenses) in the consolidated statement of operations.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 decline in the fair value of any security below cost that is deemed other than temporary results in a charge to earnings and the corresponding establishment of a new cost basis for the security. Premiums and discounts are amortized (accreted) over the life of the related security as an adjustment to its yield. Dividend and interest income are recognized when earned. Realized gains and losses are included in earnings and are derived using the specific identification method for determining the cost of investments sold.&lt;/span&gt;&lt;/p&gt;</us-gaap:InvestmentPolicyTextBlock>
    <fgen:ShortTermInvestmentsMaximumMaturityPeriod
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_16cb02de-2cd5-4d7c-b0a5-1bddab0090d7">P12M</fgen:ShortTermInvestmentsMaximumMaturityPeriod>
    <fgen:LongTermInvestmentsMinimumMaturityPeriod
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_42b4a0c1-884d-4c15-bd02-b9f5723d503f">P12M</fgen:LongTermInvestmentsMinimumMaturityPeriod>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_39e2e208-c672-44c1-b4fe-4c5ba4a4e72d">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Trade accounts receivable&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;The allowance for credit losses is based on the Company&#x2019;s assessment of the collectability of customer accounts. The Company makes estimates of expected credit losses for the allowance for doubtful accounts by considering factors such as historical experience, credit quality, the age of the accounts receivable balances, current economic and regulatory conditions that may affect a customer&#x2019;s ability to pay, and estimates of expected future losses. The Company&#x2019;s bad debt expense for the years ended December 31, 2023, 2022 and 2021 and the allowance for credit losses 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; were immaterial.&lt;/span&gt;&lt;/p&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:CreditLossFinancialInstrumentPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_40e635c9-31c6-4cbf-ad05-4a47c1b52be1">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Credit losses &#x2013; Available-for-sale debt securities&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;The Company periodically assesses its available-for-sale investments for other-than-temporary impairment. For debt securities in an unrealized loss position, the Company first considers its intent to sell, or whether it is more likely than not that the Company will be required to sell the debt securities before recovery of their amortized cost basis. If either of these criteria are met, the amortized cost basis of such debt securities is written down to fair value through interest and other, net.&lt;/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: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 debt securities in an unrealized loss position that do not meet the aforementioned criteria, the Company assesses whether the decline in the fair value of such debt securities has resulted from credit losses or other factors. The Company considers the extent to which fair value is less than amortized cost, any changes to the rating of the security by a rating agency, and any adverse conditions specifically related to the securities, among other factors. If this assessment indicates that a credit loss may exist, the Company then compares the present value of cash flows expected to be collected from such securities to their amortized cost basis. If the present value of cash flows expected to be collected is less than the amortized cost basis, a credit loss exists and an allowance for credit losses is recorded through interest and other, net, limited by the amount that the fair value is less than the amortized cost basis. Any additional impairment not recorded through an allowance for credit losses is recognized in other comprehensive income.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Changes in the allowance for credit losses are recorded as provision for, or reversal of, credit loss expense. Losses are charged against the allowance when the Company believes that an available-for-sale security is confirmed uncollectable or when either of the criteria regarding intent or requirement to sell is met.&lt;/span&gt;&lt;/p&gt;</us-gaap:CreditLossFinancialInstrumentPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_3b796e94-a788-41ad-989b-383d89d2e570">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Inventories&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;Inventories are stated at the lower of cost or net realizable value, on a first-in, first-out, or FIFO, basis. The cost of the Company&#x2019;s inventories in China is determined using full absorption and standard costing method. The Company reviews the standard cost of raw materials, work-in-process and finished goods annually and more often as appropriate to ensure that its inventories approximate current actual cost. The cost of the Company&#x2019;s inventories in the U.S. uses actual costs to determine its cost basis. The cost of inventories includes direct material cost, direct labor and manufacturing overhead.&lt;/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: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 the technical feasibility of the Company&#x2019;s future commercialization is considered probable and the future economic benefit is expected to be realized, based on management&#x2019;s judgment, the Company capitalizes pre-launch inventory costs prior to regulatory approval. A number of factors are considered, including the status in the validation process in significant jurisdictions, regulatory application and approval process, and terms and condition for future sale of such inventory or future alternative use. The pre-launch inventory cost includes purchase cost of raw materials, cost paid to contract manufacturers for inventory manufacturing, freight and custom charges, and certain direct internal labor and overhead expenses.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 periodically reviews its inventories to identify obsolete, slow-moving, excess or otherwise unsaleable items. If obsolete, excess or unsaleable items are observed and there are no alternate uses for the inventory, an inventory valuation adjustment is recorded through a charge to cost of goods sold on the Company&#x2019;s consolidated statements of operations.  Inventory valuation adjustments require judgment including consideration of many factors, such as estimates of future product demand and product expiration period, among others.&lt;/span&gt;&lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_82619e6d-9050-4874-b626-9e9db671f564">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Property and Equipment&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;Property and equipment are recorded at cost and depreciated over their estimated useful lives using the straight-line method. Computer equipment, laboratory equipment, machinery and furniture and fixtures are depreciated over &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_81f57a61-fc56-4d6e-854b-d1273e02f34b;"&gt;&lt;span style="-sec-ix-hidden:F_e71b16c5-6126-434d-8525-3ae79ff19db4;"&gt;&lt;span style="-sec-ix-hidden:F_0a9cc98a-5860-4392-89f3-199b7af3050c;"&gt;&lt;span style="-sec-ix-hidden:F_6ec45d46-e39b-40aa-abcd-3246c7d8df9e;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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 &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;. Leasehold improvements are recorded at cost and amortized over the term of the lease or their useful life, whichever is shorter.&lt;/span&gt;&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_b4115d32-b0b1-49dc-bf90-810064b82555"
      id="F_b196ceff-1106-4dd2-b9da-46c25db5e62f">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_6980804d-70eb-4306-a1a9-995e7bd59696"
      id="F_271bd315-87b4-484d-aa05-e37f5d602b83">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_6a50a82e-d849-43f5-8782-988b2133b3d4"
      id="F_773bea9b-09ed-4592-9a85-f10c606382f0">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_42dc2692-decb-4ee2-8bb7-113216ea2fd0"
      id="F_8297cfb3-65b0-413b-8d0b-61b18baf798e">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:ConsolidationVariableInterestEntityPolicy
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_ccbc4a73-4fd8-46a0-851f-6d6d0f388d19">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Equity method investment - Variable Interest Entity&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;Under the Accounting Standards Codification (&#x201c;ASC&#x201d;) 810, &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;Consolidation &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&#x201c;ASC 810&#x201d;), when the Company obtains an economic interest in an entity, it evaluates the entity to determine if it should be deemed a VIE, and, if so, whether the Company is the primary beneficiary and is therefore required to consolidate the VIE, based on significant judgment whether the Company (i) has the power to direct the activities that most significantly impact the economic performance of the VIE and (ii) has the obligation to absorb losses or the right to receive benefits of the VIE that could potentially be significant to the VIE.&lt;/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: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 an ongoing basis, the Company re-evaluates the VIE assessment based on potential changes in facts and circumstances, including but not limited to, the shareholder loans to the entity and the execution of any future significant agreements between the entity and its shareholders and/or other third parties.&lt;/span&gt;&lt;/p&gt;</us-gaap:ConsolidationVariableInterestEntityPolicy>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_5947c349-3b63-4e10-a582-fd33047083f1">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Leases&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;The Company determines if an arrangement is or contains a lease at inception date when it is given control of the underlying assets. The Company elected the practical expedient not to apply the lease recognition and measurement requirements to short-term leases, which is any lease with a term 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;12&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; months or less as of the commencement date that does not include an option to purchase the underlying asset that the lessee is reasonably certain to exercise.&lt;/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: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;Lease right-of-use (&#x201c;ROU&#x201d;) assets and lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As its leases do not typically provide an implicit rate, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of future payments. The Company reassesses the incremental borrowing rate periodically for application to any new leases or lease modifications, which approximates the rate at which the Company would borrow, on a secured basis, in the country where the lease was executed. For any lease modification, the Company reassesses the lease classification, remeasures the related lease liability using an updated discount rate, and adjusts the related ROU asset under the lease modification guidance under the ASC 842, &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;Leases&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, (&#x201c;ASC 842&#x201d;).&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Lease ROU assets include any lease payments made and initial direct costs incurred. The Company has lease agreements with lease and non-lease components. The Company generally accounts for each lease component separately from the non-lease components, and excludes all non-lease components from the calculation of minimum lease payments in measuring the ROU asset and lease liability.&lt;/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: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 lease terms may include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease terms.&lt;/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: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;Regarding leases denominated in a foreign currency, the related ROU assets and the corresponding ROU asset amortization costs are remeasured using the exchange rate in effect at the date of initial recognition; the related lease liabilities are remeasured using the exchange rate in effect at the end of the reporting period; the lease costs and interest expenses related to lease liability accretion are remeasured using average exchange rates for the reporting period.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 included in finance lease ROU assets, finance lease liabilities, current and non-current on the Company&#x2019;s consolidated balance sheets. Operating leases are included in operating lease ROU assets, operating lease liabilities, current and non-current on the Company&#x2019;s consolidated balance sheets.&lt;/span&gt;&lt;/p&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <fgen:ShortTermInvestmentsMaximumMaturityPeriod
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_3f253419-0232-4e0f-b86b-7289727dcf72">P12M</fgen:ShortTermInvestmentsMaximumMaturityPeriod>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_9d1c00c0-b711-44eb-bcda-fca88a60e4e8">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Impairment of Long-Lived Assets&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;The Company continually evaluates whether events or circumstances have occurred that indicate that the estimated remaining useful life of its long-lived assets may warrant revision or that the carrying value of these assets may be impaired. If the Company determines that an impairment trigger has been met, the Company evaluates the realizability of its long-lived assets (asset group) based on a comparison of projected undiscounted cash flows from use and eventual disposition with the carrying value of the related asset. Any write-downs (which are measured based on the difference between the fair value and the carrying value of the asset) are treated as permanent reductions in the carrying amount of the assets (asset group). Based on this evaluation, the Company believes that, as of each of the balance sheet dates presented, &lt;/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;ne of the Company&#x2019;s long-lived assets were impaired. The Company had &lt;/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 long-lived assets 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:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="INF"
      id="F_f0ccdf65-e535-487a-b357-8b1879379acc"
      unitRef="U_USD">0</us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf>
    <us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="INF"
      id="F_0b380c6b-7292-4fc6-ae1c-995595a6486e"
      unitRef="U_USD">0</us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf>
    <us-gaap:ImpairmentOfIntangibleAssetsFinitelived
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="INF"
      id="F_939ec7d8-41cc-4827-b93f-d7fcd8d9fda6"
      unitRef="U_USD">0</us-gaap:ImpairmentOfIntangibleAssetsFinitelived>
    <us-gaap:ImpairmentOfIntangibleAssetsFinitelived
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="INF"
      id="F_be80ecfb-373b-400b-b10f-32fe8f6dae34"
      unitRef="U_USD">0</us-gaap:ImpairmentOfIntangibleAssetsFinitelived>
    <us-gaap:ImpairmentOfIntangibleAssetsFinitelived
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="INF"
      id="F_e8c6c254-8856-4b76-9068-1f78c0aa25cc"
      unitRef="U_USD">0</us-gaap:ImpairmentOfIntangibleAssetsFinitelived>
    <fgen:LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_fcec3679-78d1-4282-acdb-c03dd7d9cd90">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Liability Related to Sale of Future Revenues&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 accounts for the sale of future revenue as a debt, because the risks and rewards to the investor are limited by the terms of the transaction as discussed further in Note 10, &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;Liability Related to Sale of Future Revenues&lt;/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 difference between the carrying amount of the initial liability and the gross proceeds received is accounted for as a discount. The Company recognizes interest expense based on an estimated effective annual interest rate, which is affected by the amount and timing of revenues recognized and changes in the timing of forecasted revenues. Quarterly, the Company reassesses the expected revenues and the timing of such revenues, recalculates the amortization and effective interest rate and adjusts the accounting prospectively as needed&lt;/span&gt;</fgen:LiabilityRelatedToSaleOfFutureRevenuesPolicyTextBlock>
    <fgen:AssetAcquisitionPolicyPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_aa312560-cb0e-4e5a-a779-4836dfc922de">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Asset Acquisition&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;The Company evaluates acquisitions of entities or assets to assess whether or not the transaction should be accounted for as a business combination or asset acquisition by first applying a screen test to determine whether substantially all of the fair value of the gross assets acquired is concentrated in a single identifiable asset or group of similar identifiable assets. If this screen criteria is met, the transaction is accounted for as an asset acquisition. If not, further determination is required as to whether or not the Company has acquired inputs and processes that have the ability to create outputs which would meet the definition of a business. The Company measures and recognizes asset acquisitions that are not deemed to be business combinations based on the cost to acquire the assets, which includes transaction costs.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 an asset acquisition, the cost allocated to acquire in-process research and development (&#x201c;IPR&amp;amp;D&#x201d;) with no alternative future use is charged to research and development expense at the acquisition date. The Company recognizes assets acquired and liabilities assumed in asset acquisitions, including contingent assets and liabilities, and non-controlling interests (&#x201c;NCI&#x201d;) in the acquired assets at their estimated fair values as of the date of acquisition.&lt;/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: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;An NCI represents the non-affiliated equity interest in the underlying entity or asset. The Company presents redeemable NCI in its consolidated statements of changes in equity within mezzanine equity. Nonredeemable NCI and redeemable NCI are initially recorded at their fair values. Subsequently, net loss in the underlying entity or asset is only allocated to nonredeemable NCI. Net income in the underlying entity or asset is allocated to nonredeemable NCI and redeemable NCI based on their respective stated rights.&lt;/span&gt;&lt;/p&gt;</fgen:AssetAcquisitionPolicyPolicyTextBlock>
    <us-gaap:RevenueRecognitionPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_297db474-c3f2-46f4-8013-3601c6bf0002">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Revenue Recognition&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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Revenues under collaboration agreements&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;The Company&#x2019;s collaboration agreements include multiple performance obligations comprised of promised services, or bundles of services, that are distinct. Services that are not distinct are combined with other services in the agreement until they form a distinct bundle of services. The Company&#x2019;s process for identifying performance obligations and an enumeration of each obligation for each agreement is outlined in Note 3, &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;Collaboration Agreements, License Agreement and Revenues&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. Determining the performance obligations within a collaboration agreement often involves significant judgment and is specific to the facts and circumstances contained in each agreement.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 identified the following material promises under its collaboration agreements: (1) license of FibroGen technology, (2) the performance of co-development services, including manufacturing of clinical supplies and other services during the development period, and (3) manufacture of commercial supply. The evaluation as to whether these promises are distinct, and therefore represent separate performance obligations, is described in more detail in Note 3, &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;Collaboration Agreements, License Agreement and Revenues&lt;/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: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 revenue recognition purposes, the Company determines that the terms of its collaboration agreements begin on the effective date and end upon the completion of all performance obligations contained in the agreements. In each agreement, the contract term is defined as the period in which parties to the contract have present and enforceable rights and obligations. The Company believes that the existence of what it considers to be substantive termination penalties on the part of the counterparty create sufficient incentive for the counterparty to avoid exercising its right to terminate the agreement.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 transaction price for each collaboration agreement is determined based on the amount of consideration the Company expects to be entitled for satisfying all performance obligations within the agreement. The Company&#x2019;s collaboration agreements include payments to the Company of one or more of the following: non-refundable upfront license fees; co-development billings; development, regulatory, and commercial milestone payments; payments from sales of active pharmaceutical ingredient (&#x201c;API&#x201d;); payments from sales of bulk drug product and royalties on net sales of licensed 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="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;Upfront license fees are non-contingent and non-refundable in nature and are included in the transaction price at the point when the license fees become due to the Company. The Company does not assess whether a contract has a significant financing component if the expectation at contract inception is such that the period between payment by the customer and the transfer of the promised goods or services to the customer will be one year or less.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Co-development billings resulting from the Company&#x2019;s research and development efforts, which are reimbursable under its collaboration agreements, are considered variable consideration. Determining the reimbursable amount of research and development efforts requires detailed analysis of the terms of the collaboration agreements and the nature of the research and development efforts incurred. Prior to CKD approval in the third quarter of 2021, determining the amount of variable consideration from co-development billings required the Company to make estimates of future research and development efforts, which involved significant judgment. Co-development billings are allocated entirely to the co-development services performance obligation when amounts are related specifically to research and development efforts necessary to satisfy the performance obligation, and such an allocation is consistent with the allocation objective.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Milestone payments are also considered variable consideration, which requires the Company to make estimates of when achievement of a particular milestone becomes probable. Similar to other forms of variable consideration, milestone payments are included in the transaction price when it becomes probable that such inclusion would not result in a significant revenue reversal. Milestones are therefore included in the transaction price when achievement of the milestone becomes probable.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 arrangements that include sales-based royalties and for which the license is deemed to be the predominant item to which the royalties relate, the Company recognizes revenue at the later of (i) when the related sales occur, or (ii) when the performance obligation to which some or all of the royalty has been allocated has been satisfied (or partially satisfied). To date, royalty revenue resulting from its collaboration arrangements was immaterial.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 transaction price is allocated to performance obligations based on their relative standalone selling price (&#x201c;SSP&#x201d;), with the exception of co-development billings allocated entirely to co-development services performance obligations. The SSP is determined based on observable prices at which the Company separately sells the products and services. If an SSP is not directly observable, then the Company will estimate the SSP considering marketing conditions, entity-specific factors, and information about the customer or class of customer that is reasonably available. The process for determining SSP involves significant judgment and includes consideration of multiple factors, including assumptions related to the market opportunity and the time needed to commercialize a product candidate pursuant to the relevant license, estimated direct expenses and other costs, which include the rates normally charged by contract research and contract manufacturing organizations for development and manufacturing obligations, and rates that would be charged by qualified outsiders for committee services.&lt;/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: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 judgment may be required in determining whether a performance obligation is distinct, determining the amount of variable consideration to be included in the transaction price, and estimating the SSP of each performance obligation. An enumeration of the Company&#x2019;s significant judgments is outlined in Note 3, &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;Collaboration Agreements, License Agreement and Revenues&lt;/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: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 each performance obligation identified within an arrangement, the Company determines the period over which the promised services are transferred and the performance obligation is satisfied. Service revenue that was recognized over time was based on progress toward complete satisfaction of the performance obligation. For each performance obligation satisfied over time, the Company assesses the proper method to be used for revenue recognition, either an input method to measure progress toward the satisfaction of services or an output method of determining the progress of completion of performance obligation.&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="font-size:10pt;margin-top:18pt;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 under license agreements&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;Under a license agreement, if the license to the Company&#x2019;s intellectual property is determined to be distinct from the other performance obligations identified in the arrangement, the Company recognizes revenues from upfront license fees allocated to the license when the license is transferred to the licensee and the licensee is able to use and benefit from the license. For licenses that are bundled with other promises, the Company determines whether the combined performance obligation is satisfied over time or at a point in time. If the combined performance obligation is satisfied over time, the Company uses judgment in determining the appropriate method of measuring progress for purposes of recognizing revenue from the up-front license fees. The Company evaluates the measure of progress each reporting period and, if necessary, adjusts the measure of performance and related revenue recognition.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;Product revenue, net&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;Product revenue, net consists of revenues from sales of roxadustat commercial product to Falikang, and directly to pharmaceutical distributors located in one province in China that are not covered by Falikang. Falikang is jointly owned by AstraZeneca AB (&#x201c;AstraZeneca&#x201d;) and FibroGen Beijing. The Company is not the primary beneficiary of Falikang for accounting purposes, as AstraZeneca is the final decision maker for all the roxadustat commercialization activities, and the Company lacks the power criterion to direct the activities of Falikang (see Note 5, &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;Equity method investment - Variable Interest Entity&lt;/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;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;Sales to Falikang&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:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Falikang became fully operational in January 2021, at which time FibroGen Beijing began selling roxadustat commercial product to Falikang. Falikang is FibroGen Beijing&#x2019;s primary customer in China and substantially all roxadustat product sales to distributors in China are made by Falikang. Falikang bears inventory risk once it receives and accepts the product from FibroGen Beijing, and is responsible for delivering product to its distributors.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;The promises identified under the AstraZeneca China Agreement (as defined in Note 3, &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;Collaboration Agreements, License Agreement and Revenues&lt;/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 the license, co-development services and manufacturing of commercial supplies have been bundled into a single performance obligation (&#x201c;China performance obligation&#x201d;). Amounts of the transaction price allocable to this performance obligation under the Company&#x2019;s agreements with AstraZeneca as outlined in Note 3, &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;Collaboration Agreements, License Agreement and Revenues,&lt;/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 deferred until control of the manufactured commercial product is transferred to AstraZeneca.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;The initiation of roxadustat sales to Falikang marked the beginning of the China performance obligation&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;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; Revenue is recognized at a point in time when control of roxadustat commercial product is transferred to Falikang. Revenue is recognized based on the estimated transaction price per unit and actual quantity of product delivered during the reporting period. Specifically, the transaction price per unit is determined based on the overall transaction price over the total estimated sales quantity for the estimated performance period in which the Company determined it is likely those sales would occur. The price per unit is subject to reassessment on a quarterly basis, which may result in cumulative catch up adjustments due to changes in estimates.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 overall transaction price for FibroGen Beijing&#x2019;s product sales to Falikang includes the following elements of consideration:&lt;/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="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&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;Non-refundable upfront license fees; development, regulatory, and commercial milestone payments based on the AstraZeneca China Agreement allocated to the China performance obligation;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&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;Co-development billings resulting from the Company&#x2019;s research and development efforts, which are reimbursable under the AstraZeneca China Agreement;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&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;Interim profit/loss share between FibroGen Beijing and AstraZeneca from April 1, 2020 through December 31, 2020; and&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&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;Net transaction price from product sales to Falikang from January 1, 2021 onwards. The net transaction price includes the following elements: &lt;/span&gt;&lt;/div&gt;&lt;/div&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;o&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;Gross transaction price: The gross transaction price is based on a percentage of Falikang&#x2019;s net sales to its distributors, which takes into account Falikang&#x2019;s operating expenses and its payments to AstraZeneca for roxadustat sales and marketing efforts, capped at a percentage of Falikang&#x2019;s net roxadustat sales. &lt;/span&gt;&lt;/div&gt;&lt;/div&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;o&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;Profit share: The gross transaction price is then adjusted for an estimated amount to achieve 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;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;/50 profit share from current period roxadustat net sales in China. The adjustments to date have been a reduction to the transaction price and the related accounts receivable from Falikang. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="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;The non-refundable upfront license fees constitute a fixed consideration. The remainder of the above are variable consideration components, which may be constrained, and included in the transaction price only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period when the uncertainty associated with the variable consideration is subsequently resolved. The calculation of the above variable consideration includes significant assumptions such as total sales quantity, performance period, gross transaction price and profit share, which require significant judgment.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Any net transaction price in excess of the revenue recognized is deferred, and will be recognized over future periods as the performance obligations are satisfied.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;font-style:italic;min-width:fit-content;"&gt;Direct Sales to Distributors&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:justify;"&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 sells roxadustat in China directly to a number of pharmaceutical distributors located in one province in China that are not covered by Falikang. These pharmaceutical distributors are the Company&#x2019;s customers. Hospitals order roxadustat through a distributor and the Company ships the product directly to the distributors. The delivery of roxadustat to a distributor represents a single performance obligation. Distributors are responsible for delivering product to end users, primarily hospitals. Distributors bear inventory risk once they receive and accept the product. Product revenue is recognized when control of the promised good is transferred to the customer in an amount that reflects the consideration that the Company expects to be entitled to in exchange for the product.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&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 period between the transfer of control of the promised goods and when the Company receives payment is based on 60-day payment terms.&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; As such, product revenue is not adjusted for the effects of a significant financing component.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Product revenue is recorded at the net sales prices that includes certain estimates of variable consideration. These estimates include price adjustment calculated based on estimated channel inventory levels when China&#x2019;s National Healthcare Security Administration releases price guidance for roxadustat under the National Reimbursement Drug List, various fixed-amount or percentage-based rebates and discounts recorded as a reduction to revenue at the point of sale to the distributor or when distributor meets eligibility requirements, and estimated sales return as &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;d&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;i&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;stributors can request to return product to the Company only due to quality issues or for product purchased within one year prior to the product&#x2019;s expiration date.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="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;The calculation of the variable consideration is based on gross sales to the distributor, or estimated utilizing best available information from the distributor, maximum known exposures and other available information including estimated channel inventory levels and estimated sales made by the distributor to hospitals, which involve a significant judgment.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;The rebates and discounts all together are eligible to be applied against the distributor&#x2019;s future sales order, limited to certain maximums until such rebates and discounts are exhausted. These rebates and discounts are recorded as contract liabilities at the time they become eligible and in the same period that the related revenue is recorded. Due to the Company&#x2019;s legal right to offset, at each balance sheet date, the rebates and discounts are presented as reductions to gross accounts receivable from the distributor, or as a current liability to the distributor to the extent that the total amount exceeds the gross accounts receivable or when the Company expects to settle the discount in cash. The Company&#x2019;s legal right to offset is determined at the individual distributor level. The contract liabilities were included in accrued and other current liabilities in the consolidated balance sheet. The rebates and discounts reflected as reductions to gross accounts receivable for direct sales.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;Drug product revenue&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;Drug product revenue includes commercial-grade API or bulk drug product sales to AstraZeneca and Astellas Pharma Inc. (&#x201c;Astellas&#x201d;) in support of pre-commercial preparation prior to the New Drug Application (&#x201c;NDA&#x201d;) or Marketing Authorization Application approval, and to Astellas for ongoing commercial activities in Japan and Europe. Drug product revenue is recognized when the Company fulfills the inventory transfer 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="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 amount of variable consideration that is included in the transaction price may be constrained, and is included in the drug product revenue only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period when the uncertainty associated with the variable consideration is subsequently resolved. Estimating variable consideration and the related constraint requires the use of significant management judgment. The Company reviews new information that may affect its variable consideration estimate at every reporting period and records revenue adjustment, if certain and material. Actual amounts of consideration ultimately received in the future may differ from the Company&#x2019;s estimates, for which the Company will adjust these estimates and affect the drug product revenue in the period such variances become known.&lt;/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: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 each of the Company&#x2019;s collaboration agreements provide for annual true up to the considerations paid for its commercial supplies, the Company will re-evaluate the transaction price in each reporting period and record adjustment to revenue as uncertain events are resolved or other changes in circumstances occur.&lt;/span&gt;&lt;/p&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <fgen:ProfitSharePercent
      contextRef="C_5402fc82-dece-4075-8abf-01b346722f6c"
      decimals="2"
      id="F_f5d6d5f0-a8c3-4b80-8d88-1f9dde4ae7dc"
      unitRef="U_pure">0.50</fgen:ProfitSharePercent>
    <us-gaap:RevenuePerformanceObligationDescriptionOfPaymentTerms
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_6713f57a-c118-4493-9fd5-57d2caf7eaaa">The period between the transfer of control of the promised goods and when the Company receives payment is based on 60-day payment terms.</us-gaap:RevenuePerformanceObligationDescriptionOfPaymentTerms>
    <fgen:DescriptionOfSalesReturn
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_3c14eb02-24cf-4854-a708-a64449768efc">distributors can request to return product to the Company only due to quality issues or for product purchased within one year prior to the product&#x2019;s expiration date.</fgen:DescriptionOfSalesReturn>
    <fgen:LicenseAcquisitionAgreementPolicyPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_ae646eb0-ddfd-4ff1-a2bf-18759b4601c3">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;License Acquisition Agreement&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:justify;"&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 2021, the Company entered into an exclusive license and option agreement (the &#x201c;HiFiBiO Agreement&#x201d;) with HiFiBiO Therapeutics (&#x201c;HiFiBiO&#x201d;), pursuant to which the Company exclusively licensed all product candidates in HiFiBiO&#x2019;s Galectin-9 program and subsequently exclusively licensed all product candidates in HiFiBiO&#x2019;s CCR8 program in December 2021. Under the terms of the HiFiBiO Agreement, the Company has paid 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;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 upfront payment to HiFiBiO during the year ended December 31, 2021, and recorded 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;35.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 upfront payment for the CCR8 option exercise in accrued liabilities as of December 31, 2021, which was paid during the first quarter of 2022. HiFiBiO may receive R&amp;amp;D and regulatory milestone payments 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;175&lt;/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 well as sales milestones 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;170&lt;/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. HiFiBiO will also be eligible to receive tiered royalties based upon worldwide net sales capped at &lt;/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;%, subject to certain reductions. We expect to file INDs on product candidates for both the CCR8 and Galectin-9 programs in the first half of 2024.&lt;/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: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;The acquisition of these licenses was accounted for as an asset acquisition. The above-mentioned upfront payments 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;60.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 related to the license and options acquisition meets the definition of an in-process research and development asset (&#x201c;IPR&amp;amp;D asset&#x201d;) under the ASC 730, &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;Research and Development&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. They relate to particular research and development projects and are determined to have no alternative future uses and thus have no separate economic value. Therefore, these upfront payments were recorded as research and development expenses during the year ended December 31, 2021, and the cash payments were reflected as investing activities in the consolidated statement of cash flows during the years ended December 31, 2022 and 2021, respectively.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Contingent consideration payments will be evaluated and recognized when they become probable and reasonably estimable. The related IPR&amp;amp;D asset will only be capitalized if it has an alternative future use other than in a particular research and development project. Otherwise, amounts allocated to IPR&amp;amp;D asset that have no alternative use will be expensed. 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 contingencies related to the milestone payments had not been resolved, therefore no contingent consideration was recognized. The Company will reassess the probability of future option payments and contingent payments on a quarterly basis.&lt;/span&gt;&lt;/p&gt;</fgen:LicenseAcquisitionAgreementPolicyPolicyTextBlock>
    <fgen:InitialUpfrontPayment
      contextRef="C_5a7a4ebd-293a-4eb4-a920-71b0be4627d7"
      decimals="-5"
      id="F_37e6f258-79da-4f81-9edb-83ffd1e771e3"
      unitRef="U_USD">25000000.0</fgen:InitialUpfrontPayment>
    <fgen:InitialUpfrontPayment
      contextRef="C_2427f058-7cf6-4c07-8c55-53020154028d"
      decimals="-5"
      id="F_9661fcaf-6726-48ce-8033-27ca769c86bf"
      unitRef="U_USD">35000000.0</fgen:InitialUpfrontPayment>
    <fgen:MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable
      contextRef="C_5c40f5a4-b2f9-4d93-8739-1517a3536a7c"
      decimals="INF"
      id="F_c5a28df3-bf13-4317-b124-07a486d33455"
      unitRef="U_USD">175000000</fgen:MaximumResearchAndDevelopmentAndRegulatoryMilestonePaymentsReceivable>
    <fgen:MaximumSalesMilestonesReceivable
      contextRef="C_5c40f5a4-b2f9-4d93-8739-1517a3536a7c"
      decimals="INF"
      id="F_caff8a07-1b0f-4bf2-b203-3cca2daa6d9e"
      unitRef="U_USD">170000000</fgen:MaximumSalesMilestonesReceivable>
    <fgen:PercentageOfTieredRoyaltiesReceivable
      contextRef="C_c65ab633-2463-4897-b5a9-04b704f70dae"
      decimals="2"
      id="F_4ee6723b-62ab-49b9-b71f-a4d114d8e707"
      unitRef="U_pure">0.10</fgen:PercentageOfTieredRoyaltiesReceivable>
    <fgen:InitialUpfrontPayment
      contextRef="C_ec9c7a0a-93b4-4511-959e-9016843b7f02"
      decimals="-5"
      id="F_120ef8c2-54ee-4235-b818-5ad215cd9a88"
      unitRef="U_USD">60000000.0</fgen:InitialUpfrontPayment>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_29754095-920a-4f0a-bc5a-e0d723739f8c">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Research and Development Expenses&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;Research and development expenses consist of above-mentioned expense for acquired IPR&amp;amp;D asset, independent research and development costs and the gross amount of costs associated with work performed under collaboration agreements. Research and development costs include employee-related expenses, expenses incurred under agreements with clinical research organizations, other clinical and preclinical costs and allocated direct and indirect overhead costs, such as facilities costs, information technology costs and other overhead. All research and development costs are expensed as 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;/p&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <fgen:ClinicalTrialAccrualPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_eacc80f9-e09a-48ce-bdfb-4d625332c31a">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Clinical Trial Accruals&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;Clinical trial costs are a component of research and development expenses. The Company accrues and expenses clinical trial activities performed by third parties based upon actual work completed in accordance with agreements established with clinical research organizations and clinical sites. The Company determines the costs to be recorded based upon validation with the external service providers as to the progress or stage of completion of trials or services and the agreed-upon fee to be paid for such services.&lt;/span&gt;&lt;/p&gt;</fgen:ClinicalTrialAccrualPolicyTextBlock>
    <us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_7d3725b8-4bb5-4a10-a33e-bab2b92d9f26">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Selling, General and Administrative Expenses&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;Selling, general and administrative (&#x201c;SG&amp;amp;A&#x201d;) expenses consist primarily of employee-related expenses for executive, operational, finance, legal, compliance and human resource functions. SG&amp;amp;A expenses also include facility-related costs, professional fees, accounting and legal services, other outside services including co-promotional expenses associated with our commercialization efforts in China, recruiting fees and expenses associated with obtaining and maintaining patents.&lt;/span&gt;&lt;/p&gt;</us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock>
    <fgen:RestructuringChargePolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_ebd892de-13ce-4fdd-b9f2-48a3cdb0cbb8">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Restructuring Charge&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;A restructuring charge is recognized when the liability is incurred and accrued in the period in which it is probable that the employees are entitled to the restructuring benefits and the amounts can be reasonably estimated. The restructuring liability accrued but not paid at the end of the reporting period is included in accrued and other current liabilities in the consolidated balance sheets.&lt;/span&gt;&lt;/p&gt;</fgen:RestructuringChargePolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_4654740b-b378-43da-b4db-aeb518d2b167">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Income Taxes&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;The Company utilizes the asset and liability method of accounting for income taxes, which requires the recognition of deferred tax assets and liabilities for expected future consequences of temporary differences between the financial reporting and income tax bases of assets and liabilities using enacted tax rates. Management makes estimates, assumptions and judgments to determine the Company&#x2019;s provision for income taxes and for deferred tax assets and liabilities, and any valuation allowances recorded against the Company&#x2019;s deferred tax assets. The Company assesses the likelihood that its deferred tax assets will be recovered from future taxable income and, to the extent the Company believes that recovery is not likely, the Company must establish a valuation allowance.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 calculation of the Company&#x2019;s current provision for income taxes involves the use of estimates, assumptions and judgments while taking into account current tax laws, interpretation of current tax laws and possible outcomes of future tax audits. The Company has established reserves to address potential exposures related to tax positions that could be challenged by tax authorities. Although the Company believes its estimates, assumptions and judgments to be reasonable, any changes in tax law or its interpretation of tax laws and the resolutions of potential tax audits could significantly impact the amounts provided for income taxes in the Company&#x2019;s consolidated financial statements.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 calculation of the Company&#x2019;s deferred tax asset balance involves the use of estimates, assumptions and judgments while taking into account estimates of the amounts and type of future taxable income. Actual future operating results and the underlying amount and type of income could differ materially from the Company&#x2019;s estimates, assumptions and judgments thereby impacting the Company&#x2019;s financial position and results of operations.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 adopted ASC 740-10, &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;Accounting for Uncertainty in Income Taxes&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, that prescribes a recognition threshold and measurement attribute for the financial statement recognition and measurement of uncertain tax positions taken or expected to be taken in the Company&#x2019;s income tax return, and also provides guidance on derecognition, classification, interest and penalties, accounting in interim periods, disclosure and transition.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 includes interest and penalties related to unrecognized tax benefits within income tax expense in the Consolidated Statements of Operations.&lt;/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:IncomeTaxPolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_8ef075d3-b134-45fa-8755-99c1eebb7e0c">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Stock-Based Compensation&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;The Company maintains equity incentive plans under which equity awards are granted to employees, which are comprised of stock options, service-based restricted stock units (&#x201c;RSUs&#x201d;), performance-based RSUs (&#x201c;PRSUs&#x201d;), and total shareholder return (&#x201c;TSR&#x201d;) awards.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 measures and recognizes compensation expense for all stock options, RSUs and PRSUs granted to its employees and directors based on the estimated fair value of the award on the grant date. The Company uses the Black-Scholes valuation model to estimate the fair value of stock option awards. The determination of the grant date fair value of options using the Black-Scholes valuation model is affected by the Company&#x2019;s estimated common stock fair value and requires management to make a number of assumptions including the expected life of the option, the volatility of the underlying stock, the risk-free interest rate and expected dividends. The Company determines the fair value of RSUs and PRSUs using the fair value of our common stock on the date of grant. To estimate the fair value of the TSR awards, the Company uses the Monte Carlo valuation model to simulate the probabilities of achievement, which requires management to make a number of assumptions including 30-day average price, volatility of the underlying stock and the Company&#x2019;s peers, and the 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; &lt;/span&gt;&lt;/p&gt;&lt;p style="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 compensation cost of service-based stock options and restricted stock units is recognized net of any estimated forfeitures on a straight-line basis over the employee requisite service period. Compensation cost for PRSUs is expensed over the respective vesting periods when the achievement of performance criteria is probable. Compensation cost for the TSR awards is recognized over the requisite service period, regardless of when, if ever, the market condition is satisfied.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 believes that the fair value of stock options granted to non-employees is more reliably measured than the fair value of the services received.&lt;/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:2pt;font-family:Times New Roman;margin-bottom:0;text-align: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 stock options using the Black-Scholes option valuation model. The fair value of employee stock options and RSUs is being amortized on a straight-line basis over the requisite service period of the awards. Compensation cost for PRSUs is expensed over the respective vesting periods when the achievement of performance criteria is probable. The Company estimates the fair value of the TSR awards using the Monte Carlo valuation model to simulate the probabilities of achievement. Compensation cost for the TSR awards is recognized over the requisite service period, regardless of when, if ever, the market condition is satisfied. The fair market value of common stock is based on the closing price of the Company&#x2019;s common stock as reported on the Nasdaq Global Select Market on the date of the grant.&lt;/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: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 employee stock-based compensation is estimated using the following assumptions:&lt;/span&gt;&lt;/p&gt;&lt;div style="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.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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; Expressed as a weighted-average, the expected life of the options is based on the average period the stock options are expected to be outstanding and was based on the Company&#x2019;s historical information of the option exercise patterns and post-vesting termination behavior as well as contractual terms of the instruments. The expected term of 2014 ESPP shares is the average of the remaining purchase periods under each offering period. The expected term of TSR awards is determined based on the grant date to the end of the performance period.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="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.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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; The Company considers its historical volatility data for volatility considerations for all of its stock-based compensation types except for its TSR awards, which is based on a blend of the Company&#x2019;s and comparable public entities&#x2019; historical volatility.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="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.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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; Expressed as a weighted-average, the risk-free interest rate assumption is based on the U.S. Treasury instruments whose term was consistent with the expected term of the Company&#x2019;s respective stock-based compensation types.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="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.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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; The Company has never declared or paid any cash dividends and does not plan to pay cash dividends in the foreseeable future.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_c9840e03-d954-4ab9-9d43-2c1b88b16b56">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Comprehensive Income (Loss)&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;The Company is required to report all components of comprehensive income (loss), including net loss, in the consolidated financial statements in the period in which they are recognized. Comprehensive income (loss) is defined as the change in equity during a period from transactions and other events and circumstances from non-owner sources, including unrealized gains and losses on investments and foreign currency translation adjustments. Comprehensive gains (losses) have been reflected in the consolidated statements of comprehensive income (loss) for all periods presented.&lt;/span&gt;&lt;/p&gt;</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <fgen:RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_cc3dc9c0-bbfd-44eb-ab76-38a6d039a0ad">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Recently Issued Accounting Guidance Not Yet Adopted&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;In November 2023, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) No. 2023-07,&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; Segment Reporting (Topic 280): Improvements to Reportable Segment 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 all public entities, including public entities with a single reportable segment, to provide in interim and annual periods one or more measures of segment profit or loss used by the chief operating decision maker to allocate resources and assess performance. In addition, this guidance requires disclosures of significant segment expenses and other segment items as well as incremental qualitative disclosures. This guidance is effective for fiscal years beginning after December 15, 2023, and interim periods after December 15, 2024, with retrospective application required, and early adoption permitted. The Company is currently in the process of evaluating the effects of this guidance on its 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; &lt;/span&gt;&lt;/p&gt;&lt;p style="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 2023, the FASB issued ASU 2023-09,&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&lt;/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 enhanced income tax disclosures, including specific categories and disaggregation of information in the effective tax rate reconciliation, disaggregated information related to income taxes paid, income or loss from continuing operations before income tax expense or benefit, and income tax expense or benefit from continuing operations. This guidance is effective for annual periods beginning after December 15, 2024, with early adoption permitted. The Company is currently in the process of evaluating the impact of this pronouncement on its related disclosures.&lt;/span&gt;&lt;/p&gt;</fgen:RecentlyIssuedAccountingGuidanceNotYetAdoptedPolicyTextBlock>
    <fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_9bc88062-ae68-4f79-b691-0ba2c6b94713">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;3.	Collaboration Agreements, License Agreement and Revenues&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Astellas Agreements&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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Astellas Japan Agreement&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;In June 2005, the Company entered into a collaboration agreement with Astellas for the development and commercialization (but not manufacture) of roxadustat for the treatment of anemia in Japan (&#x201c;Astellas Japan Agreement&#x201d;). Under this agreement, Astellas paid license fees and other consideration 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;40.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 (such amounts were fully received as of February 2009). Under the Astellas Japan Agreement, the Company is also eligible to receive from Astellas an aggregate 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;132.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 potential milestone payments, comprised of (i) 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;22.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 milestone payments upon achievement of specified clinical and development milestone events (such amounts were fully received as of July 2016), (ii) 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;95.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 milestone payments upon achievement of specified regulatory milestone events, and (iii) up to 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.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 milestone payments upon the achievement of specified commercial sales milestone. The Astellas Japan Agreement also provides for tiered payments based on net sales of product (as defined) in &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 low 20% range of the list price&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; published by the Japanese Ministry of Health, Labour and Welfare, adjusted for certain elements, after commercial launch.&lt;/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: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 amount of the considerations received under the Astellas Japan Agreement, through December 31, 2023 totals &lt;/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;105.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, excluding drug product revenue that is discussed under the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below. Based on its current development plans for roxadustat in Japan, the Company does not expect to receive most or all of the additional potential milestones under the Astellas Japan 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="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 2018, FibroGen and Astellas entered into an amendment to the Astellas Japan Agreement that allows Astellas to manufacture roxadustat drug product for commercialization in Japan (the &#x201c;Astellas Japan Amendment&#x201d;). Under this amendment, FibroGen would continue to manufacture and supply roxadustat API&lt;/span&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; &lt;/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 Astellas for the roxadustat commercial activities in Japan. The commercial terms of the Astellas Japan Agreement relating to the transfer price for roxadustat for commercial use remain substantially the same, reflecting an adjustment for the manufacture of drug product by Astellas rather than FibroGen. The related drug product revenue is described under the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/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:18pt;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;Astellas Europe Agreement&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;In April 2006, the Company entered into a separate collaboration agreement with Astellas for the development and commercialization of roxadustat for the treatment of anemia in Europe, the Middle East, the Commonwealth of Independent States and South Africa (&#x201c;Astellas Europe Agreement&#x201d;). Under the terms of the Astellas Europe Agreement, Astellas paid license fees and other upfront consideration 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;320.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 (such amounts were fully received as of February 2009). The Astellas Europe Agreement also provides for additional development and regulatory approval milestone payments 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;425.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, comprised of (i) 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;90.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 milestone payments upon achievement of specified clinical and development milestone events (such amounts were fully received as of 2012), and (ii) 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;335.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 milestone payments upon achievement of specified regulatory milestone events. Under the Astellas Europe Agreement, Astellas committed to fund &lt;/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 joint development costs for Europe and North America, and all territory-specific costs. The Astellas Europe Agreement also provides for tiered payments based on net sales of product (as defined) in the &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;low 20% range&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;&lt;p style="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 March 21, 2022, EVRENZO&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; (roxadustat) was registered with the Russian Ministry of Health. The Company evaluated the regulatory milestone payment associated with the approval in Russia under the Astellas Europe Agreement and concluded that this milestone was achieved in the first quarter of 2022. Accordingly, the consideration 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.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 associated with this milestone was included in the transaction price and allocated to performance obligations under the Astellas Europe Agreement, all of which was recognized as revenue during the year ended December 31, 2022 from performance obligations satisfied.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 third quarter of 2021, the European Commission approved EVRENZO&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; (roxadustat) for the treatment of adult patients with symptomatic anemia associated with CKD. Astellas has launched EVRENZO in Germany, the United Kingdom, the Netherlands, and Austria. This approval triggered a total 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;120.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 milestone payable to the Company by Astellas under the Astellas Europe Agreement. Accordingly, the consideration 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;120.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 associated with these milestones was included in the transaction price and allocated to performance obligations under the Astellas Europe Agreement, all of which was recognized as revenue during the year ended December 31, 2021 from performance obligations satisfied.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 amount of the considerations received under the Astellas Europe Agreement through December 31, 2023 totals &lt;/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;685.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, excluding drug product revenue that is discussed under the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below. Based on its current development plans for roxadustat in Europe, the Company does not expect to receive most or all of the additional potential milestones under the Astellas Europe 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="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 Astellas Europe Agreement, Astellas has an option to purchase roxadustat bulk drug product in support of commercial supplies. During the first quarter of 2021, the Company entered into an EU Supply Agreement with Astellas (&#x201c;Astellas EU Supply Agreement&#x201d;) to define general forecast, order, supply and payment terms for Astellas to purchase roxadustat bulk drug product from FibroGen in support of commercial supplies. The related drug product revenue is described under the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/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:18pt;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;Accounting for the Astellas Agreements&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;For each of the Astellas agreements, the Company has evaluated the promised services within the respective arrangements and has identified performance obligations representing those services and bundles of services that are distinct.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Promised services that were not distinct have been combined with other promised services to form a distinct bundle of promised services, with revenue being recognized on the bundle of services rather than the individual services. There are no right-of-return provisions for the delivered items in the Astellas agreements.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 transaction price for the Astellas Japan Agreement, excluding manufacturing services that is discussed separately below, 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;40.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 non-contingent upfront payments, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65.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 variable consideration related to payments for milestones achieved, 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;12.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 of variable consideration related to co-development billings. The transaction price for the Astellas Europe Agreement, excluding manufacturing services that is discussed separately below, 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;320.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 non-contingent upfront payments, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;365.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 variable consideration related to payments for milestones achieved, 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;220.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 variable consideration related to co-development billings.&lt;/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: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 technology license under the Astellas Japan Agreement and the Astellas Europe Agreement, SSP was determined primarily by using the discounted cash flow (&#x201c;DCF&#x201d;) method, which aggregates the present value of future cash flows to determine the valuation as of the effective date of each of the agreements. The DCF method involves the following key steps: 1) the determination of cash flow forecasts and 2) the selection of a range of comparative risk-adjusted discount rates to apply against the cash flow forecasts. The discount rates selected were based on expectations of the total rate of return, the rate at which capital would be attracted to the Company and the level of risk inherent within the Company. The discounts applied in the DCF analysis ranged from &lt;/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.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;% 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;20.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;%. The Company&#x2019;s cash flow forecasts were derived from probability-adjusted revenue and expense projections by territory. Such projections included consideration of taxes and cash flow adjustments. The probability adjustments were made after considering the likelihood of technical success at various stages of clinical trials and regulatory approval phases. SSP also considered certain future royalty payments associated with commercial performance of the Company&#x2019;s compounds, transfer prices and expected gross margins.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 promised services that were analyzed, along with their general timing of satisfaction and recognition as revenue, are as follows:&lt;/span&gt;&lt;/p&gt;&lt;div style="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;font-style:italic;min-width:4.537%;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;font-style:italic;min-width:fit-content;"&gt;License to the Company&#x2019;s technology existing at the effective date of the agreements.&lt;/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 both of the Astellas agreements, the license was delivered at the beginning of the agreement term. In both cases, the Company concluded at the time of the agreement that its collaboration partner, Astellas, would have the knowledge and capabilities to fully exploit the licenses without the Company&#x2019;s further involvement. However, the Astellas Japan Agreement has contractual limitations that might affect Astellas&#x2019; ability to fully exploit the license and therefore, potentially, the conclusion as to whether the license is capable of being distinct. The Company considered the fact that at the time of delivery of the license, the development services were beyond the preclinical development phase and any remaining development work in either agreement would not be expected to result in any significant modification or customization to the licensed technology. As such, the development services are separately identifiable from the licensed technology, indicating that the license is a distinct performance obligation. The portion of the transaction price allocated to this performance obligation based on a relative SSP basis was recognized as revenue in its entirety at the point in time the license transfers to Astellas.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Co-development services (Astellas Europe 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;This promise relates to co-development services that were reasonably expected to be performed by the Company at the time the collaboration agreement was signed and is considered distinct. Co-development billings are allocated entirely to the co-development services performance obligation as amounts are related specifically to research and development efforts necessary to satisfy the performance obligation related to CKD approval, and such an allocation is consistent with the allocation objective. Through the third quarter of 2021 upon the approval of CKD, revenue was recognized over time based on progress toward complete satisfaction of the performance obligation. The Company used an input method to measure progress toward the satisfaction of the performance obligation, which was based on costs of labor hours and out-of-pocket expenses incurred relative to total expected costs to be incurred. Subsequently, the Company accounts for the development services for the indications related to chemotherapy-induced anemia and myelodysplastic syndromes separately as services are provided. There w&lt;/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 &lt;/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; provision for co-development services in the Astellas Japan Agreement. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;License to the Company&#x2019;s technology developed during the term of the agreement and development (referred to as &#x201c;when and if available&#x201d;) and information sharing services. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;These promises are generally satisfied throughout the term of the agreements.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Manufacturing of clinical supplies of 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; This promise is satisfied as supplies for clinical product are delivered for use in the Company&#x2019;s clinical trial programs during the development period, or pre-commercialization period.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Committee service&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. This promise is satisfied throughout the course of the agreements as meetings are attended.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:4.533%;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;Items (2)-(5) are bundled into a single performance obligation that is distinct given the fact that all are highly interrelated during the development period (pre-commercial phase of development) such that satisfying them independently is not practicable. For the revenue recognized over time based on progress toward complete satisfaction of the performance obligation, the Company uses an input method to measure progress toward the satisfaction of the performance obligation, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred, and updates the measure of progress in each reporting period.&lt;/span&gt;&lt;/p&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Manufacturing commercial supplies of 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; This promised service is distinct as services are not interrelated with any of the other performance obligations. Payments received for commercial supplies of products represent sales-based payments related predominately to the license of intellectual property under both Astellas agreements. Revenue is recognized as supplies are shipped for commercial use during the commercialization period. See the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:4.533%;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 Astellas Japan Amendment, the drug product revenue represents variable consideration and is estimated based on the quantity of product shipped, actual listed price for roxadustat issued by the Japanese Ministry of Health, Labour and Welfare and possible future changes to the listed price, adjusted for the timing of and estimated bulk product strength mix intended to be manufactured by Astellas, estimated cost to convert the API to bulk drug product tablets, and estimated yield from the manufacture of bulk product tablets, among others.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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 Astellas Europe Agreement, the drug product revenue amount represents variable consideration and is estimated based on the quantity of product transferred and an estimated price. The estimated price is based on the contractual transfer price percentage applied on the estimated weighted average net sales price per strength, which is estimated to be realized by Astellas from the end sale of roxadustat in its approved territories.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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 Revenue and Development Revenue Recognized Under the Astellas 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="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;License amounts identified below are included in the &#x201c;License revenue&#x201d; line item in the consolidated statements of operations. All other elements identified below are included in the &#x201c;Development and other revenue&#x201d; line item in the consolidated statements of operations.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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;Amounts recognized as license revenue and development revenue under the Astellas Japan Agreement were as follows 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 (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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:24.725%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.98%;"&gt;&lt;/td&gt;
          &lt;td style="width:22.404%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.98%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.983%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.98%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.983%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.98%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.983%;"&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 style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Agreement&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;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;Performance Obligation&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: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;Astellas Japan Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Development 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align: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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The transaction price related to consideration received through &lt;/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 accounts receivable has been allocated to each of the following performance obligations under the Astellas Japan Agreement, along with any associated deferred revenue as follows (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:10pt;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:64.48%;"&gt;&lt;/td&gt;
          &lt;td style="width:2.72%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:30.799999999999997%;"&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;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;Astellas Japan Agreement&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;Total Consideration&lt;br/&gt;&#160;Through &lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;License&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;100,347&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Development 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: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;17,092&lt;/span&gt;&lt;/p&gt;&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:bottom;"&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 license and development 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;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;117,439&lt;/span&gt;&lt;/p&gt;&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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&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: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; license rev&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;enue or development revenue resulting from changes to estimated variable consideration in the current period relating to performance obligations satisfied or partially satisfied in previous periods for the year ended 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; under the Astellas Japan Agreement. The Company does &lt;/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;t expect material variable consideration from estimated future co-development billing beyond the development period in the transaction price related to the Astellas Japan Agreement.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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;Amounts recognized as license revenue and development revenue under the Astellas Europe Agreement were as follows 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 (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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:23.405%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.78%;"&gt;&lt;/td&gt;
          &lt;td style="width:20.264%;"&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:14.403%;"&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:14.403%;"&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:14.403%;"&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 style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Agreement&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;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;Performance Obligation&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: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;Astellas Europe Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;License 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,590&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;108,434&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Development 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,452&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,624&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,679&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align: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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The transaction price related to consideration received through &lt;/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 accounts receivable has been allocated to each of the following performance obligations under the Astellas Europe Agreement, along with any associated deferred revenue as follows (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:10pt;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:64.48%;"&gt;&lt;/td&gt;
          &lt;td style="width:2.72%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:30.799999999999997%;"&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;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;Astellas Europe Agreement&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;Total Consideration&lt;br/&gt;&#160;Through &lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;License&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;618,975&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Development 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;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;286,717&lt;/span&gt;&lt;/p&gt;&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 license and development 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;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;905,692&lt;/span&gt;&lt;/p&gt;&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="text-indent:-2.557%;padding-left:2.507%;font-size:10pt;margin-top:2pt;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="font-size:10pt;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;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; license revenue or development revenue resulting from changes to estimated variable consideration in the current period relating to performance obligations satisfied or partially satisfied in previous periods 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&lt;/span&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 Astellas Europe Agreement. The Company does &lt;/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;t expect material variable consideration from estimated future co-development billing beyond the development period in the transaction price related to the Astellas Europe Agreement.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;AstraZeneca Agreements&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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;AstraZeneca U.S./Rest of World (&#x201c;RoW&#x201d;) Agreement&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;Effective July 30, 2013, the Company entered into a collaboration agreement with AstraZeneca for the development and commercialization of roxadustat for the treatment of anemia in the U.S. and all other countries in the world, other than China, not previously licensed under the Astellas Europe and Astellas Japan Agreements (&#x201c;AstraZeneca U.S./RoW Agreement&#x201d;). The AstraZeneca U.S./RoW Agreement was terminated on February 23, 2024 (except South Korea). China is covered by a separate agreement with AstraZeneca described below. Under the terms of the AstraZeneca U.S./RoW Agreement, AstraZeneca paid upfront, non-contingent, non-refundable and time-based payments 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;374.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 (such amounts were fully received as of June 2016). Under the AstraZeneca U.S./RoW Agreement, AstraZeneca also agreed to pay an aggregate 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;875.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 potential milestone payments, comprised of (i) 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;65.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 milestone payments upon achievement of specified clinical and development milestone events, (ii) 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;325.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 milestone payments upon achievement of specified regulatory milestone events, (iii) 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;160.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 milestone payments related to activity by potential competitors and (iv) up to 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;325.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 milestone payments upon the achievement of specified commercial sales events.&lt;/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: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 AstraZeneca U.S./RoW Agreement, the Company and AstraZeneca equally share in the development costs of roxadustat not already paid for by Astellas, up to a total 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;233.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 (i.e. the Company&#x2019;s share of development costs 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;116.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, which was reached in 2015). Development costs incurred by FibroGen during the development period in excess 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;233.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 (aggregated spend) are fully reimbursed by AstraZeneca.&lt;/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: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 amount of the considerations received under the AstraZeneca U.S./RoW Agreement through December 31, 2023 totals &lt;/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;439.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, excluding drug product revenue that is discussed under the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/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: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 2020, the Company entered into a Master Supply Agreement with AstraZeneca under the AstraZeneca U.S./RoW Agreement (&#x201c;AstraZeneca Master Supply Agreement&#x201d;) to define general forecast, order, supply and payment terms for AstraZeneca to purchase roxadustat bulk drug product from FibroGen in support of commercial supplies. The related drug product revenue is described under the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;AstraZeneca China Agreement&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;Effective July 30, 2013, the Company (through its subsidiaries affiliated with China) entered into a collaboration agreement with AstraZeneca for the development and commercialization (but not manufacture) of roxadustat for the treatment of anemia in China (&#x201c;AstraZeneca China Agreement&#x201d;). Under the terms of the AstraZeneca China Agreement, AstraZeneca agreed to pay upfront consideration 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;28.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 (such amounts were fully received in 2014). Under the AstraZeneca China Agreement, the Company is also eligible to receive from AstraZeneca an aggregate 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;348.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 potential milestone payments, comprised of (i) 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;15.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 milestone payments upon achievement of specified clinical and development milestone events, (ii) 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;146.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 milestone payments upon achievement of specified regulatory milestone events, and (iii) up to 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;187.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 milestone payments upon the achievement of specified commercial sales and other events. The AstraZeneca China Agreement is structured as a 50/50 profit or loss share (as defined), which was amended under the AstraZeneca China Amendment in 2020 as discussed below, and provides for joint development costs (including capital and equipment costs for construction of the manufacturing plant in China), to be shared equally during the development period.&lt;/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: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 amount of the considerations received for milestone and upfront payments under the AstraZeneca China Agreement through December 31, 2023 totals &lt;/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;77.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="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;p style="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 September 18, 2023, the Company received the formal notice, from Beijing Medical Products Administration, of renewal of its right to continue to market roxadustat in China through 2028. The Company evaluated the regulatory milestone payment associated with this renewal under the AstraZeneca China Agreement and concluded that this milestone was achieved in the third quarter of 2023. Accordingly, the consideration 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.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 associated with this milestone was included in the transaction price and allocated to performance obligations under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, $&lt;/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 which was recognized as revenue during the year ended December 31, 2023 from performance obligations satisfied or partially satisfied. A&lt;/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 of December 31, 2023, 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 $&lt;/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 milestone was recorded as a contract asset and was fully &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;netted against the contract liabilities (deferred revenue) related to the AstraZeneca U.S./RoW Agreement and AstraZeneca China Agreement.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;AstraZeneca China Amendment&lt;/span&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; &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;In July 2020, FibroGen China Anemia Holdings, Ltd., FibroGen Beijing, and FibroGen International (Hong Kong) Limited and AstraZeneca entered into an amendment, relating to the development and commercialization of roxadustat in China (the &#x201c;AstraZeneca China Amendment&#x201d;). Under the AstraZeneca China Amendment, in 2020, FibroGen Beijing and AstraZeneca completed the establishment of a jointly owned entity, Falikang, which performs roxadustat distribution, as well as conducts sales and marketing through AstraZeneca.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 AstraZeneca China Amendment, with effect from April 1, 2020, AstraZeneca&#x2019;s co-promotion expenses for their sales and marketing efforts are subject to a cap of a percentage of net sales. In addition, the AstraZeneca China Amendment has allowed for a higher cost of manufacturing incurred by FibroGen Beijing to be included in the profit or loss share calculation, subject to an annual cap, among other changes.&lt;/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: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 co-promotion expenses 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;, capped at a percentage of net roxadustat sales in China, 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;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, $&lt;/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.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 $&lt;/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, respectively, included in the selling, general and administrative expenses.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 AstraZeneca China Amendment, profit/loss share between FibroGen Beijing and AstraZeneca is based on a calculation of the current period net roxadustat sales in China and deductible expenses pursuant to the AstraZeneca China Agreement. Based on the calculation revised under the AstraZeneca China Amendment, profit was achieved during 2020. As a result, the Company recorded a corresponding one-time profit share liability to AstraZeneca, the balance of which 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;7.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="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="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;7.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&lt;/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 December 31, 2023 and 2022, respectively, in accrued and other current liabilities in the consolidated balance sheet.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Substantially all direct roxadustat product sales to distributors in China are made by Falikang, while FibroGen Beijing continues to sell roxadustat product directly in one province in China. FibroGen Beijing manufactures and supplies commercial product to Falikang based on a gross transaction price, adjusted for the estimated profit share. In addition, AstraZeneca bills the co-promotion expenses to Falikang and to FibroGen Beijing, respectively, for its services provided to the respective entity. AstraZeneca is entitled to reimbursement of its sales and marketing expenses up to a cumulative capped amount of a percentage of net sales. Once such amount is reached, AstraZeneca will bill the co-promotion expenses based on actual costs as incurred plus a markup on a prospective basis, which is currently expected to continue through 2033. Development costs continue to be shared 50/50 between the Parties.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 related net product revenue recognized from the sales to Falikang and the sales directly to distributors are discussed under the &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;Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;Accounting for the AstraZeneca Agreements&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;The Company evaluated whether the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement should be accounted for as a single or separate arrangements and concluded that the agreements should be accounted for as a single arrangement with the presumption that two or more agreements executed with a single customer at or around the same time should be presumed to be a single arrangement. The key points the Company considered in reaching this conclusion 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;div style="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.537%;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;While the two agreements were largely negotiated separately, those negotiations proceeded concurrently, and were intended to be completed contemporaneously, presuming AstraZeneca&lt;/span&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; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;decided to proceed with licenses in all regions available. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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.537%;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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Throughout negotiations for both agreements, the Company and the counterparties understood and considered the possibility that one arrangement may be executed without the execution of the other arrangement. However, the preference for the Company and the counterparties during the negotiations was to execute both arrangements concurrently. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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.537%;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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The two agreements were executed as separate agreements because different development, regulatory and commercial approaches required certain terms of the agreements to be structured differently, rather than because the Company or the counterparties considered the agreements to be fundamentally separate negotiations.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="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;Accordingly, as the agreements are being accounted for as a single arrangement, upfront and other non-contingent consideration received and to be received has been and will be pooled together and allocated to each of the performance obligations in both the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement based on their relative SSPs.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 each of the AstraZeneca agreements, the Company has evaluated the promised services within the respective arrangements and has identified performance obligations representing those services and bundled services that are distinct.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Promised services that were not distinct have been combined with other promised services to form a distinct bundle of promised services, with revenue being recognized on the bundle of services rather than the individual promised services. There are no right-of-return provisions for the delivered items in the AstraZeneca agreements.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 transaction price for the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, excluding manufacturing services that is discussed separately below, 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;402.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 non-contingent upfront payments, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;118.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 variable consideration related to payments for milestones considered probable of being achieved, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;614.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 variable consideration related to co-development billings, offset by &lt;/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;7.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; of variable consideration related to the above-mentioned one-time profit share under the AstraZeneca China Amendment.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 AstraZeneca agreements, the Company allocated the transaction price to the various performance obligations based on the relative SSP of each performance obligation, with the exception of co-development billings and commercial sale of product. Co-development billings under the AstraZeneca U.S./RoW Agreement were allocated entirely to the U.S./RoW co-development services performance obligation, and co-development billings under the AstraZeneca China Agreement were allocated entirely to the combined performance obligation under the AstraZeneca China Agreement. Commercial sale of product under the AstraZeneca U.S./ROW Agreement is entirely allocated to the manufacturing commercial supply of products performance obligation, and commercial sale of product under the AstraZeneca China Agreement is allocated entirely to the combined China performance obligation.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 revenue recognition purposes, the Company determined that the terms of its collaboration agreements with AstraZeneca begin on the effective date and end upon the completion of all performance obligations contained in the agreements. The contract term is defined as the period in which parties to the contract have present and enforceable rights and obligations. The Company believes that the requirement to continue funding development for a substantive period of time and the loss of product rights, along with non-refundable upfront payments already remitted by AstraZeneca, represent substantive termination penalties that create significant disincentive for AstraZeneca to exercise its right to terminate the agreement.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 technology license under the AstraZeneca U.S./RoW Agreement, SSP was determined based on a two-step process. The first step involved determining an implied royalty rate that would result in the net present value of future cash flows to equal to zero (i.e. where the implied royalty rate on the transaction would equal the target return for the investment). This results in an upper bound estimation of the magnitude of royalties that a hypothetical acquirer would reasonably pay for the forecasted cash flow stream. The Company&#x2019;s cash flow forecasts were derived from probability-adjusted revenue and expense projections. Such projections included consideration of taxes and cash flow adjustments. The probability adjustments were made after considering the likelihood of technical success at various stages of clinical trials and regulatory approval phases. The second step involved applying the implied royalty rate, which was determined 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;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;%, against the probability-adjusted projected net revenues by territory and determining the value of the license as the net present value of future cash flows after adjusting for taxes. The discount rate utilized 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;17.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;%.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;AstraZeneca U.S./RoW Agreement:&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;The promised services that were analyzed, along with their general timing of satisfaction and recognition as revenue, are as follows:&lt;/span&gt;&lt;/p&gt;&lt;div style="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;font-style:italic;min-width:4.537%;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;font-style:italic;min-width:fit-content;"&gt;License to the Company&#x2019;s technology existing at the effective date of the agreements.&lt;/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 the AstraZeneca U.S./RoW Agreement, the license was delivered at the beginning of the agreement term. The Company concluded that AstraZeneca has the knowledge and capabilities to fully exploit the license under the AstraZeneca U.S./RoW Agreement without the Company&#x2019;s further involvement. Finally, the Company considered the fact that at the time of delivery of the license, the development services were beyond the preclinical development phase and any remaining development work would not be expected to result in any significant modification or customization to the licensed technology. As such, the development services are separately identifiable from the licensed technology, indicating that the license is a distinct performance obligation. Therefore, the Company has concluded that the license is distinct and represents a performance obligation. The portion of the transaction price allocated to this performance obligation based on a relative SSP basis is recognized as revenue in its entirety at the point in time the license transfers to AstraZeneca.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Co-development services. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;This promise relates to co-development services that were reasonably expected to be performed by the Company at the time the collaboration agreement was signed and is distinct. Co-development billings are allocated entirely to the co-development services performance obligation as amounts are related specifically to research and development efforts necessary to satisfy the performance obligation, and such an allocation is consistent with the allocation objective. Through the end of 2021, revenue was recognized over time based on progress toward complete satisfaction of the performance obligation. The Company used an input method to measure progress toward the satisfaction of the performance obligation related to CKD approval, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred. Subsequently, the Company accounts for the development services for other significant indications related to chemotherapy-induced anemia and myelodysplastic syndromes separately as services are provided.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Manufacturing of clinical supplies of 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; This promise is satisfied as supplies for clinical product are delivered for use in the Company&#x2019;s clinical trial programs during the development period, or pre-commercialization period.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Information sharing and committee service.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; These promises are satisfied throughout the course of the agreement as services are provided.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:4.533%;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;Items (2)-(4) are bundled into a single performance obligation that is distinct given the fact that all are highly interrelated during the development period (pre-commercial phase of development) such that delivering them independently is not practicable. For the revenue recognized over time based on progress toward complete satisfaction of the performance obligation, the Company uses an input method to measure progress toward the satisfaction of the performance obligation, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred, and updates the measure of progress in each reporting period.&lt;/span&gt;&lt;/p&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Manufacturing commercial supplies of 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;This promise is distinct as services are not interrelated with any of the other performance obligations. Revenue is recognized as supplies are shipped for commercial use during the commercialization period. The drug product revenue amount represents variable consideration and is estimated based on the quantity of product shipped and an estimated price for each individual purchase order. The estimated price is based on the contractual transfer price percentage applied on the estimated weighted average net sales price, which is estimated to be realized by AstraZeneca from the end sale of roxadustat in its approved territories. See the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;AstraZeneca China Agreement:&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;The promised services that were analyzed are consistent with the AstraZeneca U.S./RoW Agreement, except for license to the Company&#x2019;s technology existing at the effective date of the agreement, described as follows:&lt;/span&gt;&lt;/p&gt;&lt;div style="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.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&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;font-style:italic;min-width:fit-content;"&gt;License to the Company&#x2019;s technology existing at the effective date of the 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; The license was delivered at the beginning of the agreement term. However, the AstraZeneca China Agreement has contractual limitations that might affect AstraZeneca&#x2019;s ability to fully exploit the license and therefore, potentially, the conclusion as to whether the license is distinct in the context of the agreement. In the AstraZeneca China Agreement, AstraZeneca does not have the right to manufacture commercial supplies of the drug. In order to determine whether this characteristic of the arrangement should lead to a conclusion that the license was not distinct in the context of the agreement, the Company considered the ability of AstraZeneca to benefit from the license on its own or together with other resources readily available to AstraZeneca.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="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 AstraZeneca China Agreement, the Company retained manufacturing rights as an essential part of a strategy to pursue domestic regulatory pathway for product approval, which requires the regulatory licensure of the manufacturing facility in order to commence commercial shipment. The prospects for the collaboration as a whole would have been substantially different had manufacturing rights been provided to AstraZeneca. The Company holds the rights to manufacture commercial drug product in China. Therefore, AstraZeneca cannot benefit from the license on its own or together with other readily available resources. Accordingly, all the promises identified, including the license, co-development services and manufacturing of commercial supplies, under the AstraZeneca China Agreement have been bundled into a single performance obligation and amounts of the transaction price allocable to this performance obligation are deferred until control of the manufactured commercial drug product has begun to transfer to AstraZeneca.&lt;/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: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 accordance with the AstraZeneca China Amendment, substantially all product sales will be made by Falikang directly to the distributors in China, while the Company continues to sell directly in one province in China. Revenue is recognized at a point in time when control of roxadustat commercial product is transferred to Falikang. For the Company&#x2019;s direct sales of commercial drug product, revenue is recognized when control of the promised good is transferred to the customer in an amount that reflects the consideration that the Company expects to be entitled to in exchange for the product. See the &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;Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:18pt;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 Revenue and Development Revenue Recognized Under the AstraZeneca 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;div style="font-size:10pt;font-family:Times New Roman;"&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;Amounts recognized as license revenue and development revenue under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement were as follows 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 (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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:30.386%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.344%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.342%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.342%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.342%;"&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 style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Agreement&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;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;Performance Obligation&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: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;AstraZeneca U.S./RoW Agreement and AstraZeneca China Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;License 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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,649&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Development revenue&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,473&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;48,345&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align: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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The transaction price related to consideration received through &lt;/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 accounts receivable has been allocated to each of the following performance obligations under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, along with any associated deferred revenue as follows (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:10pt;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:38.898%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.111%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:16.093%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.111%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:16.093%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:3.334%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.36%;"&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;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;AstraZeneca U.S./RoW Agreement and &lt;br/&gt;AstraZeneca China Agreement&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;Cumulative Revenue &lt;br/&gt;Through &lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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;Deferred Revenue at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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;Total Consideration&lt;br/&gt;&#160;Through &lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;License&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;344,493&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;344,493&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Co-development, information sharing &amp;amp; &lt;br/&gt;&#160;&#160;committee 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;625,111&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;625,111&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;China performance obligation *&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;195,789&lt;/span&gt;&lt;/p&gt;&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;179,851&lt;/span&gt;&lt;/p&gt;&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;375,640&lt;/span&gt;&lt;/p&gt;&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 license and development 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;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;1,165,393&lt;/span&gt;&lt;/p&gt;&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;179,851&lt;/span&gt;&lt;/p&gt;&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="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: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;1,345,244&lt;/span&gt;&lt;/p&gt;&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="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:86.667%;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:6pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;*  China performance obligation revenue is recognized as product revenue, as described in details under &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;Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/span&gt;&lt;/p&gt;&lt;p id="highlight_result_11" 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;**  Contract assets and liabilities related to rights and obligations in the same contract are recorded net on the consolidated balance sheets. As of December 31, 2023, deferred revenue included &lt;/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;153.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; related to the AstraZeneca U.S./RoW and the AstraZeneca China Agreement, which represents the net 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;179.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&lt;/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 deferred revenue presented above and a &lt;/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;26.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; unbilled milestone and co-development revenue under 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;AstraZeneca China Amendment&lt;/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: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; license rev&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;enue or development revenue resulting from changes to estimated variable consideration in the current period relating to performance obligations satisfied or partially satisfied in previous periods for the year ended 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 remainder of the transaction price related to the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement 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;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 of variable consideration from estimated future co-development billing and is expected to be recognized over the remaining development service period, except for amounts allocated to the China performance obligation. The amount allocated to the China performance obligation is expected to be recognized as the Company transfers control of the commercial drug product to Falikang, and is expected to continue through 2033, which reflects the Company&#x2019;s best estimates, taking into account its estimated loss of exclusivity upon expiry of its composition of matter patent in 2024, its existing patent portfolio, and competition from generics.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Product Revenue, Net&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;Product revenue, net from the sales of roxadustat commercial product in China was as follows 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 (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:10pt;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.309%;"&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:14.743%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:14.743%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:14.743%;"&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;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:bottom;"&gt;&lt;p style="font-size:10pt;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;Direct Sales:&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 colspan="2" style="vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 revenue&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;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,190&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,366&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;/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: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;Discounts and rebates&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,298&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;665&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;1,740&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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;Sales returns&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;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&lt;/span&gt;&lt;/p&gt;&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&lt;/span&gt;&lt;/p&gt;&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;83&lt;/span&gt;&lt;/p&gt;&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:bottom;"&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;Direct sales revenue, net&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;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,894&lt;/span&gt;&lt;/p&gt;&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,702&lt;/span&gt;&lt;/p&gt;&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;12,070&lt;/span&gt;&lt;/p&gt;&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="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&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="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 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;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;Sales to Falikang:&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 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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 transaction price&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;154,817&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;112,544&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;97,531&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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;Profit share&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;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;66,254&lt;/span&gt;&lt;/p&gt;&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;43,716&lt;/span&gt;&lt;/p&gt;&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;34,759&lt;/span&gt;&lt;/p&gt;&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:10pt;white-space:pre-wrap;vertical-align:bottom;"&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 transaction price&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,563&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,828&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;62,772&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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:bottom;"&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;Decrease (increase) in deferred revenue&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;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;492&lt;/span&gt;&lt;/p&gt;&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,339&lt;/span&gt;&lt;/p&gt;&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;27,204&lt;/span&gt;&lt;/p&gt;&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:bottom;"&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;Sales to Falikang revenue, net&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;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;89,055&lt;/span&gt;&lt;/p&gt;&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,167&lt;/span&gt;&lt;/p&gt;&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;35,568&lt;/span&gt;&lt;/p&gt;&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:30pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:30pt;text-indent:0;font-size:10pt;margin-top:0;font-family: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, net&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;td style="white-space:nowrap;vertical-align:top;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:top;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,949&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;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:top;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:top;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,869&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;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:top;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:top;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,638&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;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:18pt;font-family:Times New Roman;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;Direct Sales&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;Product revenue from direct roxadustat product sales to distributors in China is recognized in an amount that reflects the consideration that the Company expects to be entitled to in exchange for those products, net of sales rebates and discounts.&lt;/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: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 discounts and rebates consisted of the price adjustments recorded based on government-listed price guidance and estimated channel inventory levels, the contractual sales rebate calculated based on the stated percentage of gross sales by each distributor in the distribution agreement entered between FibroGen and each distributor, and other rebates and discounts, as well as sales return allowance. The total discounts and rebates were immaterial 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: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;Due to the Company&#x2019;s legal right to offset, at each balance sheet date, the rebates and discounts are presented as reductions to gross accounts receivable from the distributor, or as a current liability to the distributor to the extent that the total amount exceeds the gross accounts receivable or when the Company expects to settle the discount in cash. The Company&#x2019;s legal right to offset is determined at the individual distributor level. The contract liabilities were included in accrued and other current liabilities in the consolidated balance sheet and were immaterial as of December 31, 2023 and 2022. The rebates and discounts were reflected as reductions to gross accounts receivable for direct sales and were immaterial as of December 31, 2023 and 2022.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;Sales to Falikang &#x2013; China Performance Obligation&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;Substantially all direct roxadustat product sales to distributors in China are made by Falikang. FibroGen Beijing manufactures and supplies commercial product to Falikang. The net transaction price for FibroGen Beijing&#x2019;s product sales to Falikang is based on a gross transaction price, adjusted for the estimated profit 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; &lt;/span&gt;&lt;/p&gt;&lt;p style="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 roxadustat sales to Falikang marked the beginning of the Company&#x2019;s China performance obligation under the Company&#x2019;s agreements with AstraZeneca&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;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; Product revenue is based on the transaction price of the China performance obligation. Revenue is recognized when control of the product is transferred to Falikang, in an amount that reflects the allocation of the transaction price to the performance obligation satisfied during the reporting period. Any net transaction price in excess of the revenue recognized is added to the deferred balance to date, and will be recognized in future periods as the performance obligation is satisfied.&lt;/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: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;Periodically, the Company updates its assumptions such as total sales quantity, performance period, gross transaction price,  profit share and other inputs including foreign currency translation impact, among others. Following updates to its estimates, the Company recognized &lt;/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;0.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; from the previously deferred revenue of the China performance obligation during the year ended December 31, 2023. The product revenue recognized for the year ended 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; included a decrease in revenue 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;2.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 resulting from changes to estimated variable consideration in the current period relating to performance obligation satisfied in previous 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;Comparatively, following updates to its estimates, the Company recognized &lt;/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;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&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; from the previously deferred revenue of the China performance obligation during the year ended 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; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 includes a roll-forward of the related deferred revenue that is considered as a contract liability (in thousands):&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:35.734%;"&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.945%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:10.425%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.441%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.704%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:9.965%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:10.425%;"&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;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 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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Additions&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Recognized as Revenue&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Currency&lt;br/&gt;Translation&lt;br/&gt;and Other&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;Product revenue - AstraZeneca China &lt;br/&gt;&#160;&#160;&#160;performance obligation - deferred revenue&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;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;175,646&lt;/span&gt;&lt;/p&gt;&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;94,099&lt;/span&gt;&lt;/p&gt;&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;89,055&lt;/span&gt;&lt;/p&gt;&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;839&lt;/span&gt;&lt;/p&gt;&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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;179,851&lt;/span&gt;&lt;/p&gt;&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="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;Deferred revenue includes amounts allocated to the China performance obligation under the AstraZeneca arrangement as revenue recognition associated with this unit of accounting is tied to the commercial launch of the products within China and to when the control of the manufactured commercial products is transferred to AstraZeneca. 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;, 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;32.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 above deferred revenue related to the China unit of accounting was included in short-term deferred revenue, which represents the amount of deferred revenue associated with the China unit of accounting that is expected to be recognized within the next 12 months, associated with the commercial sales in China.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Due to the Company&#x2019;s legal right to offset, at each balance sheet date, the rebates and discounts, mainly related to profit sharing, are presented as reductions to gross accounts receivable from Falikang, 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;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 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.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 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.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Drug Product Revenue, Net&lt;/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="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;Drug product revenue from commercial-grade &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;API or bulk drug product sales to Astellas and AstraZeneca was as follows for the years ended December 31, 2023, 2022 and 2021 (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="font-size: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;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:38.5%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.96%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:17.74%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.96%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:15.940000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.96%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:15.940000000000001%;"&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;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;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Astellas Japan Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,656&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,480&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-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;2,056&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Astellas Europe Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,097&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;1,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;/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;AstraZeneca U.S./RoW Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;&#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;text-align:left;"&gt;&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,224&lt;/span&gt;&lt;/p&gt;&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:15pt;white-space:pre-wrap;vertical-align:bottom;"&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;Drug product revenue, net&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;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;18,753&lt;/span&gt;&lt;/p&gt;&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;11,086&lt;/span&gt;&lt;/p&gt;&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;962&lt;/span&gt;&lt;/p&gt;&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:18pt;font-family:Times New Roman;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;Astellas Japan Agreement&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 year ended December 31, 2021, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Astellas Japan Amendment, and accordingly recorded adjustments to the drug product revenue 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;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. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect the changes in the estimated bulk product strength mix intended to be manufactured by &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Astellas, estimated cost to convert the API to bulk product tablets, and estimated yield from the manufacture of bulk product tablets, among others.&lt;/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: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 first quarter of 2022, the Company fulfilled a shipment obligation under the terms of Astellas Japan Amendment, and recognized related drug product revenue 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 in the same period. During the fourth quarter of 2022, the Company fulfilled a shipment obligation under the terms of Astellas Japan Amendment, and recognized related drug product revenue 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.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 same period. In addition, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Japan Amendment with Astellas, and recorded a reduction to the drug product revenue 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.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 during the year ended December 31, 2022. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect foreign currency translation impact, the changes in the estimated bulk product strength mix intended to be manufactured by Astellas, estimated cost to convert the API to bulk product tablets, and estimated yield from the manufacture of bulk product tablets, among others.&lt;/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: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 second quarter 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; 2023, the Company fulfilled two shipment obligations under the terms of Astellas Japan Amendment, and recognized related drug product revenue 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.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 same period. In addition, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Astellas Japan Amendment and accordingly recorded an adjustment to the drug product revenue 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.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 for the year ended December 31, 2023. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect the changes in the estimated bulk product strength mix intended to be manufactured by Astellas, foreign exchange impacts and estimated yield from the manufacture of bulk product tablets, among others. &lt;/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 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 balances related to the API price true-up under the Astellas Japan Agreement 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.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 accrued liabilities 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.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 other long-term liabilities, representing the Company&#x2019;s best estimate of the timing for these amounts to be paid. As of December 31, 2022, the related balance in accrued liabilities 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.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;.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;Astellas Europe Agreement&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 first quarter of 2021, the Company transferred bulk drug product from process validation supplies for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement. The Company recorded the consideration 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.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 from this inventory transfer as deferred revenue as of December 31, 2021, due to a high degree of uncertainty associated with the final consideration. During the fourth quarter of 2021, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing 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;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 as drug product revenue, and 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;8.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 as deferred revenue as of December 31, 2021, due to a high degree of uncertainty associated with the final consideration. In addition, during the fourth quarter of 2021, the Company updated its estimate of variable consideration related to the bulk drug product inventory transfers fulfilled under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recorded an unbilled contract asset 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;49.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, which was offset by related deferred revenue under the Astellas Europe Agreement and Astellas EU Supply Agreement. Specifically, the change in estimated variable consideration was based on the bulk drug product held by Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, among others.&lt;/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: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 second quarter of 2022, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing 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;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 as drug product revenue, and 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;23.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 as deferred revenue due to a high degree of uncertainty associated with the variable consideration for revenue recognition purposes. During the first quarter of 2022, the Company billed and received $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;49.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 from Astellas related to the annual transfer price true up for bulk drug product transferred for commercial purposes. This amount was recorded in deferred revenue and netted against an unbilled contract asset as of December 31, 2021. In addition, the Company updated its estimate of variable consideration related to the bulk drug product transferred in prior years. Specifically, the change in estimated variable consideration was based on the bulk drug product held by &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, forecast information, shelf-life estimates and other items. &lt;/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 a result, during the year ended December 31, 2022, the Company reclassified a total 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;57.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 from the related deferred revenue to accrued 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;, which was paid to Astellas 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;p style="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, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing 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;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 as drug product revenue, and 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;17.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 as deferred revenue due to a high degree of uncertainty associated with the variable consideration for revenue recognition purposes. In addition, the Company updated its estimate of variable consideration related to the bulk drug product transferred in prior years. Specifically, the change in estimated variable consideration was based on the bulk drug product held by Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, forecast information, shelf-life estimates and other items. As a result, &lt;/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 the year ended December 31, 2023, the Company reclassified $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;38.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 from the related deferred revenue to accrued 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;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 related balance in accrued liabilities 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;38.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, representing the Company&#x2019;s best estimate that this amount will be paid within the next 12 months.&lt;/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: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 addition, the Company recognized royalty revenue 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;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 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 as drug product revenue from the deferred revenue under the Astellas Europe Agreement 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 and 2022, respectively. The remainder of the deferred revenue will be recognized as and when uncertainty is resolved, based on the performance of roxadustat product sales in the Astellas territory.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 includes a roll-forward of the above-mentioned deferred revenues that are considered as contract liabilities related to drug product (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:10pt;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:42.5%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&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;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 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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Additions&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Recognized as Revenue&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Reclassified to Accrued Liability / Accounts Payable&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Drug product revenue - deferred revenue:&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 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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-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: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 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;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;Astellas Europe Agreement&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;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;40,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="color:#000000;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;17,674&lt;/span&gt;&lt;/p&gt;&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;2,306&lt;/span&gt;&lt;/p&gt;&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;38,746&lt;/span&gt;&lt;/p&gt;&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: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: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;16,925&lt;/span&gt;&lt;/p&gt;&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="font-size: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="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;AstraZeneca U.S./RoW Agreement&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 years ended December 31, 2021 and 2020, the Company shipped bulk drug product to AstraZeneca as commercial supply under the terms of the Master Supply Agreement. Based on the complete response letter issued by the U.S. Food and Drug Administration in August 2021, the Company evaluated the impact of these developments in revising its estimates of variable consideration associated with drug product revenue. As a result, the Company updated the estimated transaction price for these shipments, and 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;11.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 as deferred revenue as of December 31, 2021. The related drug product revenue 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;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 for the year ended December 31, 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 first quarter of 2022, the Company evaluated the current developments in the U.S. market, and updated its estimates of variable consideration associated with bulk drug product shipments to AstraZeneca in prior years as commercial supply. As a result, during the year ended December 31, 2022, the Company reclassified $&lt;/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.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 from the related deferred revenue to accrued liabilities, which remained unchanged 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;, representing its best estimate that this amount will be paid within the next 12 months.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Eluminex Agreements&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;In July 2021, FibroGen exclusively licensed to Eluminex Biosciences (Suzhou) Limited (&#x201c;Eluminex&#x201d;) global rights to its investigational biosynthetic cornea derived from recombinant human collagen Type III.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 terms of the agreement with Eluminex&lt;/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 amended and restated in January 2022, Eluminex made an $&lt;/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.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 upfront payment to FibroGen during the first quarter of 2022. In addition, FibroGen may receive up to a total 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;64.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 future manufacturing, clinical, regulatory, and commercial milestone payments for the biosynthetic cornea program, as well 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;36.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 commercial milestones for the first recombinant collagen III product that is not the biosynthetic cornea. FibroGen will also be eligible to receive mid single-digit to low double-digit royalties based upon worldwide net sales of cornea products, and low single-digit to mid single-digit royalties based upon worldwide n&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;et sales of other recombinant human collagen type III products that are not cornea products.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 this agreement 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;Revenue from Contracts with Customers&lt;/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 identified &lt;/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; performance obligation at inception of the agreement related to the granting of the license rights to the investigational biosynthetic cornea derived from recombinant human collagen Type III. The Company based its assessment on the determination that Eluminex can benefit from the granted license on its own by developing and commercializing the underlying product using its own resources. All components of the transaction price in the agreement were allocated to the single performance obligation. The remaining future variable consideration related to future manufacturing, clinical, regulatory milestone payments as described above were fully constrained because the Company cannot conclude that it is probable that a significant reversal of the amount of cumulative revenue recognized will not occur, given the inherent uncertainties of success with these future milestones. For commercial milestones and royalties, the Company determined that the license is the predominant item to which the royalties or sales-based milestones relate and revenue will be recognized when the corresponding milestones and royalties are earned.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 April 2023, FibroGen and Eluminex entered into an Amended and Restated Exclusive License Agreement (&#x201c;A&amp;amp;R Eluminex Agreement&#x201d;) in order to add to the license rights to recombinant human collagen Type I (in addition to the rights to collagen Type III that were already licensed). The A&amp;amp;R Eluminex Agreement included additional total upfront payments 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.&lt;/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: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 year ended December 31, 2023, the Company 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;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 milestone payment based on Eluminex implanting a biosynthetic cornea in the first patient of its clinical trial in China, 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;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 manufacturing related milestone payment 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;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 upfront payment, as license revenue for the performance obligation satisfied &lt;/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 included in license revenue in the consolidated statement of operations. In addition, 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;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;0.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 upfront payment related to patent transfer under the A&amp;amp;R Eluminex Agreement as other revenue a&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;nd included in development and other revenue in the consolidated statement of operations.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 year ended December 31, 2021, the Company recognized &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;an $&lt;/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.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 upfront payment to FibroGen &lt;/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 license revenue for the performance obligation satisfied and included in license revenue in the consolidated statement of operations.&lt;/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: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 first quarter of 2022, FibroGen and Eluminex entered into a separate contract manufacturing agreement, under which the Company was responsible for supplying the cornea product at cost plus &lt;/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 its product manufacturing costs until its manufacturing technology is fully transferred to Eluminex, which occurred by the end 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;Supply of the cornea product will be managed by a separate agreement and is considered a separate performance obligation. The related contract manufacturing revenue was recorded as other revenue and included in development and other revenue in the consolidated statement of operations.&lt;/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="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;Amounts recognized as revenue under the agreements with Eluminex were as follows 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 (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:10pt;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:12.665%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.701%;"&gt;&lt;/td&gt;
        &lt;td style="width:33.593%;"&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.645000000000001%;"&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.645000000000001%;"&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.645000000000001%;"&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 style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Agreement&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;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;Performance Obligation&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: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;Eluminex&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;License 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;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;8,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;/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="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family: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 revenue - patent transfer&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;text-align:left;"&gt;&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;&#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="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family: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 revenue - contract manufacturing&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;966&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,761&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-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;&#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;/table&gt;&lt;/div&gt;</fgen:CollaborativeArrangementAndRevenuesDisclosureTextBlock>
    <fgen:CollaborativeArrangementAndRevenuesPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_8146c856-a958-4da2-b900-1f08e15ad682">&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;min-width:fit-content;"&gt;Astellas Agreements&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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Astellas Japan Agreement&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;In June 2005, the Company entered into a collaboration agreement with Astellas for the development and commercialization (but not manufacture) of roxadustat for the treatment of anemia in Japan (&#x201c;Astellas Japan Agreement&#x201d;). Under this agreement, Astellas paid license fees and other consideration 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;40.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 (such amounts were fully received as of February 2009). Under the Astellas Japan Agreement, the Company is also eligible to receive from Astellas an aggregate 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;132.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 potential milestone payments, comprised of (i) 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;22.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 milestone payments upon achievement of specified clinical and development milestone events (such amounts were fully received as of July 2016), (ii) 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;95.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 milestone payments upon achievement of specified regulatory milestone events, and (iii) up to 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.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 milestone payments upon the achievement of specified commercial sales milestone. The Astellas Japan Agreement also provides for tiered payments based on net sales of product (as defined) in &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 low 20% range of the list price&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; published by the Japanese Ministry of Health, Labour and Welfare, adjusted for certain elements, after commercial launch.&lt;/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: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 amount of the considerations received under the Astellas Japan Agreement, through December 31, 2023 totals &lt;/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;105.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, excluding drug product revenue that is discussed under the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below. Based on its current development plans for roxadustat in Japan, the Company does not expect to receive most or all of the additional potential milestones under the Astellas Japan 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="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 2018, FibroGen and Astellas entered into an amendment to the Astellas Japan Agreement that allows Astellas to manufacture roxadustat drug product for commercialization in Japan (the &#x201c;Astellas Japan Amendment&#x201d;). Under this amendment, FibroGen would continue to manufacture and supply roxadustat API&lt;/span&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; &lt;/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 Astellas for the roxadustat commercial activities in Japan. The commercial terms of the Astellas Japan Agreement relating to the transfer price for roxadustat for commercial use remain substantially the same, reflecting an adjustment for the manufacture of drug product by Astellas rather than FibroGen. The related drug product revenue is described under the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/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:18pt;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;Astellas Europe Agreement&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;In April 2006, the Company entered into a separate collaboration agreement with Astellas for the development and commercialization of roxadustat for the treatment of anemia in Europe, the Middle East, the Commonwealth of Independent States and South Africa (&#x201c;Astellas Europe Agreement&#x201d;). Under the terms of the Astellas Europe Agreement, Astellas paid license fees and other upfront consideration 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;320.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 (such amounts were fully received as of February 2009). The Astellas Europe Agreement also provides for additional development and regulatory approval milestone payments 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;425.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, comprised of (i) 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;90.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 milestone payments upon achievement of specified clinical and development milestone events (such amounts were fully received as of 2012), and (ii) 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;335.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 milestone payments upon achievement of specified regulatory milestone events. Under the Astellas Europe Agreement, Astellas committed to fund &lt;/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 joint development costs for Europe and North America, and all territory-specific costs. The Astellas Europe Agreement also provides for tiered payments based on net sales of product (as defined) in the &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;low 20% range&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;&lt;p style="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 March 21, 2022, EVRENZO&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; (roxadustat) was registered with the Russian Ministry of Health. The Company evaluated the regulatory milestone payment associated with the approval in Russia under the Astellas Europe Agreement and concluded that this milestone was achieved in the first quarter of 2022. Accordingly, the consideration 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.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 associated with this milestone was included in the transaction price and allocated to performance obligations under the Astellas Europe Agreement, all of which was recognized as revenue during the year ended December 31, 2022 from performance obligations satisfied.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 third quarter of 2021, the European Commission approved EVRENZO&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; (roxadustat) for the treatment of adult patients with symptomatic anemia associated with CKD. Astellas has launched EVRENZO in Germany, the United Kingdom, the Netherlands, and Austria. This approval triggered a total 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;120.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 milestone payable to the Company by Astellas under the Astellas Europe Agreement. Accordingly, the consideration 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;120.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 associated with these milestones was included in the transaction price and allocated to performance obligations under the Astellas Europe Agreement, all of which was recognized as revenue during the year ended December 31, 2021 from performance obligations satisfied.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 amount of the considerations received under the Astellas Europe Agreement through December 31, 2023 totals &lt;/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;685.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, excluding drug product revenue that is discussed under the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below. Based on its current development plans for roxadustat in Europe, the Company does not expect to receive most or all of the additional potential milestones under the Astellas Europe 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="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 Astellas Europe Agreement, Astellas has an option to purchase roxadustat bulk drug product in support of commercial supplies. During the first quarter of 2021, the Company entered into an EU Supply Agreement with Astellas (&#x201c;Astellas EU Supply Agreement&#x201d;) to define general forecast, order, supply and payment terms for Astellas to purchase roxadustat bulk drug product from FibroGen in support of commercial supplies. The related drug product revenue is described under the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/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:18pt;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;Accounting for the Astellas Agreements&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;For each of the Astellas agreements, the Company has evaluated the promised services within the respective arrangements and has identified performance obligations representing those services and bundles of services that are distinct.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Promised services that were not distinct have been combined with other promised services to form a distinct bundle of promised services, with revenue being recognized on the bundle of services rather than the individual services. There are no right-of-return provisions for the delivered items in the Astellas agreements.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 transaction price for the Astellas Japan Agreement, excluding manufacturing services that is discussed separately below, 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;40.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 non-contingent upfront payments, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65.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 variable consideration related to payments for milestones achieved, 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;12.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 of variable consideration related to co-development billings. The transaction price for the Astellas Europe Agreement, excluding manufacturing services that is discussed separately below, 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;320.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 non-contingent upfront payments, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;365.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 variable consideration related to payments for milestones achieved, 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;220.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 variable consideration related to co-development billings.&lt;/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: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 technology license under the Astellas Japan Agreement and the Astellas Europe Agreement, SSP was determined primarily by using the discounted cash flow (&#x201c;DCF&#x201d;) method, which aggregates the present value of future cash flows to determine the valuation as of the effective date of each of the agreements. The DCF method involves the following key steps: 1) the determination of cash flow forecasts and 2) the selection of a range of comparative risk-adjusted discount rates to apply against the cash flow forecasts. The discount rates selected were based on expectations of the total rate of return, the rate at which capital would be attracted to the Company and the level of risk inherent within the Company. The discounts applied in the DCF analysis ranged from &lt;/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.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;% 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;20.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;%. The Company&#x2019;s cash flow forecasts were derived from probability-adjusted revenue and expense projections by territory. Such projections included consideration of taxes and cash flow adjustments. The probability adjustments were made after considering the likelihood of technical success at various stages of clinical trials and regulatory approval phases. SSP also considered certain future royalty payments associated with commercial performance of the Company&#x2019;s compounds, transfer prices and expected gross margins.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 promised services that were analyzed, along with their general timing of satisfaction and recognition as revenue, are as follows:&lt;/span&gt;&lt;/p&gt;&lt;div style="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;font-style:italic;min-width:4.537%;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;font-style:italic;min-width:fit-content;"&gt;License to the Company&#x2019;s technology existing at the effective date of the agreements.&lt;/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 both of the Astellas agreements, the license was delivered at the beginning of the agreement term. In both cases, the Company concluded at the time of the agreement that its collaboration partner, Astellas, would have the knowledge and capabilities to fully exploit the licenses without the Company&#x2019;s further involvement. However, the Astellas Japan Agreement has contractual limitations that might affect Astellas&#x2019; ability to fully exploit the license and therefore, potentially, the conclusion as to whether the license is capable of being distinct. The Company considered the fact that at the time of delivery of the license, the development services were beyond the preclinical development phase and any remaining development work in either agreement would not be expected to result in any significant modification or customization to the licensed technology. As such, the development services are separately identifiable from the licensed technology, indicating that the license is a distinct performance obligation. The portion of the transaction price allocated to this performance obligation based on a relative SSP basis was recognized as revenue in its entirety at the point in time the license transfers to Astellas.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Co-development services (Astellas Europe 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;This promise relates to co-development services that were reasonably expected to be performed by the Company at the time the collaboration agreement was signed and is considered distinct. Co-development billings are allocated entirely to the co-development services performance obligation as amounts are related specifically to research and development efforts necessary to satisfy the performance obligation related to CKD approval, and such an allocation is consistent with the allocation objective. Through the third quarter of 2021 upon the approval of CKD, revenue was recognized over time based on progress toward complete satisfaction of the performance obligation. The Company used an input method to measure progress toward the satisfaction of the performance obligation, which was based on costs of labor hours and out-of-pocket expenses incurred relative to total expected costs to be incurred. Subsequently, the Company accounts for the development services for the indications related to chemotherapy-induced anemia and myelodysplastic syndromes separately as services are provided. There w&lt;/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 &lt;/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; provision for co-development services in the Astellas Japan Agreement. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;License to the Company&#x2019;s technology developed during the term of the agreement and development (referred to as &#x201c;when and if available&#x201d;) and information sharing services. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;These promises are generally satisfied throughout the term of the agreements.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Manufacturing of clinical supplies of 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; This promise is satisfied as supplies for clinical product are delivered for use in the Company&#x2019;s clinical trial programs during the development period, or pre-commercialization period.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Committee service&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. This promise is satisfied throughout the course of the agreements as meetings are attended.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:4.533%;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;Items (2)-(5) are bundled into a single performance obligation that is distinct given the fact that all are highly interrelated during the development period (pre-commercial phase of development) such that satisfying them independently is not practicable. For the revenue recognized over time based on progress toward complete satisfaction of the performance obligation, the Company uses an input method to measure progress toward the satisfaction of the performance obligation, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred, and updates the measure of progress in each reporting period.&lt;/span&gt;&lt;/p&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Manufacturing commercial supplies of 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; This promised service is distinct as services are not interrelated with any of the other performance obligations. Payments received for commercial supplies of products represent sales-based payments related predominately to the license of intellectual property under both Astellas agreements. Revenue is recognized as supplies are shipped for commercial use during the commercialization period. See the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:4.533%;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 Astellas Japan Amendment, the drug product revenue represents variable consideration and is estimated based on the quantity of product shipped, actual listed price for roxadustat issued by the Japanese Ministry of Health, Labour and Welfare and possible future changes to the listed price, adjusted for the timing of and estimated bulk product strength mix intended to be manufactured by Astellas, estimated cost to convert the API to bulk drug product tablets, and estimated yield from the manufacture of bulk product tablets, among others.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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 Astellas Europe Agreement, the drug product revenue amount represents variable consideration and is estimated based on the quantity of product transferred and an estimated price. The estimated price is based on the contractual transfer price percentage applied on the estimated weighted average net sales price per strength, which is estimated to be realized by Astellas from the end sale of roxadustat in its approved territories.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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 Revenue and Development Revenue Recognized Under the Astellas 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="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;License amounts identified below are included in the &#x201c;License revenue&#x201d; line item in the consolidated statements of operations. All other elements identified below are included in the &#x201c;Development and other revenue&#x201d; line item in the consolidated statements of operations.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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;Amounts recognized as license revenue and development revenue under the Astellas Japan Agreement were as follows 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 (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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:24.725%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.98%;"&gt;&lt;/td&gt;
          &lt;td style="width:22.404%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.98%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.983%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.98%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.983%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.98%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.983%;"&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 style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Agreement&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;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;Performance Obligation&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: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;Astellas Japan Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Development 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align: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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The transaction price related to consideration received through &lt;/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 accounts receivable has been allocated to each of the following performance obligations under the Astellas Japan Agreement, along with any associated deferred revenue as follows (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:10pt;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:64.48%;"&gt;&lt;/td&gt;
          &lt;td style="width:2.72%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:30.799999999999997%;"&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;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;Astellas Japan Agreement&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;Total Consideration&lt;br/&gt;&#160;Through &lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;License&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;100,347&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Development 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: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;17,092&lt;/span&gt;&lt;/p&gt;&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:bottom;"&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 license and development 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;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;117,439&lt;/span&gt;&lt;/p&gt;&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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&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: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; license rev&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;enue or development revenue resulting from changes to estimated variable consideration in the current period relating to performance obligations satisfied or partially satisfied in previous periods for the year ended 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; under the Astellas Japan Agreement. The Company does &lt;/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;t expect material variable consideration from estimated future co-development billing beyond the development period in the transaction price related to the Astellas Japan Agreement.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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;Amounts recognized as license revenue and development revenue under the Astellas Europe Agreement were as follows 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 (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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:23.405%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.78%;"&gt;&lt;/td&gt;
          &lt;td style="width:20.264%;"&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:14.403%;"&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:14.403%;"&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:14.403%;"&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 style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Agreement&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;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;Performance Obligation&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: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;Astellas Europe Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;License 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,590&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;108,434&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Development 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,452&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,624&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,679&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align: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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The transaction price related to consideration received through &lt;/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 accounts receivable has been allocated to each of the following performance obligations under the Astellas Europe Agreement, along with any associated deferred revenue as follows (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:10pt;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:64.48%;"&gt;&lt;/td&gt;
          &lt;td style="width:2.72%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:30.799999999999997%;"&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;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;Astellas Europe Agreement&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;Total Consideration&lt;br/&gt;&#160;Through &lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;License&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;618,975&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Development 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;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;286,717&lt;/span&gt;&lt;/p&gt;&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 license and development 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;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;905,692&lt;/span&gt;&lt;/p&gt;&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="text-indent:-2.557%;padding-left:2.507%;font-size:10pt;margin-top:2pt;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="font-size:10pt;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;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; license revenue or development revenue resulting from changes to estimated variable consideration in the current period relating to performance obligations satisfied or partially satisfied in previous periods 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&lt;/span&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 Astellas Europe Agreement. The Company does &lt;/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;t expect material variable consideration from estimated future co-development billing beyond the development period in the transaction price related to the Astellas Europe Agreement.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;AstraZeneca Agreements&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-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;AstraZeneca U.S./Rest of World (&#x201c;RoW&#x201d;) Agreement&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;Effective July 30, 2013, the Company entered into a collaboration agreement with AstraZeneca for the development and commercialization of roxadustat for the treatment of anemia in the U.S. and all other countries in the world, other than China, not previously licensed under the Astellas Europe and Astellas Japan Agreements (&#x201c;AstraZeneca U.S./RoW Agreement&#x201d;). The AstraZeneca U.S./RoW Agreement was terminated on February 23, 2024 (except South Korea). China is covered by a separate agreement with AstraZeneca described below. Under the terms of the AstraZeneca U.S./RoW Agreement, AstraZeneca paid upfront, non-contingent, non-refundable and time-based payments 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;374.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 (such amounts were fully received as of June 2016). Under the AstraZeneca U.S./RoW Agreement, AstraZeneca also agreed to pay an aggregate 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;875.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 potential milestone payments, comprised of (i) 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;65.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 milestone payments upon achievement of specified clinical and development milestone events, (ii) 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;325.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 milestone payments upon achievement of specified regulatory milestone events, (iii) 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;160.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 milestone payments related to activity by potential competitors and (iv) up to 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;325.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 milestone payments upon the achievement of specified commercial sales events.&lt;/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: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 AstraZeneca U.S./RoW Agreement, the Company and AstraZeneca equally share in the development costs of roxadustat not already paid for by Astellas, up to a total 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;233.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 (i.e. the Company&#x2019;s share of development costs 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;116.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, which was reached in 2015). Development costs incurred by FibroGen during the development period in excess 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;233.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 (aggregated spend) are fully reimbursed by AstraZeneca.&lt;/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: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 amount of the considerations received under the AstraZeneca U.S./RoW Agreement through December 31, 2023 totals &lt;/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;439.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, excluding drug product revenue that is discussed under the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/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: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 2020, the Company entered into a Master Supply Agreement with AstraZeneca under the AstraZeneca U.S./RoW Agreement (&#x201c;AstraZeneca Master Supply Agreement&#x201d;) to define general forecast, order, supply and payment terms for AstraZeneca to purchase roxadustat bulk drug product from FibroGen in support of commercial supplies. The related drug product revenue is described under the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;AstraZeneca China Agreement&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;Effective July 30, 2013, the Company (through its subsidiaries affiliated with China) entered into a collaboration agreement with AstraZeneca for the development and commercialization (but not manufacture) of roxadustat for the treatment of anemia in China (&#x201c;AstraZeneca China Agreement&#x201d;). Under the terms of the AstraZeneca China Agreement, AstraZeneca agreed to pay upfront consideration 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;28.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 (such amounts were fully received in 2014). Under the AstraZeneca China Agreement, the Company is also eligible to receive from AstraZeneca an aggregate 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;348.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 potential milestone payments, comprised of (i) 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;15.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 milestone payments upon achievement of specified clinical and development milestone events, (ii) 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;146.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 milestone payments upon achievement of specified regulatory milestone events, and (iii) up to 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;187.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 milestone payments upon the achievement of specified commercial sales and other events. The AstraZeneca China Agreement is structured as a 50/50 profit or loss share (as defined), which was amended under the AstraZeneca China Amendment in 2020 as discussed below, and provides for joint development costs (including capital and equipment costs for construction of the manufacturing plant in China), to be shared equally during the development period.&lt;/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: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 amount of the considerations received for milestone and upfront payments under the AstraZeneca China Agreement through December 31, 2023 totals &lt;/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;77.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="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;p style="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 September 18, 2023, the Company received the formal notice, from Beijing Medical Products Administration, of renewal of its right to continue to market roxadustat in China through 2028. The Company evaluated the regulatory milestone payment associated with this renewal under the AstraZeneca China Agreement and concluded that this milestone was achieved in the third quarter of 2023. Accordingly, the consideration 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.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 associated with this milestone was included in the transaction price and allocated to performance obligations under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, $&lt;/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 which was recognized as revenue during the year ended December 31, 2023 from performance obligations satisfied or partially satisfied. A&lt;/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 of December 31, 2023, 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 $&lt;/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 milestone was recorded as a contract asset and was fully &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;netted against the contract liabilities (deferred revenue) related to the AstraZeneca U.S./RoW Agreement and AstraZeneca China Agreement.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;AstraZeneca China Amendment&lt;/span&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; &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;In July 2020, FibroGen China Anemia Holdings, Ltd., FibroGen Beijing, and FibroGen International (Hong Kong) Limited and AstraZeneca entered into an amendment, relating to the development and commercialization of roxadustat in China (the &#x201c;AstraZeneca China Amendment&#x201d;). Under the AstraZeneca China Amendment, in 2020, FibroGen Beijing and AstraZeneca completed the establishment of a jointly owned entity, Falikang, which performs roxadustat distribution, as well as conducts sales and marketing through AstraZeneca.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 AstraZeneca China Amendment, with effect from April 1, 2020, AstraZeneca&#x2019;s co-promotion expenses for their sales and marketing efforts are subject to a cap of a percentage of net sales. In addition, the AstraZeneca China Amendment has allowed for a higher cost of manufacturing incurred by FibroGen Beijing to be included in the profit or loss share calculation, subject to an annual cap, among other changes.&lt;/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: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 co-promotion expenses 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;, capped at a percentage of net roxadustat sales in China, 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;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, $&lt;/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.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 $&lt;/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, respectively, included in the selling, general and administrative expenses.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 AstraZeneca China Amendment, profit/loss share between FibroGen Beijing and AstraZeneca is based on a calculation of the current period net roxadustat sales in China and deductible expenses pursuant to the AstraZeneca China Agreement. Based on the calculation revised under the AstraZeneca China Amendment, profit was achieved during 2020. As a result, the Company recorded a corresponding one-time profit share liability to AstraZeneca, the balance of which 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;7.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="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="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;7.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&lt;/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 December 31, 2023 and 2022, respectively, in accrued and other current liabilities in the consolidated balance sheet.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Substantially all direct roxadustat product sales to distributors in China are made by Falikang, while FibroGen Beijing continues to sell roxadustat product directly in one province in China. FibroGen Beijing manufactures and supplies commercial product to Falikang based on a gross transaction price, adjusted for the estimated profit share. In addition, AstraZeneca bills the co-promotion expenses to Falikang and to FibroGen Beijing, respectively, for its services provided to the respective entity. AstraZeneca is entitled to reimbursement of its sales and marketing expenses up to a cumulative capped amount of a percentage of net sales. Once such amount is reached, AstraZeneca will bill the co-promotion expenses based on actual costs as incurred plus a markup on a prospective basis, which is currently expected to continue through 2033. Development costs continue to be shared 50/50 between the Parties.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 related net product revenue recognized from the sales to Falikang and the sales directly to distributors are discussed under the &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;Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;Accounting for the AstraZeneca Agreements&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;The Company evaluated whether the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement should be accounted for as a single or separate arrangements and concluded that the agreements should be accounted for as a single arrangement with the presumption that two or more agreements executed with a single customer at or around the same time should be presumed to be a single arrangement. The key points the Company considered in reaching this conclusion 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;div style="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.537%;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;While the two agreements were largely negotiated separately, those negotiations proceeded concurrently, and were intended to be completed contemporaneously, presuming AstraZeneca&lt;/span&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; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;decided to proceed with licenses in all regions available. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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.537%;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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Throughout negotiations for both agreements, the Company and the counterparties understood and considered the possibility that one arrangement may be executed without the execution of the other arrangement. However, the preference for the Company and the counterparties during the negotiations was to execute both arrangements concurrently. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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.537%;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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The two agreements were executed as separate agreements because different development, regulatory and commercial approaches required certain terms of the agreements to be structured differently, rather than because the Company or the counterparties considered the agreements to be fundamentally separate negotiations.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="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;Accordingly, as the agreements are being accounted for as a single arrangement, upfront and other non-contingent consideration received and to be received has been and will be pooled together and allocated to each of the performance obligations in both the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement based on their relative SSPs.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 each of the AstraZeneca agreements, the Company has evaluated the promised services within the respective arrangements and has identified performance obligations representing those services and bundled services that are distinct.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Promised services that were not distinct have been combined with other promised services to form a distinct bundle of promised services, with revenue being recognized on the bundle of services rather than the individual promised services. There are no right-of-return provisions for the delivered items in the AstraZeneca agreements.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 transaction price for the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, excluding manufacturing services that is discussed separately below, 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;402.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 non-contingent upfront payments, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;118.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 variable consideration related to payments for milestones considered probable of being achieved, $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;614.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 variable consideration related to co-development billings, offset by &lt;/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;7.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; of variable consideration related to the above-mentioned one-time profit share under the AstraZeneca China Amendment.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 AstraZeneca agreements, the Company allocated the transaction price to the various performance obligations based on the relative SSP of each performance obligation, with the exception of co-development billings and commercial sale of product. Co-development billings under the AstraZeneca U.S./RoW Agreement were allocated entirely to the U.S./RoW co-development services performance obligation, and co-development billings under the AstraZeneca China Agreement were allocated entirely to the combined performance obligation under the AstraZeneca China Agreement. Commercial sale of product under the AstraZeneca U.S./ROW Agreement is entirely allocated to the manufacturing commercial supply of products performance obligation, and commercial sale of product under the AstraZeneca China Agreement is allocated entirely to the combined China performance obligation.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 revenue recognition purposes, the Company determined that the terms of its collaboration agreements with AstraZeneca begin on the effective date and end upon the completion of all performance obligations contained in the agreements. The contract term is defined as the period in which parties to the contract have present and enforceable rights and obligations. The Company believes that the requirement to continue funding development for a substantive period of time and the loss of product rights, along with non-refundable upfront payments already remitted by AstraZeneca, represent substantive termination penalties that create significant disincentive for AstraZeneca to exercise its right to terminate the agreement.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 technology license under the AstraZeneca U.S./RoW Agreement, SSP was determined based on a two-step process. The first step involved determining an implied royalty rate that would result in the net present value of future cash flows to equal to zero (i.e. where the implied royalty rate on the transaction would equal the target return for the investment). This results in an upper bound estimation of the magnitude of royalties that a hypothetical acquirer would reasonably pay for the forecasted cash flow stream. The Company&#x2019;s cash flow forecasts were derived from probability-adjusted revenue and expense projections. Such projections included consideration of taxes and cash flow adjustments. The probability adjustments were made after considering the likelihood of technical success at various stages of clinical trials and regulatory approval phases. The second step involved applying the implied royalty rate, which was determined 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;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;%, against the probability-adjusted projected net revenues by territory and determining the value of the license as the net present value of future cash flows after adjusting for taxes. The discount rate utilized 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;17.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;%.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;AstraZeneca U.S./RoW Agreement:&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;The promised services that were analyzed, along with their general timing of satisfaction and recognition as revenue, are as follows:&lt;/span&gt;&lt;/p&gt;&lt;div style="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;font-style:italic;min-width:4.537%;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;font-style:italic;min-width:fit-content;"&gt;License to the Company&#x2019;s technology existing at the effective date of the agreements.&lt;/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 the AstraZeneca U.S./RoW Agreement, the license was delivered at the beginning of the agreement term. The Company concluded that AstraZeneca has the knowledge and capabilities to fully exploit the license under the AstraZeneca U.S./RoW Agreement without the Company&#x2019;s further involvement. Finally, the Company considered the fact that at the time of delivery of the license, the development services were beyond the preclinical development phase and any remaining development work would not be expected to result in any significant modification or customization to the licensed technology. As such, the development services are separately identifiable from the licensed technology, indicating that the license is a distinct performance obligation. Therefore, the Company has concluded that the license is distinct and represents a performance obligation. The portion of the transaction price allocated to this performance obligation based on a relative SSP basis is recognized as revenue in its entirety at the point in time the license transfers to AstraZeneca.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Co-development services. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;This promise relates to co-development services that were reasonably expected to be performed by the Company at the time the collaboration agreement was signed and is distinct. Co-development billings are allocated entirely to the co-development services performance obligation as amounts are related specifically to research and development efforts necessary to satisfy the performance obligation, and such an allocation is consistent with the allocation objective. Through the end of 2021, revenue was recognized over time based on progress toward complete satisfaction of the performance obligation. The Company used an input method to measure progress toward the satisfaction of the performance obligation related to CKD approval, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred. Subsequently, the Company accounts for the development services for other significant indications related to chemotherapy-induced anemia and myelodysplastic syndromes separately as services are provided.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Manufacturing of clinical supplies of 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; This promise is satisfied as supplies for clinical product are delivered for use in the Company&#x2019;s clinical trial programs during the development period, or pre-commercialization period.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Information sharing and committee service.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; These promises are satisfied throughout the course of the agreement as services are provided.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:4.533%;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;Items (2)-(4) are bundled into a single performance obligation that is distinct given the fact that all are highly interrelated during the development period (pre-commercial phase of development) such that delivering them independently is not practicable. For the revenue recognized over time based on progress toward complete satisfaction of the performance obligation, the Company uses an input method to measure progress toward the satisfaction of the performance obligation, which is based on costs of labor hours or full time equivalents and out-of-pocket expenses incurred relative to total expected costs to be incurred, and updates the measure of progress in each reporting period.&lt;/span&gt;&lt;/p&gt;&lt;div style="display:flex;margin-top:12pt;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;font-style:italic;min-width:4.537%;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-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Manufacturing commercial supplies of 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;This promise is distinct as services are not interrelated with any of the other performance obligations. Revenue is recognized as supplies are shipped for commercial use during the commercialization period. The drug product revenue amount represents variable consideration and is estimated based on the quantity of product shipped and an estimated price for each individual purchase order. The estimated price is based on the contractual transfer price percentage applied on the estimated weighted average net sales price, which is estimated to be realized by AstraZeneca from the end sale of roxadustat in its approved territories. See the &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;Drug Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;AstraZeneca China Agreement:&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;The promised services that were analyzed are consistent with the AstraZeneca U.S./RoW Agreement, except for license to the Company&#x2019;s technology existing at the effective date of the agreement, described as follows:&lt;/span&gt;&lt;/p&gt;&lt;div style="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.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&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;font-style:italic;min-width:fit-content;"&gt;License to the Company&#x2019;s technology existing at the effective date of the 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; The license was delivered at the beginning of the agreement term. However, the AstraZeneca China Agreement has contractual limitations that might affect AstraZeneca&#x2019;s ability to fully exploit the license and therefore, potentially, the conclusion as to whether the license is distinct in the context of the agreement. In the AstraZeneca China Agreement, AstraZeneca does not have the right to manufacture commercial supplies of the drug. In order to determine whether this characteristic of the arrangement should lead to a conclusion that the license was not distinct in the context of the agreement, the Company considered the ability of AstraZeneca to benefit from the license on its own or together with other resources readily available to AstraZeneca.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="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 AstraZeneca China Agreement, the Company retained manufacturing rights as an essential part of a strategy to pursue domestic regulatory pathway for product approval, which requires the regulatory licensure of the manufacturing facility in order to commence commercial shipment. The prospects for the collaboration as a whole would have been substantially different had manufacturing rights been provided to AstraZeneca. The Company holds the rights to manufacture commercial drug product in China. Therefore, AstraZeneca cannot benefit from the license on its own or together with other readily available resources. Accordingly, all the promises identified, including the license, co-development services and manufacturing of commercial supplies, under the AstraZeneca China Agreement have been bundled into a single performance obligation and amounts of the transaction price allocable to this performance obligation are deferred until control of the manufactured commercial drug product has begun to transfer to AstraZeneca.&lt;/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: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 accordance with the AstraZeneca China Amendment, substantially all product sales will be made by Falikang directly to the distributors in China, while the Company continues to sell directly in one province in China. Revenue is recognized at a point in time when control of roxadustat commercial product is transferred to Falikang. For the Company&#x2019;s direct sales of commercial drug product, revenue is recognized when control of the promised good is transferred to the customer in an amount that reflects the consideration that the Company expects to be entitled to in exchange for the product. See the &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;Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/span&gt;&lt;/p&gt;</fgen:CollaborativeArrangementAndRevenuesPolicyTextBlock>
    <fgen:ProceedsFromUpfrontNonContingentAndTimeBasedPayments
      contextRef="C_4490c8f4-3882-4f3e-be33-fcc6e52f440c"
      decimals="-5"
      id="F_c5015725-6b4e-469c-b174-e608dcb9d227"
      unitRef="U_USD">40100000</fgen:ProceedsFromUpfrontNonContingentAndTimeBasedPayments>
    <fgen:PotentialMilestones
      contextRef="C_7893e42d-2153-432f-ad67-11cda72532bd"
      decimals="-5"
      id="F_47fb0a7c-5f76-4543-aa15-53bcbcc35360"
      unitRef="U_USD">132500000</fgen:PotentialMilestones>
    <fgen:PotentialMilestones
      contextRef="C_ce10b568-068b-46a4-af77-391695657653"
      decimals="-5"
      id="F_99252514-6d9c-493b-a3db-32214a311e2a"
      unitRef="U_USD">22500000</fgen:PotentialMilestones>
    <fgen:PotentialMilestones
      contextRef="C_bc6a99e3-85df-4961-bc59-1bfcf38ad17b"
      decimals="-5"
      id="F_9c8d02f8-22de-4fba-b0e5-1603bdc9fd85"
      unitRef="U_USD">95000000.0</fgen:PotentialMilestones>
    <fgen:CommercialSalesMilestone
      contextRef="C_7893e42d-2153-432f-ad67-11cda72532bd"
      decimals="-5"
      id="F_2eb4fe30-5f00-424e-9895-6e85837ee6ea"
      unitRef="U_USD">15000000.0</fgen:CommercialSalesMilestone>
    <fgen:AdditionalConsiderationBasedOnNetSales
      contextRef="C_87ab9b9a-aabc-4dcf-b622-195ad575f47d"
      id="F_edfc34ed-6ea4-484b-8b25-8fcc0f692233">the low 20% range of the list price</fgen:AdditionalConsiderationBasedOnNetSales>
    <fgen:CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue
      contextRef="C_6448ae85-341e-476d-a342-5c0cd24af21b"
      decimals="-5"
      id="F_b6056dcd-bd3b-49c1-b93b-b809aa051484"
      unitRef="U_USD">105100000</fgen:CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue>
    <fgen:ProceedsFromUpfrontNonContingentAndTimeBasedPayments
      contextRef="C_64cc3d18-f4e7-4539-b5c0-7644049497db"
      decimals="-5"
      id="F_faccb242-1a0a-40b8-b375-f6b9866d6ded"
      unitRef="U_USD">320000000.0</fgen:ProceedsFromUpfrontNonContingentAndTimeBasedPayments>
    <fgen:DevelopmentAndRegulatoryApprovalMilestones
      contextRef="C_47fac92d-3ba5-4f59-92a6-6764ef7b5aed"
      decimals="-5"
      id="F_3d6735e2-09c9-41d7-8aca-ff8d8637a6a2"
      unitRef="U_USD">425000000.0</fgen:DevelopmentAndRegulatoryApprovalMilestones>
    <fgen:PotentialMilestones
      contextRef="C_2b061bd4-6cf5-4ed3-a98b-d3b0ce02e215"
      decimals="-5"
      id="F_dc13b8d1-6714-45b3-8a55-815450abfba0"
      unitRef="U_USD">90000000.0</fgen:PotentialMilestones>
    <fgen:PotentialMilestones
      contextRef="C_908d3f33-b0dd-40d4-9c7a-51f3a0320acc"
      decimals="-5"
      id="F_fd2509e9-5198-4057-a20b-4f7c55d47e54"
      unitRef="U_USD">335000000.0</fgen:PotentialMilestones>
    <fgen:PercentageOfFundingForCosts
      contextRef="C_eee05b28-bf73-4a04-b53d-02702a48a5e5"
      decimals="2"
      id="F_ae1dc799-88e0-423b-bb3e-40f946e25bcf"
      unitRef="U_pure">0.50</fgen:PercentageOfFundingForCosts>
    <fgen:AdditionalConsiderationBasedOnNetSales
      contextRef="C_7811b1fb-2195-41fe-b9b4-4698c263263d"
      id="F_e2853da6-7119-4293-a0e6-71d2ecc19e1b">low 20% range</fgen:AdditionalConsiderationBasedOnNetSales>
    <fgen:TransactionPriceAllocatedToPerformanceObligations
      contextRef="C_8dcc6362-b7f5-451d-86fb-7ae7ee437868"
      decimals="-5"
      id="F_cb8fe729-f64d-4aeb-9224-0493d3e05384"
      unitRef="U_USD">25000000</fgen:TransactionPriceAllocatedToPerformanceObligations>
    <fgen:PotentialMilestones
      contextRef="C_f863be40-ba91-4310-a063-3c1d8317659e"
      decimals="-5"
      id="F_c03a9f6a-efdf-4c1d-bba4-769d9ab1efcc"
      unitRef="U_USD">120000000.0</fgen:PotentialMilestones>
    <fgen:TransactionPriceAllocatedToPerformanceObligations
      contextRef="C_db10d930-93d6-4b10-b745-9bdf9e585579"
      decimals="-5"
      id="F_3957d6c9-a6e7-4ba0-8285-9e7254890b4f"
      unitRef="U_USD">120000000.0</fgen:TransactionPriceAllocatedToPerformanceObligations>
    <fgen:CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue
      contextRef="C_80fa294c-a5d2-4b39-a6dd-8bb5bde8fb78"
      decimals="-5"
      id="F_1b93cbee-dabc-4624-881b-2294277320be"
      unitRef="U_USD">685000000</fgen:CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue>
    <fgen:ProceedsFromNonContingentUpfrontPayments
      contextRef="C_87ab9b9a-aabc-4dcf-b622-195ad575f47d"
      decimals="-5"
      id="F_0b4a3d4e-451e-4f46-82ad-ae160f71deff"
      unitRef="U_USD">40100000</fgen:ProceedsFromNonContingentUpfrontPayments>
    <fgen:VariableConsiderationPaymentReceivedUponAchievementOfMilestone
      contextRef="C_87ab9b9a-aabc-4dcf-b622-195ad575f47d"
      decimals="-5"
      id="F_38a5611c-e73a-49f9-a2bd-1144c583072a"
      unitRef="U_USD">65000000.0</fgen:VariableConsiderationPaymentReceivedUponAchievementOfMilestone>
    <fgen:VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings
      contextRef="C_87ab9b9a-aabc-4dcf-b622-195ad575f47d"
      decimals="-5"
      id="F_fb767e9b-fd67-481d-8022-798d09ada780"
      unitRef="U_USD">12300000</fgen:VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings>
    <fgen:ProceedsFromNonContingentUpfrontPayments
      contextRef="C_7811b1fb-2195-41fe-b9b4-4698c263263d"
      decimals="-5"
      id="F_e294e63c-2cd8-438a-b573-2dd48a2b76ef"
      unitRef="U_USD">320000000.0</fgen:ProceedsFromNonContingentUpfrontPayments>
    <fgen:VariableConsiderationPaymentReceivedUponAchievementOfMilestone
      contextRef="C_7811b1fb-2195-41fe-b9b4-4698c263263d"
      decimals="-5"
      id="F_73250ec8-4d12-47f1-8bbd-4b69376a157f"
      unitRef="U_USD">365000000.0</fgen:VariableConsiderationPaymentReceivedUponAchievementOfMilestone>
    <fgen:VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings
      contextRef="C_7811b1fb-2195-41fe-b9b4-4698c263263d"
      decimals="-5"
      id="F_02974cd1-0ce4-448a-b5a1-e11da2b15ac7"
      unitRef="U_USD">220700000</fgen:VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings>
    <us-gaap:AlternativeInvestmentMeasurementInput
      contextRef="C_f71f5c88-8e09-486d-87a3-fe5cc6fc75c3"
      decimals="INF"
      id="F_62c6a683-e5a9-4d3c-8b24-7408c25c2fe0"
      unitRef="U_pure">17.5</us-gaap:AlternativeInvestmentMeasurementInput>
    <us-gaap:AlternativeInvestmentMeasurementInput
      contextRef="C_1efa9634-32e0-4de7-85ff-95fb98b1d503"
      decimals="INF"
      id="F_4aeb73e7-e9e1-4bf6-8fbe-72837ef58acc"
      unitRef="U_pure">20.0</us-gaap:AlternativeInvestmentMeasurementInput>
    <fgen:ProvisionForCoDevelopmentServices
      contextRef="C_87ab9b9a-aabc-4dcf-b622-195ad575f47d"
      decimals="INF"
      id="F_ad4d5842-f0b5-4b61-9c36-d335eaf3b09e"
      unitRef="U_USD">0</fgen:ProvisionForCoDevelopmentServices>
    <fgen:ContractWithCustomerMilestoneMethodTableTextBlock
      contextRef="C_c8ee1d0d-831d-4de3-b1ca-208afec64a8d"
      id="F_d5e8667c-cd20-4df1-addf-6569cbe4bec2">&lt;p style="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;Amounts recognized as license revenue and development revenue under the Astellas Japan Agreement were as follows 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 (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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:24.725%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.98%;"&gt;&lt;/td&gt;
          &lt;td style="width:22.404%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.98%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.983%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.98%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.983%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.98%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:12.983%;"&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 style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Agreement&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;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;Performance Obligation&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: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;Astellas Japan Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Development 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align: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;</fgen:ContractWithCustomerMilestoneMethodTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_c881fbac-216d-4491-b5e9-706acf6b4576"
      decimals="-3"
      id="F_dc95950f-e485-4b52-9c2c-442776be7c62"
      unitRef="U_USD">210000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_44801228-6da7-41e9-ac58-9e490e0eab1f"
      decimals="-3"
      id="F_3900734a-e7fa-43e8-b7cc-e4abc8c32be2"
      unitRef="U_USD">284000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_2ad24307-4357-4587-9fbd-afdfbb1fceb9"
      decimals="-3"
      id="F_990df7ad-5d54-4b7a-8bec-fae7bf869afd"
      unitRef="U_USD">248000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="C_c8ee1d0d-831d-4de3-b1ca-208afec64a8d"
      id="F_cc967484-013f-41a2-9cc5-0ad14e286414">&lt;p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The transaction price related to consideration received through &lt;/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 accounts receivable has been allocated to each of the following performance obligations under the Astellas Japan Agreement, along with any associated deferred revenue as follows (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:10pt;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:64.48%;"&gt;&lt;/td&gt;
          &lt;td style="width:2.72%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:30.799999999999997%;"&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;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;Astellas Japan Agreement&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;Total Consideration&lt;br/&gt;&#160;Through &lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;License&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;100,347&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Development 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: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;17,092&lt;/span&gt;&lt;/p&gt;&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:bottom;"&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 license and development 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;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;117,439&lt;/span&gt;&lt;/p&gt;&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:DisaggregationOfRevenueTableTextBlock>
    <fgen:CashConsiderationReceivedUnderCollaborationAgreement
      contextRef="C_e5f5b775-79ab-4b88-89c5-628da75cf313"
      decimals="-3"
      id="F_5039fbf6-1edf-486d-8507-ac96e4469c1c"
      unitRef="U_USD">100347000</fgen:CashConsiderationReceivedUnderCollaborationAgreement>
    <fgen:CashConsiderationReceivedUnderCollaborationAgreement
      contextRef="C_86f700ec-955a-4018-85dc-0a2983fea908"
      decimals="-3"
      id="F_baa9cb5a-9907-4270-9c1f-20f6863fd9bc"
      unitRef="U_USD">17092000</fgen:CashConsiderationReceivedUnderCollaborationAgreement>
    <fgen:CashConsiderationReceivedUnderCollaborationAgreement
      contextRef="C_6448ae85-341e-476d-a342-5c0cd24af21b"
      decimals="-3"
      id="F_22b9dcaf-9fd2-427c-a130-71c16375c7bb"
      unitRef="U_USD">117439000</fgen:CashConsiderationReceivedUnderCollaborationAgreement>
    <us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized
      contextRef="C_87ab9b9a-aabc-4dcf-b622-195ad575f47d"
      decimals="INF"
      id="F_a554b19d-ec40-4b1a-87d8-acfb7c2aa9d8"
      unitRef="U_USD">0</us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized>
    <fgen:VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling
      contextRef="C_c8ee1d0d-831d-4de3-b1ca-208afec64a8d"
      decimals="INF"
      id="F_de7b7fe5-9fd7-4359-9d44-76eabfbd610d"
      unitRef="U_USD">0</fgen:VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling>
    <fgen:ContractWithCustomerMilestoneMethodTableTextBlock
      contextRef="C_9feecbc0-749f-480e-9778-4fb17c34c7be"
      id="F_5fa1b96d-d3d2-4d0c-9e87-50d4dfa9c0e3">&lt;p style="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;Amounts recognized as license revenue and development revenue under the Astellas Europe Agreement were as follows 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 (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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:23.405%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.78%;"&gt;&lt;/td&gt;
          &lt;td style="width:20.264%;"&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:14.403%;"&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:14.403%;"&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:14.403%;"&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 style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Agreement&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;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;Performance Obligation&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: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;Astellas Europe Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;License 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,590&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;108,434&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Development 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,452&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,624&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,679&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align: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;</fgen:ContractWithCustomerMilestoneMethodTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_cf240dc1-5b27-4497-9ed3-02c28c795f98"
      decimals="-3"
      id="F_d3520e8e-4910-4b14-848c-d2497fa79235"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_82baf30a-e6b7-4f88-af3e-2303ce28b33a"
      decimals="-3"
      id="F_3201b38c-c113-4ca8-9270-cc7d55571d2d"
      unitRef="U_USD">22590000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_c9de6165-5c70-47fa-8f69-51a12aa3a77d"
      decimals="-3"
      id="F_b5334e35-002a-42f9-bc6c-cc2bade58e56"
      unitRef="U_USD">108434000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_79a4c265-ce10-4ad0-a49d-0b7b7bd2a4ad"
      decimals="-3"
      id="F_49e4b3d4-e1c7-4949-af7c-9874ff52dcc6"
      unitRef="U_USD">6452000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_c52b43d8-10ee-4799-a3ab-939a0ba45db9"
      decimals="-3"
      id="F_a3b82de1-fe8b-4ee3-bd8c-276c09211533"
      unitRef="U_USD">9624000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_7aa0ec63-9119-4ac2-b319-b78b312f4e03"
      decimals="-3"
      id="F_6f0b090e-a3af-4648-8a1c-84bfee3ef298"
      unitRef="U_USD">21679000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="C_9feecbc0-749f-480e-9778-4fb17c34c7be"
      id="F_44b128e6-1856-4758-aafb-47874ef5b360">&lt;p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The transaction price related to consideration received through &lt;/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 accounts receivable has been allocated to each of the following performance obligations under the Astellas Europe Agreement, along with any associated deferred revenue as follows (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:10pt;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:64.48%;"&gt;&lt;/td&gt;
          &lt;td style="width:2.72%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:30.799999999999997%;"&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;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;Astellas Europe Agreement&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;Total Consideration&lt;br/&gt;&#160;Through &lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;License&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;618,975&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Development 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;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;286,717&lt;/span&gt;&lt;/p&gt;&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 license and development 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;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;905,692&lt;/span&gt;&lt;/p&gt;&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:DisaggregationOfRevenueTableTextBlock>
    <fgen:CashConsiderationReceivedUnderCollaborationAgreement
      contextRef="C_0b9590f1-cdf0-4cee-9ecc-380bbffc159a"
      decimals="-3"
      id="F_feb6076b-1491-4ca9-8c81-1d05e5b0a10c"
      unitRef="U_USD">618975000</fgen:CashConsiderationReceivedUnderCollaborationAgreement>
    <fgen:CashConsiderationReceivedUnderCollaborationAgreement
      contextRef="C_6ee78229-9de9-4276-9464-cfaa0c01fd3d"
      decimals="-3"
      id="F_17a9beda-c6a4-4a3d-972b-f29f38e554c6"
      unitRef="U_USD">286717000</fgen:CashConsiderationReceivedUnderCollaborationAgreement>
    <fgen:CashConsiderationReceivedUnderCollaborationAgreement
      contextRef="C_80fa294c-a5d2-4b39-a6dd-8bb5bde8fb78"
      decimals="-3"
      id="F_36e9b113-d7ee-492c-933e-90506ab27068"
      unitRef="U_USD">905692000</fgen:CashConsiderationReceivedUnderCollaborationAgreement>
    <us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized
      contextRef="C_7811b1fb-2195-41fe-b9b4-4698c263263d"
      decimals="INF"
      id="F_138bdcdc-c313-4d16-a5ba-4d961f98b046"
      unitRef="U_USD">0</us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized>
    <fgen:VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling
      contextRef="C_9feecbc0-749f-480e-9778-4fb17c34c7be"
      decimals="INF"
      id="F_73c3fdd9-d77c-4da0-b341-0c00f954c753"
      unitRef="U_USD">0</fgen:VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling>
    <fgen:ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments
      contextRef="C_4123b229-24e9-42ce-933d-58cb92496c09"
      decimals="-5"
      id="F_2eac225c-994b-4557-800b-6ac89f2e5dab"
      unitRef="U_USD">374000000.0</fgen:ProceedsFromUpfrontNonContingentNonRefundableAndTimeBasedPayments>
    <fgen:PotentialMilestones
      contextRef="C_4123b229-24e9-42ce-933d-58cb92496c09"
      decimals="-5"
      id="F_4ec26099-7da7-440b-970b-2a9bc97c894f"
      unitRef="U_USD">875000000.0</fgen:PotentialMilestones>
    <fgen:PotentialMilestones
      contextRef="C_ae53f812-11a8-4b3f-804d-963c32ed9acd"
      decimals="-5"
      id="F_03505d45-df10-4474-a965-ff21e7320ec7"
      unitRef="U_USD">65000000.0</fgen:PotentialMilestones>
    <fgen:PotentialMilestones
      contextRef="C_95a49687-82c4-4056-b1bd-20c8519a55fe"
      decimals="-5"
      id="F_1d071b9d-aa64-4f33-9070-b25214532d55"
      unitRef="U_USD">325000000.0</fgen:PotentialMilestones>
    <fgen:PotentialMilestones
      contextRef="C_a0f43f9d-a4e3-47f5-88f8-200ba7bc2796"
      decimals="-5"
      id="F_35da66d9-38d7-4311-a0a3-0780b3faaa57"
      unitRef="U_USD">160000000.0</fgen:PotentialMilestones>
    <fgen:CommercialSalesMilestone
      contextRef="C_4123b229-24e9-42ce-933d-58cb92496c09"
      decimals="-5"
      id="F_fe0b7c19-f1d4-4bd9-a6f8-75635850b580"
      unitRef="U_USD">325000000.0</fgen:CommercialSalesMilestone>
    <fgen:SharedDevelopmentCosts
      contextRef="C_94968f74-2378-4f92-a41e-cb137e49f460"
      decimals="-5"
      id="F_55cb013c-d2df-4c1b-a18c-3ff5c04bac6b"
      unitRef="U_USD">233000000.0</fgen:SharedDevelopmentCosts>
    <fgen:SharedDevelopmentCosts
      contextRef="C_3754bc73-6453-4e16-b248-cea34f4b85ef"
      decimals="-5"
      id="F_4b23742f-04c0-4cb9-a0c2-143e22f76651"
      unitRef="U_USD">116500000</fgen:SharedDevelopmentCosts>
    <fgen:SharedDevelopmentCosts
      contextRef="C_94968f74-2378-4f92-a41e-cb137e49f460"
      decimals="-5"
      id="F_ef8c06d7-ee6f-4b61-896a-8487391db2b4"
      unitRef="U_USD">233000000.0</fgen:SharedDevelopmentCosts>
    <fgen:CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue
      contextRef="C_dbae7583-b097-4efb-82b8-4bd796994785"
      decimals="-5"
      id="F_090f2d60-226e-4277-bcdc-71549d431f10"
      unitRef="U_USD">439000000</fgen:CollaborativeArrangementAggregateConsiderationExcludingDrugProductRevenue>
    <fgen:ProceedsFromUpfrontNonContingentAndNonRefundablePayments
      contextRef="C_fc4b592e-3e33-428f-8377-d4b46df936f8"
      decimals="-5"
      id="F_a14755de-f307-42f4-82e6-f191daf66890"
      unitRef="U_USD">28200000</fgen:ProceedsFromUpfrontNonContingentAndNonRefundablePayments>
    <fgen:PotentialMilestones
      contextRef="C_fc4b592e-3e33-428f-8377-d4b46df936f8"
      decimals="-5"
      id="F_2889f36e-bd54-4483-8fc6-4d49f77d2ca1"
      unitRef="U_USD">348500000</fgen:PotentialMilestones>
    <fgen:PotentialMilestones
      contextRef="C_2f06d81a-e18e-4ad2-a9cd-a3845a64f054"
      decimals="-5"
      id="F_b3619caa-0e3c-46ef-bf03-489a17b5872d"
      unitRef="U_USD">15000000.0</fgen:PotentialMilestones>
    <fgen:PotentialMilestones
      contextRef="C_c1f8b16a-ff9d-42be-a49c-180c1d376b34"
      decimals="-5"
      id="F_c27b0648-9cc3-4d92-8867-4e2d2c937a38"
      unitRef="U_USD">146000000.0</fgen:PotentialMilestones>
    <fgen:CommercialSalesAndOtherEventsMilestone
      contextRef="C_fc4b592e-3e33-428f-8377-d4b46df936f8"
      decimals="-5"
      id="F_970b8962-a20a-4511-a865-b07ed9b33e63"
      unitRef="U_USD">187500000</fgen:CommercialSalesAndOtherEventsMilestone>
    <fgen:CollaborativeArrangementAggregateConsideration
      contextRef="C_97ec9498-684f-432f-9f3e-82b654d09186"
      decimals="-5"
      id="F_f454ef15-a8bc-4951-9c08-34e2d82b06a5"
      unitRef="U_USD">77200000</fgen:CollaborativeArrangementAggregateConsideration>
    <fgen:TransactionPriceAllocatedToPerformanceObligations
      contextRef="C_0be8756a-12e9-4939-b897-b138f42e27ca"
      decimals="-5"
      id="F_b1607e8c-c580-4438-8b36-b2893036393a"
      unitRef="U_USD">4000000</fgen:TransactionPriceAllocatedToPerformanceObligations>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="C_97ec9498-684f-432f-9f3e-82b654d09186"
      decimals="-5"
      id="F_c2ad85a8-893c-4150-a7cf-756d96724235"
      unitRef="U_USD">3500000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="C_5748279b-966a-4c2a-93d8-b37a74cb9e56"
      decimals="-5"
      id="F_f82c4b2d-7676-48e2-8d9c-e64e8f82fb16"
      unitRef="U_USD">4000000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <fgen:CoPromotionExpenses
      contextRef="C_0a847135-1a14-4fd4-a764-90ffc1ce8296"
      decimals="-5"
      id="F_f8ad157e-121b-482c-99a8-d28c2ef38bd4"
      unitRef="U_USD">4600000</fgen:CoPromotionExpenses>
    <fgen:CoPromotionExpenses
      contextRef="C_77a21a8b-8316-4f17-bc57-a3490068665d"
      decimals="-5"
      id="F_6d167dce-a762-4833-b8b7-8b151074855d"
      unitRef="U_USD">4400000</fgen:CoPromotionExpenses>
    <fgen:CoPromotionExpenses
      contextRef="C_edc11a7b-a6b0-40fd-bfa6-9f386129b05a"
      decimals="-5"
      id="F_5d01fb91-05e5-412a-8358-037ee8a91958"
      unitRef="U_USD">4700000</fgen:CoPromotionExpenses>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="C_b32ceb60-7f32-4a8c-aba6-7344a342d038"
      decimals="-5"
      id="F_52d6c9cb-2bc6-4af2-bc6c-6d08b624a081"
      unitRef="U_USD">7100000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="C_77de3070-a7c7-4dff-aa32-3fd9d7fd7063"
      decimals="-5"
      id="F_9cb3fef8-fbc7-4fb7-b07c-44ee0ed94d98"
      unitRef="U_USD">7300000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <fgen:ProceedsFromNonContingentUpfrontPayments
      contextRef="C_ac2ad58a-c256-44a4-b2b5-a0b1322e9dec"
      decimals="-5"
      id="F_72097c7f-b0c2-48d1-b97d-b553041c487f"
      unitRef="U_USD">402200000</fgen:ProceedsFromNonContingentUpfrontPayments>
    <fgen:VariableConsiderationPaymentReceivedUponAchievementOfMilestone
      contextRef="C_ac2ad58a-c256-44a4-b2b5-a0b1322e9dec"
      decimals="-5"
      id="F_207b3ad2-b92f-433c-8f35-a9ca3b6d0a3d"
      unitRef="U_USD">118000000.0</fgen:VariableConsiderationPaymentReceivedUponAchievementOfMilestone>
    <fgen:VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings
      contextRef="C_ac2ad58a-c256-44a4-b2b5-a0b1322e9dec"
      decimals="-5"
      id="F_f61dd5a8-a04a-43cc-b847-8b3038e3098c"
      unitRef="U_USD">614600000</fgen:VariableConsiderationPaymentReceivedRelatedToCoDevelopmentBillings>
    <fgen:VariableConsiderationRelatedToProfitShare
      contextRef="C_ac2ad58a-c256-44a4-b2b5-a0b1322e9dec"
      decimals="-5"
      id="F_f48d8d14-5a4b-4393-9f1c-a76c83686cf6"
      unitRef="U_USD">7100000</fgen:VariableConsiderationRelatedToProfitShare>
    <fgen:RoyaltyRateOnNetRevenue
      contextRef="C_bf75c14d-7187-4d64-a37d-59031a3cdcee"
      decimals="2"
      id="F_f84ecf5a-19b2-4bd5-98b8-06238c42f8d6"
      unitRef="U_pure">0.40</fgen:RoyaltyRateOnNetRevenue>
    <us-gaap:AlternativeInvestmentMeasurementInput
      contextRef="C_4231a158-8674-4371-b4b8-f298429c1c09"
      decimals="1"
      id="F_50aaaf9b-ec45-49c7-ad85-d3076b1c2a1a"
      unitRef="U_pure">17.5</us-gaap:AlternativeInvestmentMeasurementInput>
    <fgen:ContractWithCustomerMilestoneMethodTableTextBlock
      contextRef="C_b494fc69-c1b9-41de-8f89-256ad32ce8b9"
      id="F_35217a46-e148-4f30-8fce-4cb1f36148af">&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;Amounts recognized as license revenue and development revenue under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement were as follows 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 (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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:30.386%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.344%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.342%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.342%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.342%;"&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 style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Agreement&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;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;Performance Obligation&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: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;AstraZeneca U.S./RoW Agreement and AstraZeneca China Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;License 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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,649&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Development revenue&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,473&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;48,345&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align: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;</fgen:ContractWithCustomerMilestoneMethodTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_75280c83-48b9-4595-b131-fb7dddb45699"
      decimals="-3"
      id="F_e44d8761-8bf5-450f-847c-6db71c0e7220"
      unitRef="U_USD">2649000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_932f5d94-42ce-47a7-8146-d7f8d232b03b"
      decimals="-3"
      id="F_01288103-aed9-4782-93a0-ad16370ebd39"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_1ec55bc0-a413-4501-ab9b-d40e49526b6f"
      decimals="-3"
      id="F_1248ab37-e1c2-4ef3-b5be-6a97294c2522"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_af8c70cf-5b7d-4e18-94ac-2b237f68b5cc"
      decimals="-3"
      id="F_2813b053-a33f-41e6-b592-1861b90dcae6"
      unitRef="U_USD">9473000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_3bb318dd-86cf-40ed-a2aa-c686aa4fedd9"
      decimals="-3"
      id="F_dab7fda6-8f1e-450a-95cf-9f24c03d16f1"
      unitRef="U_USD">12519000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_91696334-462a-4ae6-9bcb-e34072cd9648"
      decimals="-3"
      id="F_e262806c-822a-4335-81f1-fd83436c3de2"
      unitRef="U_USD">48345000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="C_b494fc69-c1b9-41de-8f89-256ad32ce8b9"
      id="F_cfaacab0-5745-4d4f-8bbe-1cb80ec4763f">&lt;p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The transaction price related to consideration received through &lt;/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 accounts receivable has been allocated to each of the following performance obligations under the AstraZeneca U.S./RoW Agreement and the AstraZeneca China Agreement, along with any associated deferred revenue as follows (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:10pt;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:38.898%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.111%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:16.093%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.111%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:16.093%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:3.334%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.36%;"&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;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;AstraZeneca U.S./RoW Agreement and &lt;br/&gt;AstraZeneca China Agreement&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;Cumulative Revenue &lt;br/&gt;Through &lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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;Deferred Revenue at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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;Total Consideration&lt;br/&gt;&#160;Through &lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;License&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;344,493&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;344,493&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Co-development, information sharing &amp;amp; &lt;br/&gt;&#160;&#160;committee 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;625,111&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;625,111&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;China performance obligation *&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;195,789&lt;/span&gt;&lt;/p&gt;&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;179,851&lt;/span&gt;&lt;/p&gt;&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;375,640&lt;/span&gt;&lt;/p&gt;&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 license and development 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;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;1,165,393&lt;/span&gt;&lt;/p&gt;&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;179,851&lt;/span&gt;&lt;/p&gt;&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="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: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;1,345,244&lt;/span&gt;&lt;/p&gt;&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="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid;margin-right:86.667%;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:6pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;*  China performance obligation revenue is recognized as product revenue, as described in details under &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;Product Revenue, Net&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section below.&lt;/span&gt;&lt;/p&gt;&lt;p id="highlight_result_11" 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;**  Contract assets and liabilities related to rights and obligations in the same contract are recorded net on the consolidated balance sheets. As of December 31, 2023, deferred revenue included &lt;/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;153.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; related to the AstraZeneca U.S./RoW and the AstraZeneca China Agreement, which represents the net 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;179.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&lt;/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 deferred revenue presented above and a &lt;/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;26.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; unbilled milestone and co-development revenue under 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;AstraZeneca China Amendment&lt;/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:DisaggregationOfRevenueTableTextBlock>
    <fgen:CumulativeRevenueLicenseAndDevelopmentRevenueRecognized
      contextRef="C_ca8dabe4-ee75-4cc1-88fa-22ad86c9f220"
      decimals="-3"
      id="F_ad5a0c93-ea56-4d8a-943c-4157da5f1d02"
      unitRef="U_USD">344493000</fgen:CumulativeRevenueLicenseAndDevelopmentRevenueRecognized>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_ca8dabe4-ee75-4cc1-88fa-22ad86c9f220"
      decimals="-3"
      id="F_64a13093-80d0-4655-a743-6350e75537ed"
      unitRef="U_USD">0</us-gaap:ContractWithCustomerLiability>
    <fgen:CashConsiderationReceivedUnderCollaborationAgreement
      contextRef="C_ca8dabe4-ee75-4cc1-88fa-22ad86c9f220"
      decimals="-3"
      id="F_032844f2-670a-49b2-9472-bf2e517fd6e1"
      unitRef="U_USD">344493000</fgen:CashConsiderationReceivedUnderCollaborationAgreement>
    <fgen:CumulativeRevenueLicenseAndDevelopmentRevenueRecognized
      contextRef="C_37cf962e-018d-4026-8051-47d82e35ed38"
      decimals="-3"
      id="F_948fbec5-c8b5-4dc8-97b2-00edeac12897"
      unitRef="U_USD">625111000</fgen:CumulativeRevenueLicenseAndDevelopmentRevenueRecognized>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_37cf962e-018d-4026-8051-47d82e35ed38"
      decimals="-3"
      id="F_6bb21927-02f5-47d3-ac57-475f6e9161be"
      unitRef="U_USD">0</us-gaap:ContractWithCustomerLiability>
    <fgen:CashConsiderationReceivedUnderCollaborationAgreement
      contextRef="C_37cf962e-018d-4026-8051-47d82e35ed38"
      decimals="-3"
      id="F_06cc37ee-a383-4cdd-b370-52522b092bb5"
      unitRef="U_USD">625111000</fgen:CashConsiderationReceivedUnderCollaborationAgreement>
    <fgen:CumulativeRevenueLicenseAndDevelopmentRevenueRecognized
      contextRef="C_67a7751b-c72c-48b0-b1ac-c9e50300a6c7"
      decimals="-3"
      id="F_ad28d6c5-2291-49ca-8076-6493ea7d5fc2"
      unitRef="U_USD">195789000</fgen:CumulativeRevenueLicenseAndDevelopmentRevenueRecognized>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_67a7751b-c72c-48b0-b1ac-c9e50300a6c7"
      decimals="-3"
      id="F_36df2a9d-961a-4718-b936-31b62f04878b"
      unitRef="U_USD">179851000</us-gaap:ContractWithCustomerLiability>
    <fgen:CashConsiderationReceivedUnderCollaborationAgreement
      contextRef="C_67a7751b-c72c-48b0-b1ac-c9e50300a6c7"
      decimals="-3"
      id="F_ab88b420-231e-49d5-9f71-1cd0c5f8dcd7"
      unitRef="U_USD">375640000</fgen:CashConsiderationReceivedUnderCollaborationAgreement>
    <fgen:CumulativeRevenueLicenseAndDevelopmentRevenueRecognized
      contextRef="C_fe4460a2-ef5d-4301-bd7e-2dfcd14d9c5e"
      decimals="-3"
      id="F_b7707abd-cf90-4bba-944b-1fb4ec73149d"
      unitRef="U_USD">1165393000</fgen:CumulativeRevenueLicenseAndDevelopmentRevenueRecognized>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_fe4460a2-ef5d-4301-bd7e-2dfcd14d9c5e"
      decimals="-3"
      id="F_12036979-8749-42cc-b604-94fbbd4dd36b"
      unitRef="U_USD">179851000</us-gaap:ContractWithCustomerLiability>
    <fgen:CashConsiderationReceivedUnderCollaborationAgreement
      contextRef="C_fe4460a2-ef5d-4301-bd7e-2dfcd14d9c5e"
      decimals="-3"
      id="F_93b69cb6-2314-4b20-b423-45ce975aa57b"
      unitRef="U_USD">1345244000</fgen:CashConsiderationReceivedUnderCollaborationAgreement>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="C_dbae7583-b097-4efb-82b8-4bd796994785"
      decimals="-5"
      id="F_c5597a1d-3290-41a6-9648-a9f84cfadb2d"
      unitRef="U_USD">153400000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_dbae7583-b097-4efb-82b8-4bd796994785"
      decimals="-5"
      id="F_cb8be499-ccbe-411c-9519-e03400efea82"
      unitRef="U_USD">179900000</us-gaap:ContractWithCustomerLiability>
    <fgen:SuppliesNet
      contextRef="C_dbae7583-b097-4efb-82b8-4bd796994785"
      decimals="-5"
      id="F_284f71f0-40b5-4de6-9d3b-ebd6fb28fa21"
      unitRef="U_USD">26500000</fgen:SuppliesNet>
    <us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized
      contextRef="C_b494fc69-c1b9-41de-8f89-256ad32ce8b9"
      decimals="INF"
      id="F_89355061-346f-4c7b-80e9-a7a8b1528f69"
      unitRef="U_USD">0</us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized>
    <fgen:VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling
      contextRef="C_b494fc69-c1b9-41de-8f89-256ad32ce8b9"
      decimals="-5"
      id="F_ba21eec4-fb96-4f75-8dc8-3b2d095b8594"
      unitRef="U_USD">2300000</fgen:VariableConsiderationPaymentReceivedFromEstimatedFutureCoDevelopmentBilling>
    <fgen:ProductRevenuePolicyPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_71aa2696-1802-4458-8384-6dfd96fb8031">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Product Revenue, Net&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;Product revenue, net from the sales of roxadustat commercial product in China was as follows 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 (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:10pt;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.309%;"&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:14.743%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:14.743%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:14.743%;"&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;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:bottom;"&gt;&lt;p style="font-size:10pt;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;Direct Sales:&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 colspan="2" style="vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 revenue&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;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,190&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,366&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;/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: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;Discounts and rebates&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,298&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;665&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;1,740&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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;Sales returns&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;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&lt;/span&gt;&lt;/p&gt;&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&lt;/span&gt;&lt;/p&gt;&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;83&lt;/span&gt;&lt;/p&gt;&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:bottom;"&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;Direct sales revenue, net&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;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,894&lt;/span&gt;&lt;/p&gt;&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,702&lt;/span&gt;&lt;/p&gt;&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;12,070&lt;/span&gt;&lt;/p&gt;&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="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&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="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 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;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;Sales to Falikang:&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 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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 transaction price&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;154,817&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;112,544&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;97,531&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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;Profit share&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;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;66,254&lt;/span&gt;&lt;/p&gt;&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;43,716&lt;/span&gt;&lt;/p&gt;&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;34,759&lt;/span&gt;&lt;/p&gt;&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:10pt;white-space:pre-wrap;vertical-align:bottom;"&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 transaction price&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,563&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,828&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;62,772&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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:bottom;"&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;Decrease (increase) in deferred revenue&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;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;492&lt;/span&gt;&lt;/p&gt;&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,339&lt;/span&gt;&lt;/p&gt;&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;27,204&lt;/span&gt;&lt;/p&gt;&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:bottom;"&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;Sales to Falikang revenue, net&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;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;89,055&lt;/span&gt;&lt;/p&gt;&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,167&lt;/span&gt;&lt;/p&gt;&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;35,568&lt;/span&gt;&lt;/p&gt;&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:30pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:30pt;text-indent:0;font-size:10pt;margin-top:0;font-family: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, net&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;td style="white-space:nowrap;vertical-align:top;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:top;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,949&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;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:top;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:top;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,869&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;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:top;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:top;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,638&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;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:18pt;font-family:Times New Roman;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;Direct Sales&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;Product revenue from direct roxadustat product sales to distributors in China is recognized in an amount that reflects the consideration that the Company expects to be entitled to in exchange for those products, net of sales rebates and discounts.&lt;/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: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 discounts and rebates consisted of the price adjustments recorded based on government-listed price guidance and estimated channel inventory levels, the contractual sales rebate calculated based on the stated percentage of gross sales by each distributor in the distribution agreement entered between FibroGen and each distributor, and other rebates and discounts, as well as sales return allowance. The total discounts and rebates were immaterial 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: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;Due to the Company&#x2019;s legal right to offset, at each balance sheet date, the rebates and discounts are presented as reductions to gross accounts receivable from the distributor, or as a current liability to the distributor to the extent that the total amount exceeds the gross accounts receivable or when the Company expects to settle the discount in cash. The Company&#x2019;s legal right to offset is determined at the individual distributor level. The contract liabilities were included in accrued and other current liabilities in the consolidated balance sheet and were immaterial as of December 31, 2023 and 2022. The rebates and discounts were reflected as reductions to gross accounts receivable for direct sales and were immaterial as of December 31, 2023 and 2022.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;Sales to Falikang &#x2013; China Performance Obligation&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;Substantially all direct roxadustat product sales to distributors in China are made by Falikang. FibroGen Beijing manufactures and supplies commercial product to Falikang. The net transaction price for FibroGen Beijing&#x2019;s product sales to Falikang is based on a gross transaction price, adjusted for the estimated profit 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; &lt;/span&gt;&lt;/p&gt;&lt;p style="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 roxadustat sales to Falikang marked the beginning of the Company&#x2019;s China performance obligation under the Company&#x2019;s agreements with AstraZeneca&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;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; Product revenue is based on the transaction price of the China performance obligation. Revenue is recognized when control of the product is transferred to Falikang, in an amount that reflects the allocation of the transaction price to the performance obligation satisfied during the reporting period. Any net transaction price in excess of the revenue recognized is added to the deferred balance to date, and will be recognized in future periods as the performance obligation is satisfied.&lt;/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: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;Periodically, the Company updates its assumptions such as total sales quantity, performance period, gross transaction price,  profit share and other inputs including foreign currency translation impact, among others. Following updates to its estimates, the Company recognized &lt;/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;0.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; from the previously deferred revenue of the China performance obligation during the year ended December 31, 2023. The product revenue recognized for the year ended 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; included a decrease in revenue 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;2.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 resulting from changes to estimated variable consideration in the current period relating to performance obligation satisfied in previous 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;Comparatively, following updates to its estimates, the Company recognized &lt;/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;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&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; from the previously deferred revenue of the China performance obligation during the year ended 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; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 includes a roll-forward of the related deferred revenue that is considered as a contract liability (in thousands):&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:35.734%;"&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.945%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:10.425%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.441%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.704%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:9.965%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:10.425%;"&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;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 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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Additions&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Recognized as Revenue&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Currency&lt;br/&gt;Translation&lt;br/&gt;and Other&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;Product revenue - AstraZeneca China &lt;br/&gt;&#160;&#160;&#160;performance obligation - deferred revenue&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;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;175,646&lt;/span&gt;&lt;/p&gt;&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;94,099&lt;/span&gt;&lt;/p&gt;&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;89,055&lt;/span&gt;&lt;/p&gt;&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;839&lt;/span&gt;&lt;/p&gt;&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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;179,851&lt;/span&gt;&lt;/p&gt;&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="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;Deferred revenue includes amounts allocated to the China performance obligation under the AstraZeneca arrangement as revenue recognition associated with this unit of accounting is tied to the commercial launch of the products within China and to when the control of the manufactured commercial products is transferred to AstraZeneca. 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;, 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;32.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 above deferred revenue related to the China unit of accounting was included in short-term deferred revenue, which represents the amount of deferred revenue associated with the China unit of accounting that is expected to be recognized within the next 12 months, associated with the commercial sales in China.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Due to the Company&#x2019;s legal right to offset, at each balance sheet date, the rebates and discounts, mainly related to profit sharing, are presented as reductions to gross accounts receivable from Falikang, 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;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 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.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 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.&lt;/span&gt;&lt;/p&gt;</fgen:ProductRevenuePolicyPolicyTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_106bcaaf-4d7d-4ca0-a0dc-d1e48b451984">&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;Product revenue, net from the sales of roxadustat commercial product in China was as follows 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 (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:10pt;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.309%;"&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:14.743%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:14.743%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:14.743%;"&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;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:bottom;"&gt;&lt;p style="font-size:10pt;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;Direct Sales:&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 colspan="2" style="vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 revenue&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;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,190&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,366&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;/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: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;Discounts and rebates&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,298&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;665&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;1,740&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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;Sales returns&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;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&lt;/span&gt;&lt;/p&gt;&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&lt;/span&gt;&lt;/p&gt;&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;83&lt;/span&gt;&lt;/p&gt;&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:bottom;"&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;Direct sales revenue, net&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;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,894&lt;/span&gt;&lt;/p&gt;&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,702&lt;/span&gt;&lt;/p&gt;&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;12,070&lt;/span&gt;&lt;/p&gt;&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="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"&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="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 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;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;Sales to Falikang:&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 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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 transaction price&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;154,817&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;112,544&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;97,531&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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;Profit share&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;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;66,254&lt;/span&gt;&lt;/p&gt;&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;43,716&lt;/span&gt;&lt;/p&gt;&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;34,759&lt;/span&gt;&lt;/p&gt;&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:10pt;white-space:pre-wrap;vertical-align:bottom;"&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 transaction price&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,563&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,828&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;62,772&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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:bottom;"&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;Decrease (increase) in deferred revenue&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;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;492&lt;/span&gt;&lt;/p&gt;&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,339&lt;/span&gt;&lt;/p&gt;&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;27,204&lt;/span&gt;&lt;/p&gt;&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:bottom;"&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;Sales to Falikang revenue, net&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;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;89,055&lt;/span&gt;&lt;/p&gt;&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,167&lt;/span&gt;&lt;/p&gt;&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;35,568&lt;/span&gt;&lt;/p&gt;&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:30pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:30pt;text-indent:0;font-size:10pt;margin-top:0;font-family: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, net&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;td style="white-space:nowrap;vertical-align:top;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:top;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,949&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;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:top;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:top;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,869&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;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:top;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:top;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,638&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:top;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:DisaggregationOfRevenueTableTextBlock>
    <fgen:RevenueGrossFromContractWithCustomerExcludingAssessedTax
      contextRef="C_50be1263-1222-4ea9-9e75-30e9ca38196c"
      decimals="-3"
      id="F_e7497227-1775-4f6d-868e-ce775e45531c"
      unitRef="U_USD">13190000</fgen:RevenueGrossFromContractWithCustomerExcludingAssessedTax>
    <fgen:RevenueGrossFromContractWithCustomerExcludingAssessedTax
      contextRef="C_f2a3bec5-7ab0-40d4-98fa-5fed29caab14"
      decimals="-3"
      id="F_b0dbf6e0-4084-4d8b-af32-a54899950482"
      unitRef="U_USD">12366000</fgen:RevenueGrossFromContractWithCustomerExcludingAssessedTax>
    <fgen:RevenueGrossFromContractWithCustomerExcludingAssessedTax
      contextRef="C_5fec43db-89ef-48ff-988c-27ababfa9bdf"
      decimals="-3"
      id="F_4b151cdd-3283-4783-9cba-0a0251227b68"
      unitRef="U_USD">13727000</fgen:RevenueGrossFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_42f841df-c0a8-48f2-a100-6731350be873"
      decimals="-3"
      id="F_77eeaa0e-f4a6-4c1a-9892-2700a1e419a7"
      unitRef="U_USD">-1298000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_e27c92da-13b4-47ec-a09e-24a45b583b49"
      decimals="-3"
      id="F_7354ad42-8bb2-4fc7-80df-28c8d10a934b"
      unitRef="U_USD">-665000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_bfaf7ee2-8a31-4a60-9a57-c2ed55095b93"
      decimals="-3"
      id="F_afde0acd-cfd3-463d-93c2-d9254537c9ba"
      unitRef="U_USD">-1740000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_14b20dc5-02fe-4953-b340-ffb9bc5d98a6"
      decimals="-3"
      id="F_7e0020b4-1a7c-4c19-a71d-49a6e1992176"
      unitRef="U_USD">2000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_e2d95cc7-6809-4e41-b4a5-c193f6a20300"
      decimals="-3"
      id="F_b3fdd792-d127-4cbb-8abe-a76019c31cf0"
      unitRef="U_USD">1000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_056299d5-b54d-42f0-8a35-dafc97db5874"
      decimals="-3"
      id="F_350f536f-1bdb-4612-aa04-32360ae2bcd9"
      unitRef="U_USD">83000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_50be1263-1222-4ea9-9e75-30e9ca38196c"
      decimals="-3"
      id="F_3befe803-d897-4d82-b17f-ca9b62bde6e7"
      unitRef="U_USD">11894000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_f2a3bec5-7ab0-40d4-98fa-5fed29caab14"
      decimals="-3"
      id="F_4fa52e6f-9d89-43e0-8b48-969df406b1cc"
      unitRef="U_USD">11702000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_5fec43db-89ef-48ff-988c-27ababfa9bdf"
      decimals="-3"
      id="F_d275a003-b329-4a90-a2e9-c5028968673b"
      unitRef="U_USD">12070000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fgen:RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax
      contextRef="C_d0d00f72-7613-4f69-8b32-87c3cc54a826"
      decimals="-3"
      id="F_752edaff-df91-4309-a7c1-40ce0fd0126d"
      unitRef="U_USD">154817000</fgen:RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax>
    <fgen:RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax
      contextRef="C_cfcc0a09-81c0-4205-ae64-721f46f22e50"
      decimals="-3"
      id="F_cf27eb28-79a1-42ca-aa94-27587480061a"
      unitRef="U_USD">112544000</fgen:RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax>
    <fgen:RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax
      contextRef="C_9a383c87-d503-4a10-ba48-73b36eb158ae"
      decimals="-3"
      id="F_b8f56792-2b3c-4a04-80d6-27127df84e2f"
      unitRef="U_USD">97531000</fgen:RevenueGrossTransferPriceFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_ab8c9705-5fc0-4804-adff-fa15225d56de"
      decimals="-3"
      id="F_e2bce357-7fd8-4d14-921e-236cb85f93a8"
      unitRef="U_USD">-66254000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_7d0d88d7-1f06-4b8a-bb98-f228d097c366"
      decimals="-3"
      id="F_304da2da-31e4-4d1a-84a0-e40fdc08b338"
      unitRef="U_USD">-43716000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_fce2cea9-acf6-4c1f-81de-929d48cfe083"
      decimals="-3"
      id="F_87c9ab8e-e4bf-448e-865f-b9d47a357a1a"
      unitRef="U_USD">-34759000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_a12b6aff-01d9-4c1a-8610-6b0f117ed10a"
      decimals="-3"
      id="F_cd2d9565-ef3e-4456-9637-59431a6e1d44"
      unitRef="U_USD">88563000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_82d124a4-1e8e-4c7c-8f11-2ef965609859"
      decimals="-3"
      id="F_df931fbe-5e97-4b3f-b7fa-4986bbe01456"
      unitRef="U_USD">68828000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_96be5e1b-f948-40a1-a6de-29ea1446e622"
      decimals="-3"
      id="F_37df8abb-311a-4caf-9bc7-9a3eb334b581"
      unitRef="U_USD">62772000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_9542e3e9-9b48-4954-bbee-633aa9763f0e"
      decimals="-3"
      id="F_de47447c-3885-43ce-b65a-8311b5ed509e"
      unitRef="U_USD">492000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_7103d42b-9e77-441d-a76c-7890cfaea354"
      decimals="-3"
      id="F_55b6b700-6738-4474-a149-a25675d095fe"
      unitRef="U_USD">2339000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_85746b8c-afc4-4010-8ea1-d590b5d46596"
      decimals="-3"
      id="F_c8b5c28f-9731-41e4-aa47-37e4b6988e2a"
      unitRef="U_USD">-27204000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_d0d00f72-7613-4f69-8b32-87c3cc54a826"
      decimals="-3"
      id="F_91eaf86f-9e7a-4324-8d66-fe59cf4a8e74"
      unitRef="U_USD">89055000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_cfcc0a09-81c0-4205-ae64-721f46f22e50"
      decimals="-3"
      id="F_d521ff6a-fbcb-430f-8257-4dd778e36a9c"
      unitRef="U_USD">71167000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_9a383c87-d503-4a10-ba48-73b36eb158ae"
      decimals="-3"
      id="F_83818537-5489-4627-be09-b65163a277f9"
      unitRef="U_USD">35568000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_fa2797cc-9fa1-460c-b81b-ef756cd58ad2"
      decimals="-3"
      id="F_8b59bece-0fcb-4cf2-8feb-bfd490cc2cec"
      unitRef="U_USD">100949000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_c72973a0-f5ac-4941-bd93-56ca141c6d0f"
      decimals="-3"
      id="F_578685b0-1d42-45ff-9110-0e68dd95da32"
      unitRef="U_USD">82869000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_3ced6666-5930-4496-b340-906b5898d986"
      decimals="-3"
      id="F_2281f59e-657a-4ddc-8aba-dcf8bcc4a0c4"
      unitRef="U_USD">47638000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="C_bc67b859-6a7a-483d-b9ab-3f3606bfba16"
      decimals="-5"
      id="F_7e7fc7a7-310b-45bb-b902-df2df878dd57"
      unitRef="U_USD">500000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <fgen:ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration
      contextRef="C_357db032-314e-4a7c-9652-fc3e2a079d22"
      decimals="-5"
      id="F_b8bc0335-75b3-4d73-a011-fe7eeec9a9fc"
      unitRef="U_USD">2900000</fgen:ContractWithCustomerLiabilityIncreaseDecreaseInRevenueDueToChangesToEstimatedVariableConsideration>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_a6920112-4bc3-47b8-98ae-e3cc04f256e7"
      decimals="-5"
      id="F_af364ced-4694-4dc3-a886-7ba0fe94c5db"
      unitRef="U_USD">2300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="C_5402fc82-dece-4075-8abf-01b346722f6c"
      id="F_f29d9dd5-b75c-45d6-a726-8fd46b152f45">&lt;p style="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 includes a roll-forward of the related deferred revenue that is considered as a contract liability (in thousands):&lt;/span&gt;&lt;/p&gt;
        &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
         &lt;tr style="visibility:collapse;"&gt;
          &lt;td style="width:35.734%;"&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.945%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:10.425%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.441%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.704%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:9.965%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&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:10.425%;"&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;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 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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Additions&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Recognized as Revenue&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Currency&lt;br/&gt;Translation&lt;br/&gt;and Other&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;Product revenue - AstraZeneca China &lt;br/&gt;&#160;&#160;&#160;performance obligation - deferred revenue&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;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;175,646&lt;/span&gt;&lt;/p&gt;&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;94,099&lt;/span&gt;&lt;/p&gt;&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;89,055&lt;/span&gt;&lt;/p&gt;&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;839&lt;/span&gt;&lt;/p&gt;&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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;179,851&lt;/span&gt;&lt;/p&gt;&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:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_73216bff-85f3-4d56-9c06-bf1a34b575f6"
      decimals="-3"
      id="F_e3c686ff-8354-4a95-9b40-e50c28c9b4d5"
      unitRef="U_USD">175646000</us-gaap:ContractWithCustomerLiability>
    <fgen:ContractWithCustomerLiabilityAdditions
      contextRef="C_5402fc82-dece-4075-8abf-01b346722f6c"
      decimals="-3"
      id="F_0810c731-2325-4aba-9b25-fca416006735"
      unitRef="U_USD">94099000</fgen:ContractWithCustomerLiabilityAdditions>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="C_5402fc82-dece-4075-8abf-01b346722f6c"
      decimals="-3"
      id="F_9cf18ac5-c776-4572-9258-2310e955ecf4"
      unitRef="U_USD">89055000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <fgen:ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther
      contextRef="C_5402fc82-dece-4075-8abf-01b346722f6c"
      decimals="-3"
      id="F_69b553b3-9439-428c-a9f9-fb268e435b40"
      unitRef="U_USD">839000</fgen:ContractWithCustomerLiabilityIncreaseDecreaseFromCurrentTranslationAndOther>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_bf75c14d-7187-4d64-a37d-59031a3cdcee"
      decimals="-3"
      id="F_c3414082-f191-4ffa-8025-4b8d97462e60"
      unitRef="U_USD">179851000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_5748279b-966a-4c2a-93d8-b37a74cb9e56"
      decimals="-5"
      id="F_173cc3fa-cc7f-48a2-90b9-b8ffd979b477"
      unitRef="U_USD">32000000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="C_d18ea9ec-9b52-464e-a850-9fd7826c0e76"
      decimals="-5"
      id="F_c39a4104-5937-4783-969c-63d836b86466"
      unitRef="U_USD">3000000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="C_195eefd4-6da3-43c0-81b0-6ea119e86f6e"
      decimals="-5"
      id="F_2cd03319-48a0-40ef-b626-39f0f6f917a0"
      unitRef="U_USD">500000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <fgen:DrugProductRevenuePolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_6f866aca-c93b-47dc-a1a4-f83c0f656317">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Drug Product Revenue, Net&lt;/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="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;Drug product revenue from commercial-grade &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;API or bulk drug product sales to Astellas and AstraZeneca was as follows for the years ended December 31, 2023, 2022 and 2021 (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="font-size: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;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:38.5%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.96%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:17.74%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.96%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:15.940000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.96%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:15.940000000000001%;"&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;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;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Astellas Japan Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,656&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,480&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-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;2,056&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Astellas Europe Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,097&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;1,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;/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;AstraZeneca U.S./RoW Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;&#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;text-align:left;"&gt;&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,224&lt;/span&gt;&lt;/p&gt;&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:15pt;white-space:pre-wrap;vertical-align:bottom;"&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;Drug product revenue, net&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;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;18,753&lt;/span&gt;&lt;/p&gt;&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;11,086&lt;/span&gt;&lt;/p&gt;&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;962&lt;/span&gt;&lt;/p&gt;&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:18pt;font-family:Times New Roman;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;Astellas Japan Agreement&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 year ended December 31, 2021, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Astellas Japan Amendment, and accordingly recorded adjustments to the drug product revenue 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;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. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect the changes in the estimated bulk product strength mix intended to be manufactured by &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Astellas, estimated cost to convert the API to bulk product tablets, and estimated yield from the manufacture of bulk product tablets, among others.&lt;/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: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 first quarter of 2022, the Company fulfilled a shipment obligation under the terms of Astellas Japan Amendment, and recognized related drug product revenue 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 in the same period. During the fourth quarter of 2022, the Company fulfilled a shipment obligation under the terms of Astellas Japan Amendment, and recognized related drug product revenue 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.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 same period. In addition, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Japan Amendment with Astellas, and recorded a reduction to the drug product revenue 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.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 during the year ended December 31, 2022. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect foreign currency translation impact, the changes in the estimated bulk product strength mix intended to be manufactured by Astellas, estimated cost to convert the API to bulk product tablets, and estimated yield from the manufacture of bulk product tablets, among others.&lt;/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: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 second quarter 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; 2023, the Company fulfilled two shipment obligations under the terms of Astellas Japan Amendment, and recognized related drug product revenue 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.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 same period. In addition, the Company updated its estimate of variable consideration related to the API shipments fulfilled under the terms of Astellas Japan Amendment and accordingly recorded an adjustment to the drug product revenue 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.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 for the year ended December 31, 2023. Specifically, the change in estimated variable consideration was based on the API held by Astellas at period end, adjusted to reflect the changes in the estimated bulk product strength mix intended to be manufactured by Astellas, foreign exchange impacts and estimated yield from the manufacture of bulk product tablets, among others. &lt;/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 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 balances related to the API price true-up under the Astellas Japan Agreement 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.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 accrued liabilities 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.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 other long-term liabilities, representing the Company&#x2019;s best estimate of the timing for these amounts to be paid. As of December 31, 2022, the related balance in accrued liabilities 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.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;.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;Astellas Europe Agreement&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 first quarter of 2021, the Company transferred bulk drug product from process validation supplies for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement. The Company recorded the consideration 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.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 from this inventory transfer as deferred revenue as of December 31, 2021, due to a high degree of uncertainty associated with the final consideration. During the fourth quarter of 2021, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing 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;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 as drug product revenue, and 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;8.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 as deferred revenue as of December 31, 2021, due to a high degree of uncertainty associated with the final consideration. In addition, during the fourth quarter of 2021, the Company updated its estimate of variable consideration related to the bulk drug product inventory transfers fulfilled under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recorded an unbilled contract asset 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;49.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, which was offset by related deferred revenue under the Astellas Europe Agreement and Astellas EU Supply Agreement. Specifically, the change in estimated variable consideration was based on the bulk drug product held by Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, among others.&lt;/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: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 second quarter of 2022, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing 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;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 as drug product revenue, and 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;23.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 as deferred revenue due to a high degree of uncertainty associated with the variable consideration for revenue recognition purposes. During the first quarter of 2022, the Company billed and received $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;49.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 from Astellas related to the annual transfer price true up for bulk drug product transferred for commercial purposes. This amount was recorded in deferred revenue and netted against an unbilled contract asset as of December 31, 2021. In addition, the Company updated its estimate of variable consideration related to the bulk drug product transferred in prior years. Specifically, the change in estimated variable consideration was based on the bulk drug product held by &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, forecast information, shelf-life estimates and other items. &lt;/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 a result, during the year ended December 31, 2022, the Company reclassified a total 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;57.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 from the related deferred revenue to accrued 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;, which was paid to Astellas 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;p style="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, the Company transferred bulk drug product for commercial purposes under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and recognized the related fully-burdened manufacturing 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;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 as drug product revenue, and 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;17.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 as deferred revenue due to a high degree of uncertainty associated with the variable consideration for revenue recognition purposes. In addition, the Company updated its estimate of variable consideration related to the bulk drug product transferred in prior years. Specifically, the change in estimated variable consideration was based on the bulk drug product held by Astellas at the period end, adjusted to reflect the changes in the estimated transfer price, forecast information, shelf-life estimates and other items. As a result, &lt;/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 the year ended December 31, 2023, the Company reclassified $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;38.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 from the related deferred revenue to accrued 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;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 related balance in accrued liabilities 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;38.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, representing the Company&#x2019;s best estimate that this amount will be paid within the next 12 months.&lt;/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: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 addition, the Company recognized royalty revenue 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;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 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 as drug product revenue from the deferred revenue under the Astellas Europe Agreement 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 and 2022, respectively. The remainder of the deferred revenue will be recognized as and when uncertainty is resolved, based on the performance of roxadustat product sales in the Astellas territory.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 includes a roll-forward of the above-mentioned deferred revenues that are considered as contract liabilities related to drug product (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:10pt;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:42.5%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&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;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 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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Additions&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Recognized as Revenue&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Reclassified to Accrued Liability / Accounts Payable&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Drug product revenue - deferred revenue:&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 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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-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: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 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;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;Astellas Europe Agreement&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;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;40,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="color:#000000;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;17,674&lt;/span&gt;&lt;/p&gt;&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;2,306&lt;/span&gt;&lt;/p&gt;&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;38,746&lt;/span&gt;&lt;/p&gt;&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: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: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;16,925&lt;/span&gt;&lt;/p&gt;&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="font-size: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="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;AstraZeneca U.S./RoW Agreement&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 years ended December 31, 2021 and 2020, the Company shipped bulk drug product to AstraZeneca as commercial supply under the terms of the Master Supply Agreement. Based on the complete response letter issued by the U.S. Food and Drug Administration in August 2021, the Company evaluated the impact of these developments in revising its estimates of variable consideration associated with drug product revenue. As a result, the Company updated the estimated transaction price for these shipments, and 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;11.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 as deferred revenue as of December 31, 2021. The related drug product revenue 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;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 for the year ended December 31, 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 first quarter of 2022, the Company evaluated the current developments in the U.S. market, and updated its estimates of variable consideration associated with bulk drug product shipments to AstraZeneca in prior years as commercial supply. As a result, during the year ended December 31, 2022, the Company reclassified $&lt;/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.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 from the related deferred revenue to accrued liabilities, which remained unchanged 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;, representing its best estimate that this amount will be paid within the next 12 months.&lt;/span&gt;&lt;/p&gt;</fgen:DrugProductRevenuePolicyTextBlock>
    <fgen:ScheduleOfDrugProductRevenueTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_7650e304-5e9d-437d-b48f-b71e9676cd9a">&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;Drug product revenue from commercial-grade &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;API or bulk drug product sales to Astellas and AstraZeneca was as follows for the years ended December 31, 2023, 2022 and 2021 (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="font-size: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;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:38.5%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.96%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:17.74%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.96%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:15.940000000000001%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.96%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:15.940000000000001%;"&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;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;"&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Astellas Japan Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,656&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,480&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-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;2,056&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Astellas Europe Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,097&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;1,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;/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;AstraZeneca U.S./RoW Agreement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
          &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;&#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;text-align:left;"&gt;&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,224&lt;/span&gt;&lt;/p&gt;&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:15pt;white-space:pre-wrap;vertical-align:bottom;"&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;Drug product revenue, net&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;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;18,753&lt;/span&gt;&lt;/p&gt;&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;11,086&lt;/span&gt;&lt;/p&gt;&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;962&lt;/span&gt;&lt;/p&gt;&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;</fgen:ScheduleOfDrugProductRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_eeef1c68-85f7-4cd0-b518-c15b6ad90eb1"
      decimals="-3"
      id="F_ee4ec10e-1ce1-48af-84b2-c68820ba18b8"
      unitRef="U_USD">15656000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_28f2917a-4934-44af-a2cb-297cc1ada203"
      decimals="-3"
      id="F_e6da4852-c95d-4413-894e-b1e724727b7c"
      unitRef="U_USD">9480000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_f0f9788e-e79d-4f19-b529-ca9df9cc78a0"
      decimals="-3"
      id="F_8ee623aa-d1ec-4cf5-89f3-3f3acfd53124"
      unitRef="U_USD">2056000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_6deda77e-2584-48d4-8b8c-8547fc48de28"
      decimals="-3"
      id="F_2fb4c992-82e9-48e7-b40b-080a47a885b4"
      unitRef="U_USD">3097000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_e5c67bae-0713-42f4-8a05-7bb5d22af872"
      decimals="-3"
      id="F_2f974144-45fe-4c75-b062-d7f1aba2618c"
      unitRef="U_USD">1606000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_9428ff60-8d3e-4b0b-9dd9-61c512ead67a"
      decimals="-3"
      id="F_eb6f11c9-d947-43af-a88b-9b6820c6d70e"
      unitRef="U_USD">1130000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_c59b7f13-65ce-40e5-881d-f7cb503d09c2"
      decimals="-3"
      id="F_30ee7c93-cb82-47e6-8e54-cfa979690851"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_e2a59c00-56d2-4312-8cd8-032f48bf6650"
      decimals="-3"
      id="F_72f9d22c-17e8-4779-a149-c0b9ec03e72c"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_0808f146-6aa0-4a7b-941b-41dae8caa89b"
      decimals="-3"
      id="F_58df6f92-7a82-429a-87eb-8c2e86cca448"
      unitRef="U_USD">-2224000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_14b1d456-b401-44af-bc59-f83599a5779c"
      decimals="-3"
      id="F_072af80b-76b5-4ffa-82ef-f7b7052ee151"
      unitRef="U_USD">18753000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_1db5212a-dd5f-4f54-8697-a8f3e8aca7b0"
      decimals="-3"
      id="F_ec7a282c-cb6e-4de1-a537-3284cdd507ad"
      unitRef="U_USD">11086000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_d4190d83-2c42-4569-8a71-c8f44b1bcb92"
      decimals="-3"
      id="F_bd329bf8-337e-454b-a984-f2af9c339537"
      unitRef="U_USD">962000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_1e0a6e67-86a9-4fd2-a2c0-fd64e9dd6066"
      decimals="-5"
      id="F_c3147e13-b3e7-4934-9c1f-a80ce3a1b8a1"
      unitRef="U_USD">2100000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_5fd2f689-43e5-415a-a8f0-f5d4113acb9e"
      decimals="-5"
      id="F_66710a77-02d9-4c87-b5bc-9fe89b0c1f79"
      unitRef="U_USD">9800000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_944cc16b-628e-41a3-9da5-57c2fd1d3af4"
      decimals="-5"
      id="F_7122f1c4-7409-4fc1-a46d-34c735dfda10"
      unitRef="U_USD">8400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_3a551d59-4413-4dad-9089-62d8982fd068"
      decimals="-5"
      id="F_50ed28ae-09ae-4e2d-80d4-4cf01f83cd37"
      unitRef="U_USD">8700000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_350305bb-67f1-4838-8fda-595fba86d7f6"
      decimals="-5"
      id="F_fc335f9b-7ac7-40b9-9c53-a81df16978b7"
      unitRef="U_USD">14400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_8dfca732-7b50-47d8-943b-06fd63bcd98e"
      decimals="-5"
      id="F_011e1138-0566-4ded-9b4c-df859472f9e9"
      unitRef="U_USD">1300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:AccruedLiabilitiesCurrentAndNoncurrent
      contextRef="C_e5865776-8614-4851-88a2-404a4fcb76fc"
      decimals="-5"
      id="F_5ef8f303-c1a6-4708-8b5b-51ec1c0c3095"
      unitRef="U_USD">1200000</us-gaap:AccruedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_e5865776-8614-4851-88a2-404a4fcb76fc"
      decimals="-5"
      id="F_5c8c8a2f-ac08-4f64-a437-5c57fa840da9"
      unitRef="U_USD">700000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:AccruedLiabilitiesCurrentAndNoncurrent
      contextRef="C_cbea3c93-cb87-4fd0-92f1-68dd8d6a141f"
      decimals="-5"
      id="F_c889e306-6412-4c0d-92ae-7a860ab4ca10"
      unitRef="U_USD">6500000</us-gaap:AccruedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="C_60fc1003-c564-49ad-9ecb-143a72f055bf"
      decimals="-5"
      id="F_61b47e0f-5f52-473e-907e-e78abbbf6a6f"
      unitRef="U_USD">11800000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ManufacturingCosts
      contextRef="C_038dc011-9f80-4116-b2db-d0567bfd9eca"
      decimals="-5"
      id="F_40746760-88a4-47a4-9632-96620744189c"
      unitRef="U_USD">1000000</us-gaap:ManufacturingCosts>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="C_4281c003-8942-42b2-a9c5-fed334a66d68"
      decimals="-5"
      id="F_d90370c0-03b3-4dd6-97b5-51b7860d4e9b"
      unitRef="U_USD">8300000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:Supplies
      contextRef="C_60fc1003-c564-49ad-9ecb-143a72f055bf"
      decimals="-5"
      id="F_ef1c8a4e-13f7-44cc-98cb-b70c238d0faa"
      unitRef="U_USD">49800000</us-gaap:Supplies>
    <us-gaap:ManufacturingCosts
      contextRef="C_279b072f-52a6-407e-a314-08cdb607df5d"
      decimals="-5"
      id="F_e8949883-3d1b-46d7-aeea-480823be50ff"
      unitRef="U_USD">1000000</us-gaap:ManufacturingCosts>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="C_caa04941-0a8b-4a4d-8b28-6962cc72f452"
      decimals="-5"
      id="F_8a51d905-105f-43f0-b1d6-8f82e69c6579"
      unitRef="U_USD">23200000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:BilledContractReceivables
      contextRef="C_caa04941-0a8b-4a4d-8b28-6962cc72f452"
      decimals="-5"
      id="F_dff1d247-9df9-44fb-a466-d55a588ee591"
      unitRef="U_USD">49200000</us-gaap:BilledContractReceivables>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_0eeb9ede-f956-4236-8777-2393b5f0c2a1"
      decimals="-5"
      id="F_7170b61c-b4a1-419d-8a8e-52d4dcb9cf0e"
      unitRef="U_USD">57400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ManufacturingCosts
      contextRef="C_67c1856b-9aa2-42d6-bcf2-035ffc5afe02"
      decimals="-5"
      id="F_21392a72-201b-4cd8-ab26-ebf358804f7e"
      unitRef="U_USD">800000</us-gaap:ManufacturingCosts>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="C_d77593e4-0d4f-419c-85a1-68133a695783"
      decimals="-5"
      id="F_dcf2b832-c1dc-41e8-99b5-205277ff6590"
      unitRef="U_USD">17700000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_9eafba01-7637-4c8c-9722-18817fd59cd3"
      decimals="-5"
      id="F_3aa24fab-5c87-4ce3-ab31-904803c6716d"
      unitRef="U_USD">38700000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:AccruedLiabilitiesCurrentAndNoncurrent
      contextRef="C_0be7089b-5e8b-4f60-9296-67d70a1665d1"
      decimals="-5"
      id="F_3180603c-7a3e-4fc8-94cf-93ae373a897b"
      unitRef="U_USD">38600000</us-gaap:AccruedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="C_5f168ff8-6e2d-4722-88ad-0675b23ad132"
      decimals="-5"
      id="F_f4dca846-83f5-453f-8a7a-941605b5dc6f"
      unitRef="U_USD">2300000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="C_1d12f457-88cd-4946-b657-3aca06a7cfc0"
      decimals="-5"
      id="F_fe0fbf2e-ca9b-4d8e-b7d9-4caf15d31c60"
      unitRef="U_USD">600000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="C_f9dd4cad-13bb-420f-b339-f11ab7f9f5b0"
      id="F_5a469d64-e309-47b7-9552-69ea562cb064">&lt;p style="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 includes a roll-forward of the above-mentioned deferred revenues that are considered as contract liabilities related to drug product (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:10pt;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:42.5%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
          &lt;td style="width:1%;"&gt;&lt;/td&gt;
          &lt;td style="width:7.9399999999999995%;"&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;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 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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Additions&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Recognized as Revenue&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Reclassified to Accrued Liability / Accounts Payable&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Drug product revenue - deferred revenue:&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 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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-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: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 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;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;Astellas Europe Agreement&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;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;40,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="color:#000000;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;17,674&lt;/span&gt;&lt;/p&gt;&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;2,306&lt;/span&gt;&lt;/p&gt;&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;38,746&lt;/span&gt;&lt;/p&gt;&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: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: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;16,925&lt;/span&gt;&lt;/p&gt;&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="font-size: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:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_5434968c-8b40-4fc1-a1a8-450008108bed"
      decimals="-3"
      id="F_b9f4d6b7-82c4-4fe6-a30e-884dd6082afe"
      unitRef="U_USD">40303000</us-gaap:ContractWithCustomerLiability>
    <fgen:ContractWithCustomerLiabilityAdditions
      contextRef="C_97c91ca9-34fb-45af-b56f-7027b96b661d"
      decimals="-3"
      id="F_5e0a5a8b-2de1-48b0-8fbd-f2318740a218"
      unitRef="U_USD">17674000</fgen:ContractWithCustomerLiabilityAdditions>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="C_97c91ca9-34fb-45af-b56f-7027b96b661d"
      decimals="-3"
      id="F_1226d843-1a7d-4f9b-b2d8-ea727fe1e579"
      unitRef="U_USD">2306000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <fgen:ContractWithCustomerLiabilityReclassifiedToAccruedLiability
      contextRef="C_97c91ca9-34fb-45af-b56f-7027b96b661d"
      decimals="-3"
      id="F_a490b738-540b-4a7b-8636-8f1d0d7e056b"
      unitRef="U_USD">38746000</fgen:ContractWithCustomerLiabilityReclassifiedToAccruedLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_b9a48968-fbdd-410e-bb99-5866f6959b94"
      decimals="-3"
      id="F_765e5bf4-f7d8-412f-9805-6e1d49b0cb61"
      unitRef="U_USD">16925000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_eedcb0f0-0617-42c0-a213-1cfcbaac1e4e"
      decimals="-5"
      id="F_44123a90-04d5-4d63-b1c4-0ac5d799fc97"
      unitRef="U_USD">11200000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:AccruedLiabilitiesCurrentAndNoncurrent
      contextRef="C_45b0924b-4cf9-4634-aa34-2d9e5b58e9b2"
      decimals="-5"
      id="F_756a0748-2f46-4141-be68-2930e9a12b51"
      unitRef="U_USD">2200000</us-gaap:AccruedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_62cc5d28-3094-491c-abaf-debcf049cd9b"
      decimals="-5"
      id="F_257f48b8-b678-42f5-8caa-2da51dc598af"
      unitRef="U_USD">11200000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments
      contextRef="C_31338077-02b7-4c18-989c-288b2b2d9129"
      decimals="-5"
      id="F_752d1c5c-1c9e-4b8e-981d-565c24ac8cc8"
      unitRef="U_USD">8000000</fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments>
    <fgen:FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments
      contextRef="C_430d9eae-1a54-416a-978f-bd8321e45644"
      decimals="-5"
      id="F_6efd5b7d-2435-46d8-98af-f529c02c66e6"
      unitRef="U_USD">64000000</fgen:FutureManufacturingClinicalRegulatoryAndCommercialMilestonePayments>
    <fgen:CommercialMilestone
      contextRef="C_430d9eae-1a54-416a-978f-bd8321e45644"
      decimals="-5"
      id="F_f4f75853-cadc-4019-a62e-aaa72fe0be2a"
      unitRef="U_USD">36000000</fgen:CommercialMilestone>
    <fgen:NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement
      contextRef="C_6f1ce090-d670-4f43-ac8a-9596b7e8371f"
      decimals="0"
      id="F_d70b701e-8c58-487b-8af8-c6796293fcc0"
      unitRef="U_PerformanceObligation">1</fgen:NumberOfIdentifiedPerformanceObligationAtInceptionOfAgreement>
    <fgen:CollaborativeArrangementAdditionalUpfrontPayments
      contextRef="C_d6f21aa5-889c-4dfa-9ce2-92fcb4d2b9ea"
      decimals="-5"
      id="F_d3a37d84-acf5-41d0-8012-a08d74f63112"
      unitRef="U_USD">1500000</fgen:CollaborativeArrangementAdditionalUpfrontPayments>
    <fgen:MilestonePayments
      contextRef="C_67bbdbe1-8f4e-4610-9ba5-d4238cbd9b72"
      decimals="-5"
      id="F_24e40db1-1b93-45bb-9bba-658bc336e6bd"
      unitRef="U_USD">3000000</fgen:MilestonePayments>
    <fgen:ManufacturingRelatedMilestonePayments
      contextRef="C_67bbdbe1-8f4e-4610-9ba5-d4238cbd9b72"
      decimals="-5"
      id="F_95cba34e-6f37-4c86-87a0-ff17bd61bf7d"
      unitRef="U_USD">3000000</fgen:ManufacturingRelatedMilestonePayments>
    <fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments
      contextRef="C_4467ce7e-b010-490e-a6db-a3392c21a6be"
      decimals="-5"
      id="F_89a935f8-e7f6-4eec-9866-868e07f3fdef"
      unitRef="U_USD">1000000</fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments>
    <fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments
      contextRef="C_690e25a2-ec5a-4009-bdbb-c779cf8ed79f"
      decimals="-5"
      id="F_41563018-213d-4b23-8df2-fc25ff09597d"
      unitRef="U_USD">500000</fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments>
    <fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments
      contextRef="C_9bb9c8cc-d8e2-4d0a-8c34-8cd9bc2465d5"
      decimals="-5"
      id="F_8e8e7fd0-42b3-41db-9e60-1ed6af13e24a"
      unitRef="U_USD">8000000</fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments>
    <fgen:PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred
      contextRef="C_1478897f-b5f7-4307-85d3-8cd748c125a8"
      decimals="2"
      id="F_f42ed665-3a38-4e70-8704-8517ef8caa8a"
      unitRef="U_pure">0.10</fgen:PercentageOfProductManufacturingCostsUntilManufacturingTechnologyFullyTransferred>
    <us-gaap:DeferredRevenueByArrangementDisclosureTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_b72c4be4-f454-439a-a3f4-f08565c9b931">&lt;p style="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;Amounts recognized as revenue under the agreements with Eluminex were as follows 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 (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:10pt;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:12.665%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.701%;"&gt;&lt;/td&gt;
        &lt;td style="width:33.593%;"&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.645000000000001%;"&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.645000000000001%;"&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.645000000000001%;"&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 style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Agreement&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;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;Performance Obligation&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: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;Eluminex&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;License 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;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;8,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;/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="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family: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 revenue - patent transfer&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;text-align:left;"&gt;&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;&#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="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family: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 revenue - contract manufacturing&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;966&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,761&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-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;&#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;/table&gt;</us-gaap:DeferredRevenueByArrangementDisclosureTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_93ffb450-1880-454f-a54a-cc29f02c3ef5"
      decimals="-3"
      id="F_c1a50e94-10af-46e7-86ad-edcc2ecc111b"
      unitRef="U_USD">7000000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_08f88332-7bd7-4b3e-a5b2-dccb6c95e96e"
      decimals="-3"
      id="F_068bc781-40ea-475b-a26c-def37627815c"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_a5b0c087-4f4c-40c8-b327-d49d0cd24f70"
      decimals="-3"
      id="F_c5b371c6-ec49-4c02-a0d4-cef37f1684ae"
      unitRef="U_USD">8000000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_7718419f-135a-4b31-a47b-8736a1cdf919"
      decimals="-3"
      id="F_3de60726-4dd8-46a9-a310-addaea927839"
      unitRef="U_USD">500000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_3778ef7d-b3a4-43a0-9dd0-7b8f411e5e1b"
      decimals="-3"
      id="F_08407433-67b6-4957-89c0-9bead821874f"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_4b8deb87-19cc-4154-ab8b-67e803401639"
      decimals="-3"
      id="F_fb733dce-46d9-45c5-b879-55e6f3f5be76"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_450cc1af-f17c-47be-95eb-1fc474c3abe9"
      decimals="-3"
      id="F_973465db-f793-4dd1-ae46-0d08da92c05d"
      unitRef="U_USD">966000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_f457bb67-f098-4369-aa8d-abe429fcd9aa"
      decimals="-3"
      id="F_aa192788-37a9-4d96-b08e-608cb768f107"
      unitRef="U_USD">1761000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_506b093a-27a1-4916-ab54-8d4bebdcb0a3"
      decimals="-3"
      id="F_05e674a2-8545-4a2a-a27d-8736afa9ef53"
      unitRef="U_USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_3aab13cc-546f-4c28-b898-1a195ffa8785">&lt;p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:8pt;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;min-width:fit-content;"&gt;4.	Exclusive License and Option to Acquire Fortis Therapeutics&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;On May 5, 2023 (the &#x201c;Option Acquisition Date&#x201d;), the Company entered into an exclusive option agreement to acquire Fortis Therapeutics (&#x201c;Fortis&#x201d;) with its novel Phase 1 antibody-drug conjugate, FOR46 (now referred to as &#x201c;FG-3246&#x201d;), that targets a novel epitope on CD46 preferentially expressed on certain cancer cells. FG-3246 is in development for the treatment of metastatic castration-resistant prostate cancer with potential applicability in other solid tumors and hematologic malignancies.&lt;/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: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 an evaluation agreement entered into with Fortis concurrent with the option agreement (together the &#x201c;Fortis Agreements&#x201d;), FibroGen has exclusively licensed FG-3246 and will control and fund future research, development, including a Phase 2 clinical study sponsored by FibroGen, and manufacturing of FG-3246 during the up-to four-year option period. As part of the clinical development strategy, FibroGen will continue the work to develop a PET-based biomarker utilizing a radiolabeled version of the targeting antibody for patient selection.&lt;/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: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 guidance under ASC 810, the Company determined that Fortis is a VIE and that the Company is the primary beneficiary of Fortis, as through the Fortis Agreements the Company has the power to direct activities that most significantly impact the economic performance of Fortis. Therefore, the Company consolidated Fortis starting from the Option Acquisition Date, and continues to consolidate as of December 31, 2023. The transaction was accounted for as an asset acquisition 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;Business Combinations&lt;/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 substantially all of the fair value of the gross assets acquired is concentrated in a single identifiable IPR&amp;amp;D asset.&lt;/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: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 the consideration transferred 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;zero&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. If FibroGen exercises the option to acquire Fortis, it will pay Fortis an &lt;/span&gt;&lt;span style="color:#212529;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;option exercise payment &lt;/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;80.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 thereafter, legacy Fortis shareholders would be eligible to receive from FibroGen 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;200.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 contingent payments associated with the achievement of various regulatory approvals. If FibroGen acquires Fortis, it would also be responsible to pay UCSF, an upstream licensor to Fortis, development milestone fees and a single digit royalty on net sales of therapeutic or diagnostic products arising from the &lt;/span&gt;&lt;span style="color:#212529;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;licensing arrangement between Fortis and UCSF&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;. If FibroGen chooses not to acquire Fortis, its exclusive license to FG-3246 would expire.&lt;/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: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;Additionally, the Company is obligated to make four quarterly payments 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.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 to Fortis in support of its continued development obligations. The Company determined that these payments should not be included in the purchase consideration, as those payments are payable to Fortis rather than to its 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;p style="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;Fortis has authorized and issued common shares and Series A preferred shares. As of the Option Acquisition Date and December 31, 2023, the Company owned 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;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;% of Fortis&#x2019; Series A preferred shares, which was acquired previously and carried at zero cost. The NCI attributable to the common shares is classified as nonredeemable NCI, as it 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;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;% owned by third party shareholders. The NCI attributable to the 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;98&lt;/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 Series A preferred shares owned by other investors are classified as redeemable NCI in temporary equity, as the preferred shares are redeemable by the non-controlling shares holders upon occurrence of certain events out of the Company&#x2019;s control.&lt;/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: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;Subsequent to the Option Acquisition Date, Fortis&#x2019; net income is allocated to its common shares and preferred shares based on their respective stated rights. Fortis&#x2019; net loss is allocated to its common shares only as the holders of preferred shares do not have a contractual obligation to absorb such 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 style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 allocation of purchase consideration based on estimated fair values of the acquired assets (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:10pt;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:74.905%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.936%;"&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;min-width:fit-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;Estimated Fair Value as of the Option Acquisition Date&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:bottom;"&gt;&lt;p style="font-size:10pt;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;Purchase 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;&#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="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-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;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;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;min-width:fit-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;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;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;656&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;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;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;/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;IPR&amp;amp;D 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: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,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;/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;font-weight:bold;min-width:fit-content;"&gt;Total 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;25,138&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&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;/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;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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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 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;2,671&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Accrued and other current 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;703&lt;/span&gt;&lt;/p&gt;&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;font-weight:bold;min-width:fit-content;"&gt;Total 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;3,374&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&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:#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="white-space:pre-wrap;min-width:fit-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;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;Redeemable non-controlling interests&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,480&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Nonredeemable non-controlling interests&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;520&lt;/span&gt;&lt;/p&gt;&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="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;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="white-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 #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space: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;font-weight:bold;min-width:fit-content;"&gt;Net identifiable assets, liabilities and non-controlling interests&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;236&lt;/span&gt;&lt;/p&gt;&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;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;font-weight:bold;min-width:fit-content;"&gt;Loss on asset acquisition&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;236&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:2pt;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="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company used a third party valuation specialist to determine the fair value of the IPR&amp;amp;D assets using a risk-adjusted net present value discounted cash flow model (the &#x201c;rNPV&#x201d;) with the following key assumptions: (i) estimated cash flow forecasts of peak sales, sales penetration, remaining IPR&amp;amp;D related product development costs, and other related general and administrative costs; (ii) probabilities of technical success of future underlying Phase II and Phase III clinical trials and ensuing probability of regulatory approval related to the IPR&amp;amp;D assets; and (iii) estimate of a risk-adjusted 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;16.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;%. The acquired IPR&amp;amp;D assets were determined to have no alternative future use. Accordingly, the Company expensed fair value of the acquired IPR&amp;amp;D assets 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;24.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 as research and development expense in the consolidated statements of operations for the year ended December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 Fortis (enterprise value) and the fair value of nonredeemable NCI and redeemable NCI were determined based on the above-mentioned &lt;/span&gt;&lt;span style="color:#212529;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;option exercise payment &lt;/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;80.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 payments 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;200.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, weighted with probability and expected timing of the underlying events consistent with the assumptions under the rNPV, and discounted by the Company&#x2019;s estimated market level cost of debt.&lt;/span&gt;&lt;/p&gt;&lt;p style="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, total assets and liabilities of Fortis were immaterial. For the period from the Option Acquisition Date to December 31, 2023, Fortis&#x2019; net income (losses) was immaterial.&lt;/span&gt;&lt;/p&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="C_a0e42a78-4719-467d-8c18-7cc053055418"
      decimals="-3"
      id="F_f860e8e9-f680-4c56-afd7-ab3f8394c39d"
      unitRef="U_USD">0</us-gaap:BusinessCombinationConsiderationTransferred1>
    <fgen:PaymentToOptionsExercised
      contextRef="C_a0e42a78-4719-467d-8c18-7cc053055418"
      decimals="-5"
      id="F_5123ba86-73ce-4534-9308-b506b637438c"
      unitRef="U_USD">80000000</fgen:PaymentToOptionsExercised>
    <us-gaap:PaymentForContingentConsiderationLiabilityInvestingActivities
      contextRef="C_a0e42a78-4719-467d-8c18-7cc053055418"
      decimals="-5"
      id="F_51c061b1-4725-4b2f-9897-ffb1b3b6f796"
      unitRef="U_USD">200000000</us-gaap:PaymentForContingentConsiderationLiabilityInvestingActivities>
    <fgen:ProductDevelopmentCosts
      contextRef="C_a0e42a78-4719-467d-8c18-7cc053055418"
      decimals="-5"
      id="F_f3e08f5e-f74b-4bb0-acaf-3cde0a66a1aa"
      unitRef="U_USD">5000000</fgen:ProductDevelopmentCosts>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="C_820f5f16-8e7a-4f93-9e1e-f71123569725"
      decimals="2"
      id="F_f70d9d6a-beb1-4716-883e-f8b084a6223d"
      unitRef="U_pure">0.02</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="C_d7483c7b-f5cb-4e41-9fe5-b9cd6457e3b0"
      decimals="2"
      id="F_e8dea086-a4c2-4eb4-8765-50488c5dfefd"
      unitRef="U_pure">0.02</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="C_d466837a-1b7a-43b4-a3be-2605701edfdb"
      decimals="INF"
      id="F_278ee93f-3442-4c3c-97d9-a9a30e61c743"
      unitRef="U_pure">1</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="C_79c00df0-8cd9-4b34-bb56-18329568f281"
      decimals="INF"
      id="F_f42629cf-dd0e-42f6-a21f-4754c8a1dbeb"
      unitRef="U_pure">1</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="C_697e6687-689f-4ae6-b087-e8ac61423b43"
      decimals="2"
      id="F_c0244b51-7d91-4a37-8718-8797262ffc12"
      unitRef="U_pure">0.98</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="C_1521386c-8756-4786-95dd-fc2446b96cf2"
      decimals="2"
      id="F_86291590-9d6b-49e9-93d7-f6fdb2935381"
      unitRef="U_pure">0.98</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_2454df6d-02cb-42f5-a639-c744ef3a5037">&lt;p style="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 allocation of purchase consideration based on estimated fair values of the acquired assets (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:10pt;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:74.905%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.936%;"&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;min-width:fit-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;Estimated Fair Value as of the Option Acquisition Date&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:bottom;"&gt;&lt;p style="font-size:10pt;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;Purchase 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;&#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="background-color:#ffffff;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="white-space:pre-wrap;min-width:fit-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;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;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;min-width:fit-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;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;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;656&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;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;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;/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;IPR&amp;amp;D 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: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,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;/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;font-weight:bold;min-width:fit-content;"&gt;Total 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;25,138&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&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;/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;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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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 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;2,671&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Accrued and other current 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;703&lt;/span&gt;&lt;/p&gt;&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;font-weight:bold;min-width:fit-content;"&gt;Total 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;3,374&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&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:#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="white-space:pre-wrap;min-width:fit-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;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;Redeemable non-controlling interests&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,480&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Nonredeemable non-controlling interests&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;520&lt;/span&gt;&lt;/p&gt;&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="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;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="white-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 #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space: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;font-weight:bold;min-width:fit-content;"&gt;Net identifiable assets, liabilities and non-controlling interests&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;236&lt;/span&gt;&lt;/p&gt;&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;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;font-weight:bold;min-width:fit-content;"&gt;Loss on asset acquisition&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;236&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419"
      decimals="-3"
      id="F_da41aa21-7bb1-4926-b146-b4bef02a46fc"
      unitRef="U_USD">656000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419"
      decimals="-3"
      id="F_22739564-9fbe-4548-90ec-df0de8381a5a"
      unitRef="U_USD">82000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <fgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment
      contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419"
      decimals="-3"
      id="F_803f4822-0f05-434c-9dff-7b99d9f7bd2a"
      unitRef="U_USD">24400000</fgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInProcessResearchAndDevelopment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419"
      decimals="-3"
      id="F_e0268d18-9d1f-47ea-a16f-eb17a7c5e6e4"
      unitRef="U_USD">25138000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419"
      decimals="-3"
      id="F_e2c57625-02ac-490b-a5fd-29cabb7c428a"
      unitRef="U_USD">2671000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <fgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities
      contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419"
      decimals="-3"
      id="F_18f10e05-791b-4609-91c4-d0026b2029cc"
      unitRef="U_USD">703000</fgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBusinessCombinationAccruedAndOtherCurrentLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities
      contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419"
      decimals="-3"
      id="F_30cd8b3f-92f3-4b8b-86ad-87bd17f40b63"
      unitRef="U_USD">3374000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <fgen:RedeemableNonControllingInterests
      contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419"
      decimals="-3"
      id="F_dc745de8-f747-4bf4-8b49-e94656bdc456"
      unitRef="U_USD">21480000</fgen:RedeemableNonControllingInterests>
    <us-gaap:NonredeemableNoncontrollingInterest
      contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419"
      decimals="-3"
      id="F_ad3fb24d-d4dc-4a12-afeb-130b9ded0a8d"
      unitRef="U_USD">520000</us-gaap:NonredeemableNoncontrollingInterest>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419"
      decimals="-3"
      id="F_00c9d375-b563-4f5f-92cc-933bb86e3965"
      unitRef="U_USD">-236000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <fgen:LossOnAssetAcquisition
      contextRef="C_f0c22d34-501b-48ca-857f-8481c9178419"
      decimals="-3"
      id="F_407aba60-08a5-4287-a8b2-a21aab95f547"
      unitRef="U_USD">-236000</fgen:LossOnAssetAcquisition>
    <us-gaap:AlternativeInvestmentMeasurementInput
      contextRef="C_12b09a60-f1ba-489d-80a0-5d51865c7616"
      decimals="1"
      id="F_985250f1-fbe0-4e31-8211-1a86a8e44b09"
      unitRef="U_pure">16.5</us-gaap:AlternativeInvestmentMeasurementInput>
    <fgen:FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets
      contextRef="C_986055b0-2f1f-4054-9df7-989f9b942219"
      decimals="-5"
      id="F_7a7b72d6-bc75-4989-a457-d3c0d85e54a6"
      unitRef="U_USD">24400000</fgen:FairValueOfTheAcquiredInProcessResearchAndDevelopmentAssets>
    <fgen:PaymentToOptionsExercised
      contextRef="C_a0e42a78-4719-467d-8c18-7cc053055418"
      decimals="-5"
      id="F_8c8aad1e-f6dc-4b98-a203-b7014e9e491b"
      unitRef="U_USD">80000000</fgen:PaymentToOptionsExercised>
    <us-gaap:PaymentForContingentConsiderationLiabilityInvestingActivities
      contextRef="C_a0e42a78-4719-467d-8c18-7cc053055418"
      decimals="-5"
      id="F_69b44864-dc94-4c88-9ef4-b07b8d782dfc"
      unitRef="U_USD">200000000</us-gaap:PaymentForContingentConsiderationLiabilityInvestingActivities>
    <us-gaap:VariableInterestEntityDisclosureTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_7976607f-dd87-4b40-8d81-564f36dce801">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;5.	Equity method investment - Variable Interest Entity&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;Falikang is a distribution entity jointly owned by AstraZeneca and FibroGen Beijing. FibroGen Beijing owns &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;51.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;% of the outstanding shares of Falikang.&lt;/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: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 guidance under ASC 810, the Company concluded that Falikang qualifies as a VIE. As Falikang is a distribution entity and AstraZeneca is the final decision maker for all the roxadustat commercialization activities, the Company lacks the power criterion, while AstraZeneca meets both the power and economic criteria under the ASC 810 to direct the activities of Falikang that most significantly impact its performance. Therefore, the Company is not the primary beneficiary of this VIE for accounting purposes. As a result, the Company accounts for its investment in Falikang under the equity method, and Falikang is not consolidated into the Company&#x2019;s consolidated financial statements. The Company records its total investments in Falikang as an equity method investment in an unconsolidated VIE in the consolidated balance sheet. In addition, the Company recognizes its proportionate share of the reported profits or losses of Falikang as investment gain or loss in unconsolidated VIE in the consolidated statement of operations and as an adjustment to its investment in Falikang in the consolidated balance sheet. The Company may provide shareholder loans to Falikang to meet necessary financial obligations as part of its operations. To date, there has been no such loans. During the year ended December 31, 2023, the Company received $&lt;/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 of dividend distribution from Falikang.&lt;/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="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 equity method investment in Falikang was as follows 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 (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:12pt;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;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:10.864%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.401%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:8.564%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.861%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.466000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.861%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.644%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.861%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.644%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.861%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.644%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.861%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.466000000000001%;"&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;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;Entity&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: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;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;Ownership Percentage&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: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 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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Share of Net Income&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Dividend Received&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Currency&lt;br/&gt;Translation&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;Falikang&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;51.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#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;text-align:left;"&gt;&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;5,061&lt;/span&gt;&lt;/p&gt;&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,638&lt;/span&gt;&lt;/p&gt;&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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,255&lt;/span&gt;&lt;/p&gt;&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;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;5,290&lt;/span&gt;&lt;/p&gt;&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: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;Falikang is considered as a related party to the Company. See Note 16, &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;Related Party Transactions&lt;/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 related disclosures.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 an ongoing basis, the Company re-evaluates the VIE assessment based on changes in facts and circumstances, including but not limited to, the shareholder loans received by Falikang and the execution of any future significant agreements between Falikang and its shareholders and/or other third parties. In addition, 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 assesses the impairment of its equity method investment whenever events or changes in circumstances indicate that a decrease in value of the investment has occurred that is other than temporary. There has been no such event or change in circumstances to date.&lt;/span&gt;&lt;/p&gt;</us-gaap:VariableInterestEntityDisclosureTextBlock>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="C_0e9698e7-fcf9-4952-8342-d9f58d82f63c"
      decimals="3"
      id="F_a627df2b-cb90-49b4-ae66-f14d7d578b15"
      unitRef="U_pure">0.511</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:InvestmentIncomeDividend
      contextRef="C_061a0b90-7f05-4b23-b2ae-a660d9e924e5"
      decimals="-5"
      id="F_0a9d5248-ac86-4b10-a3ca-592e162e3347"
      unitRef="U_USD">2300000</us-gaap:InvestmentIncomeDividend>
    <us-gaap:EquityMethodInvestmentsTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_b4aa7e2c-2809-4d5d-b0a7-247b7da98866">&lt;p style="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 equity method investment in Falikang was as follows 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 (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:12pt;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;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:10.864%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.401%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:8.564%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.861%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.466000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.861%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.644%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.861%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.644%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.861%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.644%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.861%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.466000000000001%;"&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;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;Entity&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: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;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;Ownership Percentage&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: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 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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;Share of Net Income&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Dividend Received&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Currency&lt;br/&gt;Translation&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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Balance at&lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;Falikang&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;51.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#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;text-align:left;"&gt;&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;5,061&lt;/span&gt;&lt;/p&gt;&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,638&lt;/span&gt;&lt;/p&gt;&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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,255&lt;/span&gt;&lt;/p&gt;&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;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;5,290&lt;/span&gt;&lt;/p&gt;&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:EquityMethodInvestmentsTextBlock>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="C_936d7fe1-23ee-4503-9a14-9385a4290304"
      decimals="3"
      id="F_3016d5a5-c550-41b8-a95f-1513c029b1ec"
      unitRef="U_pure">0.511</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="C_9db542ad-7e55-49ed-aab4-8fbed025472e"
      decimals="-3"
      id="F_5ccc02dd-e094-4ba5-b259-feac965a7305"
      unitRef="U_USD">5061000</us-gaap:EquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="C_a454d238-654d-4e8a-81ff-f9b70bc9f678"
      decimals="-3"
      id="F_e5d55d6a-8969-4be6-8777-716d1d760c83"
      unitRef="U_USD">2638000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:InvestmentIncomeDividend
      contextRef="C_a454d238-654d-4e8a-81ff-f9b70bc9f678"
      decimals="-3"
      id="F_4abe1041-16e2-44d0-a3ad-a4827ec8794d"
      unitRef="U_USD">2255000</us-gaap:InvestmentIncomeDividend>
    <fgen:EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation
      contextRef="C_a454d238-654d-4e8a-81ff-f9b70bc9f678"
      decimals="-3"
      id="F_7c31f435-9e84-45d4-b902-95b0cf281b99"
      unitRef="U_USD">-154000</fgen:EquityMethodInvestmentIncreaseDecreaseFromCurrencyTranslation>
    <us-gaap:EquityMethodInvestments
      contextRef="C_936d7fe1-23ee-4503-9a14-9385a4290304"
      decimals="-3"
      id="F_9456de51-42cd-42ed-ae3a-3d946ac3c19d"
      unitRef="U_USD">5290000</us-gaap:EquityMethodInvestments>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_22f56a31-6f0e-44e2-bdb1-3bea3d70fbc7">&lt;span&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;/span&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;In accordance with the authoritative guidance on fair value measurements and disclosures under U.S. GAAP, the Company presents all financial assets and liabilities and any other assets and liabilities that are recognized or disclosed at fair value on a nonrecurring basis. The guidance defines fair value, establishes a framework for measuring fair value in generally accepted accounting principles and expands disclosures about fair-value measurements. The guidance also requires fair value measurements be classified and disclosed in one of the following three categories:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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;Level 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;: Quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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;Level 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;: Observable inputs other than quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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;Level 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;: Unobservable inputs.&lt;/span&gt;&lt;/p&gt;&lt;p id="t0" style="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 values certain assets and liabilities, focusing on the inputs used to measure fair value, particularly in instances where the measurement uses significant unobservable (Level 3) inputs. The Company&#x2019;s financial instruments are valued using quoted prices in active markets (Level 1) or based upon other observable inputs (Level 2). The Company&#x2019;s assessment of the significance of a particular input to the fair value measurement in its entirety requires management to make judgments and considers factors specific to the asset or liability. In addition, the categories presented do not suggest how prices may be affected by the size of the purchases or sales, particularly with the largest highly liquid financial issuers who are in markets continuously with non-equity instruments, or how any such financial assets may be impacted by other factors such as U.S. government guarantees. Assets and liabilities measured at fair value are classified in their entirety based on the lowest level of input that is significant to the fair value measurement. The availability of observable data is monitored to assess appropriate classification of financial instruments within the fair value hierarchy. Depending upon the availability of such inputs, specific securities may &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;transfer between levels. In such instances, the transfer is reported at the end of the reporting period.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 values of the Company&#x2019;s financial assets that are measured on a recurring basis are as follows (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:10pt;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:36.867%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&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;Level 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;Level 2&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;Level 3&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;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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Corporate bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;13,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;13,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;/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;Commercial paper&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;88,289&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;88,289&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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. government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42,797&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,994&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;47,791&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Agency bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;9,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;9,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;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-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;55,085&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;117,105&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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,190&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;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;Level 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;Level 2&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;Level 3&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;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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,881&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,881&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Corporate bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;82,008&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;82,008&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Commercial paper&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;57,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;&#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;57,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;/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. government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;98,972&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;111,345&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Agency bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;11,468&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;11,468&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Asset-backed 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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;2,474&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;2,474&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Foreign government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;4,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;4,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;Convertible promissory note&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;&#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;1,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;118,853&lt;/span&gt;&lt;/p&gt;&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;170,684&lt;/span&gt;&lt;/p&gt;&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;1,000&lt;/span&gt;&lt;/p&gt;&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;290,537&lt;/span&gt;&lt;/p&gt;&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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s Level 2 investments are valued using third-party pricing sources. The pricing services utilize industry standard valuation models, including both income and market-based approaches, for which all significant inputs are observable, either directly or indirectly, to estimate fair value. These inputs include reported trades of and broker/dealer quotes on the same or similar investments, issuer credit spreads, benchmark investments, prepayment/default projections based on historical data and other observable inputs. During the years ended December 31, 2023 and 2022, the transfers of assets between levels was a total 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;20.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 $&lt;/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.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 transfer from Level 1 to Level 2, respectively, as such US treasury notes and bills were changed to off-the-run when they were issued before the most recent issue and were still outstanding at measurement day. There 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;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; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_7af5f620-a6f5-43d7-8a81-a22096889955;"&gt;&lt;span style="-sec-ix-hidden:F_a9c32616-f234-43aa-8b52-b408f0688471;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;transfers&lt;/span&gt;&lt;/span&gt;&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; of assets between levels for the year ended December 31, 2021.&lt;/span&gt;&lt;/p&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_9fe5db93-2dba-4a11-8456-37efe2cee54b">&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;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;In accordance with the authoritative guidance on fair value measurements and disclosures under U.S. GAAP, the Company presents all financial assets and liabilities and any other assets and liabilities that are recognized or disclosed at fair value on a nonrecurring basis. The guidance defines fair value, establishes a framework for measuring fair value in generally accepted accounting principles and expands disclosures about fair-value measurements. The guidance also requires fair value measurements be classified and disclosed in one of the following three categories:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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;Level 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;: Quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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;Level 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;: Observable inputs other than quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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;Level 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;: Unobservable inputs.&lt;/span&gt;&lt;/p&gt;&lt;p id="t0" style="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 values certain assets and liabilities, focusing on the inputs used to measure fair value, particularly in instances where the measurement uses significant unobservable (Level 3) inputs. The Company&#x2019;s financial instruments are valued using quoted prices in active markets (Level 1) or based upon other observable inputs (Level 2). The Company&#x2019;s assessment of the significance of a particular input to the fair value measurement in its entirety requires management to make judgments and considers factors specific to the asset or liability. In addition, the categories presented do not suggest how prices may be affected by the size of the purchases or sales, particularly with the largest highly liquid financial issuers who are in markets continuously with non-equity instruments, or how any such financial assets may be impacted by other factors such as U.S. government guarantees. Assets and liabilities measured at fair value are classified in their entirety based on the lowest level of input that is significant to the fair value measurement. The availability of observable data is monitored to assess appropriate classification of financial instruments within the fair value hierarchy. Depending upon the availability of such inputs, specific securities may &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;transfer between levels. In such instances, the transfer is reported at the end of the reporting period.&lt;/span&gt;&lt;/p&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_e7fb2cd7-6b08-420e-a856-62f7d7e4ec29">&lt;p style="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 values of the Company&#x2019;s financial assets that are measured on a recurring basis are as follows (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:10pt;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:36.867%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&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;Level 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;Level 2&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;Level 3&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;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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Corporate bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;13,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;13,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;/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;Commercial paper&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;88,289&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;88,289&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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. government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;42,797&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,994&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;47,791&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Agency bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;9,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;9,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;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-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;55,085&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;117,105&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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,190&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;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;Level 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;Level 2&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;Level 3&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;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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,881&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,881&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Corporate bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;82,008&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;82,008&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Commercial paper&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;57,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;&#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;57,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;/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. government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;98,972&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;111,345&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Agency bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;11,468&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;11,468&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Asset-backed 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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;2,474&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;2,474&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Foreign government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;4,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;4,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;Convertible promissory note&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;&#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;1,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;118,853&lt;/span&gt;&lt;/p&gt;&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;170,684&lt;/span&gt;&lt;/p&gt;&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;1,000&lt;/span&gt;&lt;/p&gt;&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;290,537&lt;/span&gt;&lt;/p&gt;&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:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="C_8eb581ca-daaf-4614-8f29-d32923f44ed1"
      decimals="-3"
      id="F_9fca51ac-47ff-4a71-81c3-5cf8d7ff5ad2"
      unitRef="U_USD">12288000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="C_2492c0a5-092b-4db0-ab54-2cb41fb20024"
      decimals="-3"
      id="F_fc738b29-e458-4757-b708-abf34d4c91cc"
      unitRef="U_USD">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="C_988a3f12-4d3b-4634-b6df-a7201ce3185c"
      decimals="-3"
      id="F_544753ca-3a30-4fb0-89a7-d1d447f0883a"
      unitRef="U_USD">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="C_70f4531d-ca48-4f5a-869a-abd180a9ca96"
      decimals="-3"
      id="F_bc9d8bdb-af3e-40cf-9038-9f7d155b38b0"
      unitRef="U_USD">12288000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_a7d36e78-cbfd-4b7f-a8c5-3cb3bd2490e5"
      decimals="-3"
      id="F_963e20e2-9447-4edb-bb99-d26d17901695"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_1d84acbb-5f03-4d4b-8e85-b915043554c7"
      decimals="-3"
      id="F_2527a30c-ae51-4df7-9d9a-859fa401ff3e"
      unitRef="U_USD">13992000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_56d0e822-a684-4ff1-839c-68f1dfbb7504"
      decimals="-3"
      id="F_6388c1c8-c942-40d8-9253-eed1101906e9"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_fb3fc31f-e16b-44ac-a3e3-31af42d00b5f"
      decimals="-3"
      id="F_fdbb57e5-e1c6-4900-b51a-9299c0c40cf5"
      unitRef="U_USD">13992000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_9d890592-a822-4a3d-b597-99d33459cbb9"
      decimals="-3"
      id="F_31faee73-9a85-444d-b8db-60e7f657de3b"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_70c0f8ea-eb0a-42c1-92aa-243d905a2ba6"
      decimals="-3"
      id="F_8028a6ff-5eaa-4807-935b-9f2523de5580"
      unitRef="U_USD">88289000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_b0d269b5-195b-4d57-92a7-c9011f90c4f8"
      decimals="-3"
      id="F_ddd34794-15f1-4950-8cfe-910ee189f33b"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_690ba101-7bcf-45b4-93ab-f75ecd71059c"
      decimals="-3"
      id="F_fe2767ad-28da-42d5-a516-ba545e583853"
      unitRef="U_USD">88289000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_b10232b4-a607-4beb-b644-228d14e03827"
      decimals="-3"
      id="F_f2a816a3-476b-4b7a-ad86-2ca100c20717"
      unitRef="U_USD">42797000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_4677bbd5-396e-460a-b9ea-1a8ef3003d69"
      decimals="-3"
      id="F_dfea06d9-7fd6-4668-99f3-96d5cce94402"
      unitRef="U_USD">4994000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_3d3f82e4-4816-4489-814c-866d2684ba8a"
      decimals="-3"
      id="F_d5f39bac-a2c9-4e6a-99d1-5d71a56a4454"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_f879e501-9478-46ef-a0a3-e2a2f87ba539"
      decimals="-3"
      id="F_04cbced6-cfbd-471e-8ed4-fbe60f8538e6"
      unitRef="U_USD">47791000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_89cd8d98-4602-4f81-a61b-d4c8ef1c1072"
      decimals="-3"
      id="F_c7adee1d-528b-42fc-a4fa-fa2c1ea2ba25"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_e0dba2f4-2e6e-4443-a2cc-ab934480fa42"
      decimals="-3"
      id="F_4e3f203b-2d81-4956-a821-aec65b0a5544"
      unitRef="U_USD">9830000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_7a4df5dc-804a-4240-84b6-1c6503fbfd52"
      decimals="-3"
      id="F_c9e83cd7-58d3-4e13-9df9-4d2a1572c55f"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_ec4572d4-87c0-4490-a5ed-bd108b5fac84"
      decimals="-3"
      id="F_b206c420-0902-4359-a831-6611cd2bddcf"
      unitRef="U_USD">9830000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_7f882109-50f6-410b-bd71-d6aee5676342"
      decimals="-3"
      id="F_bb5a34c2-cb1c-48a4-8325-f7f948c69c91"
      unitRef="U_USD">55085000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_fb7c0467-3dd7-4a7d-8bdc-fe7a383febc7"
      decimals="-3"
      id="F_6c0ea0bf-7bdc-419f-b604-9e5d0bb3f14b"
      unitRef="U_USD">117105000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_c60666af-5915-44bf-9839-b31f58215399"
      decimals="-3"
      id="F_81737fd7-1ddd-42c8-801a-aaa38bde5616"
      unitRef="U_USD">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_1cda9703-aeb4-445a-b6b1-adf222eadc12"
      decimals="-3"
      id="F_ce97bec7-93b2-4b80-9c01-4723e5f51712"
      unitRef="U_USD">172190000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="C_b31fe196-c209-4ef2-9448-6a212cb030e3"
      decimals="-3"
      id="F_3dccea9f-44aa-45a7-8a37-0ba386a107e0"
      unitRef="U_USD">19881000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="C_112d19ca-27a2-469c-8f59-37ee2038176f"
      decimals="-3"
      id="F_44ab3bf2-445b-4894-8145-74fdfe029c68"
      unitRef="U_USD">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="C_222c8437-de38-43f8-96f8-8c1bcc2afec6"
      decimals="-3"
      id="F_297f7d47-c59f-4c91-b531-072a8994598e"
      unitRef="U_USD">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="C_56a03efb-f6a6-465a-ae75-afed946d1ab2"
      decimals="-3"
      id="F_95acf7e8-f9ab-4b3d-901c-cbfea2718583"
      unitRef="U_USD">19881000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_e948d7d6-4033-4805-9359-234a74d76217"
      decimals="-3"
      id="F_18a40113-ee92-40aa-9f30-a1f0ac54e551"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_a1bf767b-4c9c-475d-9944-9f21f37f5d35"
      decimals="-3"
      id="F_163a6d99-45a7-458b-af51-c88ed4d788e3"
      unitRef="U_USD">82008000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_88a9527f-c19c-4262-9a0b-0c86673d1614"
      decimals="-3"
      id="F_e360f479-f843-441d-af37-fa90baac065b"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_b0dd58a0-ab0d-4e16-9fee-d4c7c815b5a9"
      decimals="-3"
      id="F_7663ccf5-c4eb-4a7d-9fe9-fe60695ccc77"
      unitRef="U_USD">82008000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_c61bb21b-1985-402e-81d6-06df73323bb4"
      decimals="-3"
      id="F_1b0f45ed-d630-49d7-a24c-fcb262f0bc5d"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_ded8be4c-3bff-46bc-8353-7ded2d8b525a"
      decimals="-3"
      id="F_24f03eb3-7df4-463b-aca2-33660fe861cf"
      unitRef="U_USD">57381000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_daef42d2-df58-4844-9670-0dbd9e4afb13"
      decimals="-3"
      id="F_8a172f7e-4714-43c7-b068-a8c9256acb50"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_e665c10a-3d2b-4ec4-8bde-27f0bccf1d4f"
      decimals="-3"
      id="F_6c74663f-f19e-483a-9081-3438180b3dce"
      unitRef="U_USD">57381000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_e86a2990-803e-4f7b-a835-1af10a81cf5c"
      decimals="-3"
      id="F_72a557d0-850d-40c7-bff6-a191697f68d9"
      unitRef="U_USD">98972000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_f29fd6eb-9bd2-496a-b4d7-1aa33757bd06"
      decimals="-3"
      id="F_6c95a64d-b6b2-46cb-b4fe-99081a4acb00"
      unitRef="U_USD">12373000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_db7b6315-4893-4093-a8e3-4f206f41e360"
      decimals="-3"
      id="F_61c841f5-f886-4b3c-ae83-649dadf8b15c"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_9c928c5d-22e1-46f8-bb0e-197d157ef959"
      decimals="-3"
      id="F_45d3cd31-1336-47c3-b0c2-be3ec44e3a3b"
      unitRef="U_USD">111345000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_7560889c-d789-4d6d-900a-30785ab39b33"
      decimals="-3"
      id="F_6cd3b20a-9d9a-4faf-954e-b3dd4bbe04d8"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_51eeb100-a8cf-4f3c-9d36-38c654db3929"
      decimals="-3"
      id="F_22cb7f57-78dc-4df9-a0e5-07f0e178ce9d"
      unitRef="U_USD">11468000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_d23bf171-219a-4e80-b1f1-e64e5cd1757e"
      decimals="-3"
      id="F_13967ed4-785a-4f47-8b23-ddfa375c2a49"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_36ecc7bf-c41d-460b-92f3-3ab64b425d0e"
      decimals="-3"
      id="F_55b4f17e-6606-444c-8e66-68021b6aa7ee"
      unitRef="U_USD">11468000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_a1db9951-e8e6-483c-abeb-2ea1de5b512e"
      decimals="-3"
      id="F_3f242eba-2671-4137-9004-36b9b0440d70"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_c075cc89-6b9f-4627-a708-e7978888b2d5"
      decimals="-3"
      id="F_c5e14a31-aec2-4f5a-b5f7-8bd78d4ad3c4"
      unitRef="U_USD">2474000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_51afc4dc-9629-4c33-9580-80d7c32dc761"
      decimals="-3"
      id="F_f9f3666b-d146-4b03-8c1f-f27fb1f1ac5d"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_b912fa2f-c4c4-4113-912b-a71f8ce9fde9"
      decimals="-3"
      id="F_feaf14e7-b7d6-434b-8d13-fb602d5e4ea6"
      unitRef="U_USD">2474000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_347617c4-c1a5-4907-b38b-a86639c20bc8"
      decimals="-3"
      id="F_900d589c-db77-4f81-b5ad-13a15e9b7f77"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_abbae10e-c5f9-4774-bf94-bad4b1bc9b52"
      decimals="-3"
      id="F_57eb835a-f0ec-483e-af06-5904e312d011"
      unitRef="U_USD">4980000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_81733a62-ea6b-4fb8-ac1a-6361b593f3a9"
      decimals="-3"
      id="F_eb3d7b83-2b5a-457d-a20d-7424f49b0149"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_88505922-bad8-4351-92b5-ba7d82e86b0b"
      decimals="-3"
      id="F_57d221d6-1778-49e7-9f05-82f509bf4c05"
      unitRef="U_USD">4980000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_449f708b-00d7-40ff-a656-df58936be1ca"
      decimals="-3"
      id="F_335e5794-1682-4053-8023-09a658c4f481"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_e89e03ad-6968-4126-8e82-d384cf6625eb"
      decimals="-3"
      id="F_01e15856-fcbb-4766-956d-3ef8fd382a20"
      unitRef="U_USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_ebd00914-687d-46b8-9d96-a90abc45db5b"
      decimals="-3"
      id="F_24c46222-6c7a-40bd-b46b-13d50e744ee4"
      unitRef="U_USD">1000000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_baf4e5d4-5795-4d34-8c60-de3fb2853bcb"
      decimals="-3"
      id="F_2d1c07fb-6075-4e0c-99f6-0535d432f26c"
      unitRef="U_USD">1000000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_b3f9d51b-4276-43fa-baaf-623b7b0b5c83"
      decimals="-3"
      id="F_601a4f2f-2720-4dfc-a820-89695161c0d9"
      unitRef="U_USD">118853000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_d5360206-f3de-41b6-ad8b-c2f52de6903e"
      decimals="-3"
      id="F_d9946415-820d-489a-b75e-152576c6d7c5"
      unitRef="U_USD">170684000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_2a9fd702-bb23-464b-9bb3-bd219552aacc"
      decimals="-3"
      id="F_fd8f57ba-8d04-4f7b-8f68-4a82c65f58ce"
      unitRef="U_USD">1000000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="C_dd069db0-06fc-4779-860f-d968de38ad92"
      decimals="-3"
      id="F_3d6a7fea-b3b4-4706-949c-1b585cd7b8e2"
      unitRef="U_USD">290537000</us-gaap:AssetsFairValueDisclosure>
    <fgen:FairValueAssetsLevel1ToLevel2TransferAmount
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-5"
      id="F_dfbc7d23-6fec-466e-886d-17ed24d441c7"
      unitRef="U_USD">20400000</fgen:FairValueAssetsLevel1ToLevel2TransferAmount>
    <fgen:FairValueAssetsLevel1ToLevel2TransferAmount
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-5"
      id="F_9375b615-2a2c-4ade-ac55-fbfae6996929"
      unitRef="U_USD">10500000</fgen:FairValueAssetsLevel1ToLevel2TransferAmount>
    <fgen:FairValueAssetsLevel1ToLevel2TransferAmount
      contextRef="C_51790052-a00c-4d1f-b3b3-7bef5e668b8a"
      decimals="INF"
      id="F_f8ebc414-81b4-4f2c-8528-d4263eb09e99"
      unitRef="U_USD">0</fgen:FairValueAssetsLevel1ToLevel2TransferAmount>
    <fgen:FairValueAssetsLevel2ToLevel1TransferAmount
      contextRef="C_51790052-a00c-4d1f-b3b3-7bef5e668b8a"
      decimals="INF"
      id="F_4e5aec19-61ad-481f-bc06-f3d3c255a7d1"
      unitRef="U_USD">0</fgen:FairValueAssetsLevel2ToLevel1TransferAmount>
    <fgen:LeasesDisclosureTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_565ba961-1856-4cf3-a26a-00738d6d0c69">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;7.	Leases&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;The Company&#x2019;s long-term property lease with Alexandria for its corporate headquarters in San Francisco, California, had an initial term 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;15&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, scheduled to expire in &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;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 original lease was accounted for as a finance lease. &lt;br/&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;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;On June 1, 2021, the Company entered into an amendment with Alexandria to extend the lease to &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;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; (&#x201c;Lease Amendment&#x201d;). &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;Under the terms of the Lease Amendment, the Company has &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;two&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; optional rights to each &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;extend&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 lease for an additional &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&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; The lease contract provides for a fixed annual rent, with scheduled increases 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;two&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; percent that occur on each anniversary of the rent commencement date through &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;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;, and with scheduled increases 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;three&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; percent that occur on each anniversary of the rent commencement date through &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;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;. This lease requires the Company to pay all costs of ownership, operation, and maintenance of the premises, including without limitation all operating costs, insurance costs, and taxes.&lt;/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: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 determined that the Lease Amendment was a lease modification, effective June 1, 2021, and thus reassessed the lease classification, remeasured the related lease liability using an updated discount rate, and adjusted the related right-of-use asset under the lease modification guidance under the ASC 842. Accordingly, on June 1, 2021, the Company determined that the modified lease be accounted for as an operating lease, and therefore derecognized the previous finance lease right-of-use asset 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;24.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 related finance lease 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;32.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 recognized an operating lease right-of-use asset 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;93.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 related operating lease 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;101.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. Starting June 1, 2021, the cash payment related to this lease was classified as an operating activity.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 first quarter of 2021, after FibroGen Beijing&#x2019;s previous long-term lease agreement expired, the Company entered into a new lease agreement with the landlord for the same pilot plant located in Beijing Yizhuang Biomedical Park of BDA. The new lease term is &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 year&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;, scheduled to expire in &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;2026&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;, and is treated as an operating lease. Accordingly, 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;3.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 operating right-of-use assets and total operating lease liabilities, respectively. The lease contract provides for fixed quarterly rent payments, and requires the Company to pay operating and maintenance costs.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 currently has several additional real estate leases for office spaces in Shanghai and Beijing, China, which are treated as operating leases. These leases have lease terms ranging from &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_c2593476-76e4-4f28-a5db-a97a3c46c121;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;one&lt;/span&gt;&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 &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;, expiring in &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;2026&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;. These lease contracts provide for fixed quarterly rent payments, and require the Company to pay operating and maintenance costs, and a fixed amount for property management fees.&lt;/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: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 addition, the Company has several immaterial lease arrangements in China and U.S. for office equipment and automobile leases, with contracted lease terms ranging from &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_8e85a034-f27b-4aca-9e79-82a8f7ef2519;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;one&lt;/span&gt;&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 &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;six 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;, treated as finance leases or operating leases.&lt;/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="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;"&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 lease assets and related lease liabilities were as follows (in thousands):&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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:36.28%;"&gt;&lt;/td&gt;
        &lt;td style="width:34.36%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.02%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.66%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.02%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.66%;"&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;min-width:fit-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="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;"&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;"&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;Balance Sheet Line Item&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:left;"&gt;&lt;span style="white-space:pre-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:bottom;"&gt;&lt;p style="font-size:10pt;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;Assets&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="white-space:pre-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="white-space:pre-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;/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;Finance:&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="white-space:pre-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="white-space:pre-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;/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;Right-of-use assets cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,478&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,367&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Accumulated amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,325&lt;/span&gt;&lt;/p&gt;&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;1,932&lt;/span&gt;&lt;/p&gt;&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;Finance lease right-of-use assets, net&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&gt;&lt;span style="-sec-ix-hidden:F_b44be62d-5204-417d-8837-1e45bd5dd09f;"&gt;&lt;span style="-sec-ix-hidden:F_73b7a46f-561b-4f66-8700-e955b456ad1f;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other assets&lt;/span&gt;&lt;/span&gt;&lt;/span&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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;435&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&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;Operating:&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Right-of-use assets cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,010&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;101,990&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Accumulated amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;34,917&lt;/span&gt;&lt;/p&gt;&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;22,097&lt;/span&gt;&lt;/p&gt;&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;Operating lease right-of-use assets, net&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="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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;68,093&lt;/span&gt;&lt;/p&gt;&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,893&lt;/span&gt;&lt;/p&gt;&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:25pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:25pt;text-indent:0;font-size:10pt;margin-top:0;font-family: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 lease assets&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;68,246&lt;/span&gt;&lt;/p&gt;&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;80,328&lt;/span&gt;&lt;/p&gt;&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:#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="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="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;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;Liabilities&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="white-space:pre-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="white-space:pre-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;/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;Current:&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="white-space:pre-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="white-space:pre-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;/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;Finance 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&gt;&lt;span style="-sec-ix-hidden:F_79975e56-b464-43de-aee3-7997152e9a97;"&gt;&lt;span style="-sec-ix-hidden:F_4843918f-50da-42e9-9edd-e9aec5e36569;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued and other current liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liabilities, 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;10,292&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&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;Non-current:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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="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;Finance lease 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&gt;&lt;span style="-sec-ix-hidden:F_5a2a9269-135e-4529-b640-63b2d92ecbbc;"&gt;&lt;span style="-sec-ix-hidden:F_6f1a9fbe-5bf0-4be8-adbe-2502374befd0;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other long-term liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&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;104&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;137&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Operating lease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liabilities, non-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;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;66,537&lt;/span&gt;&lt;/p&gt;&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;79,593&lt;/span&gt;&lt;/p&gt;&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 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:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;80,758&lt;/span&gt;&lt;/p&gt;&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;90,058&lt;/span&gt;&lt;/p&gt;&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 style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;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;"&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 lease expense were as follows (in thousands):&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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:25.965%;"&gt;&lt;/td&gt;
        &lt;td style="width:34.127%;"&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:9.862%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.36%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.862%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.36%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.862%;"&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;min-width:fit-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: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;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;"&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;"&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;Statement of Operations Line Item&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:left;"&gt;&lt;span style="white-space:pre-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:10pt;background-color:#cff0fc;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;min-width:fit-content;"&gt;Finance lease cost:&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="white-space:pre-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="white-space:pre-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="white-space:pre-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;/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;Amortization of &lt;br/&gt;&#160;&#160;&#160;right-of-use assets&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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cost of goods sold; &lt;br/&gt;Research and development; &lt;br/&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;412&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;587&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,639&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Interest on lease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Interest 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;628&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cost of goods sold; &lt;br/&gt;Research and development; &lt;br/&gt;Selling, general and administrative expenses&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;17,006&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,125&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,722&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Sublease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,024&lt;/span&gt;&lt;/p&gt;&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;3,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="color:#000000;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;1,271&lt;/span&gt;&lt;/p&gt;&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: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 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:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;14,395&lt;/span&gt;&lt;/p&gt;&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;14,339&lt;/span&gt;&lt;/p&gt;&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;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:top;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,718&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;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="font-size: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:10pt;font-family:Times New Roman;"&gt;&lt;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;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Supplemental cash flow information related to leases were as follows (in thousands):&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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:60.616%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.748%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.748%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.748%;"&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;min-width:fit-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;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;"&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;"&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:10pt;background-color:#cff0fc;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 paid for amounts included in the measurement of lease liabilities:&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="white-space:pre-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="white-space:pre-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="white-space:pre-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;/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;Operating cash flows from 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,497&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 cash flows from finance 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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;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;/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;Financing cash flows from finance leases&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;148&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,489&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&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;Non-cash: Right-of-use assets obtained in exchange for new lease liabilities:&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 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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Finance 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;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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;261&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;1,278&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,704&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;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;Non-cash: Increase (decrease) resulting from lease modification:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;tr style="height:10pt;background-color:#cff0fc;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;Finance 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;&#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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,654&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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;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;&#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;93,222&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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;Finance lease liabilities, 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,587&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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;Operating lease liabilities, 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;9,221&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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;Finance lease liabilities, non-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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,009&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;Operating lease liabilities, non-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;&#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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;91,943&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align: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 style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;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;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Lease term and discount rate were as follows:&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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.52%;"&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:19.42%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&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:19.42%;"&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;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 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;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:#cff0fc;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;min-width:fit-content;"&gt;Weighted-average remaining lease term (years):&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="white-space:pre-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="white-space:pre-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;/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;Finance 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&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.9&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.9&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:#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&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.8&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.8&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;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;min-width:fit-content;"&gt;Weighted-average discount rate:&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 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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Finance leases&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;6.17&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;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;4.75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;4.75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:10pt;font-family:Times New Roman;"&gt;&lt;p style="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;Maturities of 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 (in thousands):&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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.52%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.28%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:18.959999999999997%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.28%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:18.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: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;Year Ending 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;Finance Leases&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;Operating Leases&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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,554&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&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="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,836&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&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="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,082&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:#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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,401&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 future lease payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;162&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;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-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,349&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Less: Interest&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;18&lt;/span&gt;&lt;/p&gt;&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: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="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;9,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:#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;Present value of lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;144&lt;/span&gt;&lt;/p&gt;&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: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="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;80,614&lt;/span&gt;&lt;/p&gt;&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;</fgen:LeasesDisclosureTextBlock>
    <us-gaap:LesseeFinanceLeaseTermOfContract1
      contextRef="C_53afc120-1223-45ae-a543-af15c842403d"
      id="F_25043562-0ce2-49be-8902-13e33d6bec88">P15Y</us-gaap:LesseeFinanceLeaseTermOfContract1>
    <fgen:LesseeFinanceLeaseExpirationPeriod
      contextRef="C_9db76bb1-b3a5-45e5-aaea-7106d4b50ec2"
      id="F_876b7e9b-d1bf-459f-821f-794836899cfb">2023</fgen:LesseeFinanceLeaseExpirationPeriod>
    <fgen:LesseeFinanceLeaseAdditionalLeaseExpirationPeriod
      contextRef="C_186be332-a1c2-4e53-84ff-55113081329f"
      id="F_b181f80b-1f5b-44d9-b120-25aab55e7969">2028</fgen:LesseeFinanceLeaseAdditionalLeaseExpirationPeriod>
    <us-gaap:LesseeFinanceLeaseOptionToExtend
      contextRef="C_186be332-a1c2-4e53-84ff-55113081329f"
      id="F_4d6df748-3589-4888-8ca7-6d1ccd257067">Under the terms of the Lease Amendment, the Company has two optional rights to each extend the lease for an additional five years.</us-gaap:LesseeFinanceLeaseOptionToExtend>
    <fgen:NumberOfOptionalRightsToExtendLease
      contextRef="C_186be332-a1c2-4e53-84ff-55113081329f"
      decimals="INF"
      id="F_40d244dd-190a-4f5f-9a3f-d43c0bfccdc4"
      unitRef="U_Option">2</fgen:NumberOfOptionalRightsToExtendLease>
    <us-gaap:LesseeFinanceLeaseExistenceOfOptionToExtend
      contextRef="C_186be332-a1c2-4e53-84ff-55113081329f"
      id="F_cd54ddd4-199e-4491-a5c4-b85a02efba83">true</us-gaap:LesseeFinanceLeaseExistenceOfOptionToExtend>
    <fgen:LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm
      contextRef="C_186be332-a1c2-4e53-84ff-55113081329f"
      id="F_d723db14-8d4d-4813-9706-93f4367eeb27">P5Y</fgen:LesseeFinanceLeaseOptionToExtendAdditionalLeaseTerm>
    <fgen:PercentageIncreasesOnEachAnniversaryOfRentCommencementDate
      contextRef="C_186be332-a1c2-4e53-84ff-55113081329f"
      decimals="2"
      id="F_de0833f2-e7e5-4631-bab8-a48fe9795a5b"
      unitRef="U_pure">0.02</fgen:PercentageIncreasesOnEachAnniversaryOfRentCommencementDate>
    <fgen:ScheduledRentCommencementYearOptionOne
      contextRef="C_186be332-a1c2-4e53-84ff-55113081329f"
      id="F_7dba4b03-2aff-444b-bf0f-eb9ae8cab372">2023</fgen:ScheduledRentCommencementYearOptionOne>
    <fgen:PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo
      contextRef="C_186be332-a1c2-4e53-84ff-55113081329f"
      decimals="2"
      id="F_f33bc8ef-173d-46f7-aee4-77410ea6bd7a"
      unitRef="U_pure">0.03</fgen:PercentageIncreasesOnAnniversaryOfRentCommencementDateOptionTwo>
    <fgen:ScheduledRentCommencementYearOptionTwo
      contextRef="C_186be332-a1c2-4e53-84ff-55113081329f"
      id="F_2dd99076-b749-44c6-bffa-f722cb00a38f">2028</fgen:ScheduledRentCommencementYearOptionTwo>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="C_f112fe27-cd15-4629-a0b6-afc4a980ea28"
      decimals="-5"
      id="F_7370918c-fd83-4069-8814-f2636705f3e5"
      unitRef="U_USD">24600000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseLiability
      contextRef="C_f112fe27-cd15-4629-a0b6-afc4a980ea28"
      decimals="-5"
      id="F_07509935-fb35-4384-bb91-2c716cad1c47"
      unitRef="U_USD">32600000</us-gaap:FinanceLeaseLiability>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_f112fe27-cd15-4629-a0b6-afc4a980ea28"
      decimals="-5"
      id="F_b2ac3a26-76f9-4233-a799-a5b2778ab396"
      unitRef="U_USD">93200000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiability
      contextRef="C_f112fe27-cd15-4629-a0b6-afc4a980ea28"
      decimals="-5"
      id="F_6c8ab93f-f06b-4472-b4cb-3badf54b50a0"
      unitRef="U_USD">101200000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="C_cc135707-aa68-4991-8e25-405841d96721"
      id="F_388791d8-42bb-45fd-a22f-5a7ac0ede545">P5Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <fgen:LesseeOperatingLeaseExpirationPeriod
      contextRef="C_89069d82-173b-486d-b18a-12e0ed848777"
      id="F_587c7331-813c-4bbd-b7b0-e210471e79d5">2026</fgen:LesseeOperatingLeaseExpirationPeriod>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_cc135707-aa68-4991-8e25-405841d96721"
      decimals="-5"
      id="F_8a912e34-a4e2-4577-aa87-d1955f443969"
      unitRef="U_USD">3400000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiability
      contextRef="C_cc135707-aa68-4991-8e25-405841d96721"
      decimals="-5"
      id="F_fa1ec07c-41a0-4e10-a7cd-87662861383b"
      unitRef="U_USD">3400000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="C_db1c0239-aeb1-4148-8dfe-f3b5578ab393"
      id="F_69aae668-754a-417c-870b-0d381a21b3df">P5Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <fgen:LesseeOperatingLeaseExpirationPeriod
      contextRef="C_4ee03e1e-6501-4b6d-977d-f1e6fc2a7874"
      id="F_a5c9bb0a-6f3d-4ca5-9f88-ca824ae00206">2026</fgen:LesseeOperatingLeaseExpirationPeriod>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="C_2ce15aee-90af-4927-a5c8-a4a1f974398a"
      id="F_c97d5223-dfb7-41aa-b634-1ccbaf644d42">P6Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <fgen:ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_cfd18988-cbcb-4875-ac34-bc8a61b837aa">&lt;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;"&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 lease assets and related lease liabilities were as follows (in thousands):&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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:36.28%;"&gt;&lt;/td&gt;
        &lt;td style="width:34.36%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.02%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.66%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.02%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.66%;"&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;min-width:fit-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="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;"&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;"&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;Balance Sheet Line Item&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:left;"&gt;&lt;span style="white-space:pre-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:bottom;"&gt;&lt;p style="font-size:10pt;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;Assets&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="white-space:pre-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="white-space:pre-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;/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;Finance:&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="white-space:pre-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="white-space:pre-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;/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;Right-of-use assets cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,478&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,367&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Accumulated amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,325&lt;/span&gt;&lt;/p&gt;&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;1,932&lt;/span&gt;&lt;/p&gt;&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;Finance lease right-of-use assets, net&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&gt;&lt;span style="-sec-ix-hidden:F_b44be62d-5204-417d-8837-1e45bd5dd09f;"&gt;&lt;span style="-sec-ix-hidden:F_73b7a46f-561b-4f66-8700-e955b456ad1f;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other assets&lt;/span&gt;&lt;/span&gt;&lt;/span&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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;435&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&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;Operating:&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Right-of-use assets cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,010&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;101,990&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Accumulated amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;34,917&lt;/span&gt;&lt;/p&gt;&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;22,097&lt;/span&gt;&lt;/p&gt;&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;Operating lease right-of-use assets, net&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="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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;68,093&lt;/span&gt;&lt;/p&gt;&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,893&lt;/span&gt;&lt;/p&gt;&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:25pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:25pt;text-indent:0;font-size:10pt;margin-top:0;font-family: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 lease assets&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;68,246&lt;/span&gt;&lt;/p&gt;&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;80,328&lt;/span&gt;&lt;/p&gt;&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:#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="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="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;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;Liabilities&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="white-space:pre-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="white-space:pre-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;/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;Current:&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="white-space:pre-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="white-space:pre-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;/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;Finance 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&gt;&lt;span style="-sec-ix-hidden:F_79975e56-b464-43de-aee3-7997152e9a97;"&gt;&lt;span style="-sec-ix-hidden:F_4843918f-50da-42e9-9edd-e9aec5e36569;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Accrued and other current liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liabilities, 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;10,292&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&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;Non-current:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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="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;Finance lease 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&gt;&lt;span style="-sec-ix-hidden:F_5a2a9269-135e-4529-b640-63b2d92ecbbc;"&gt;&lt;span style="-sec-ix-hidden:F_6f1a9fbe-5bf0-4be8-adbe-2502374befd0;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Other long-term liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&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;104&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;137&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Operating lease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Operating lease liabilities, non-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;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;66,537&lt;/span&gt;&lt;/p&gt;&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;79,593&lt;/span&gt;&lt;/p&gt;&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 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:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;80,758&lt;/span&gt;&lt;/p&gt;&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;90,058&lt;/span&gt;&lt;/p&gt;&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;</fgen:ScheduleOfLeaseAssetsAndRelatedLeaseLiabilitiesTableTextBlock>
    <fgen:FinanceLeaseRightOfUseAssetsCost
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_aeae8ca7-e25e-4c59-b464-2dcc18941696"
      unitRef="U_USD">2478000</fgen:FinanceLeaseRightOfUseAssetsCost>
    <fgen:FinanceLeaseRightOfUseAssetsCost
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_a33c93e4-6d48-415b-8d47-7072f5de2995"
      unitRef="U_USD">2367000</fgen:FinanceLeaseRightOfUseAssetsCost>
    <fgen:FinanceLeaseAccumulatedAmortization
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_ec3bc9d8-ee8a-4fe4-83fb-992bf94126f2"
      unitRef="U_USD">2325000</fgen:FinanceLeaseAccumulatedAmortization>
    <fgen:FinanceLeaseAccumulatedAmortization
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_10457441-4b65-4d4e-bd66-e4688c4b5d63"
      unitRef="U_USD">1932000</fgen:FinanceLeaseAccumulatedAmortization>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_2984e74d-cbe3-42a7-959e-096329b5209b"
      unitRef="U_USD">153000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_77cd9e1c-25db-4846-8082-0a84a68faeaa"
      unitRef="U_USD">435000</us-gaap:FinanceLeaseRightOfUseAsset>
    <fgen:OperatingLeaseRightOfUseAssetsCost
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_8864d5ab-7e94-4983-b5f9-7c13d0219d77"
      unitRef="U_USD">103010000</fgen:OperatingLeaseRightOfUseAssetsCost>
    <fgen:OperatingLeaseRightOfUseAssetsCost
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_97b276a9-9226-46d6-b159-06ca44733acf"
      unitRef="U_USD">101990000</fgen:OperatingLeaseRightOfUseAssetsCost>
    <fgen:OperatingLeaseAccumulatedAmortization
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_b22c8d4c-3c06-441a-b2f1-381f2ea13fa2"
      unitRef="U_USD">34917000</fgen:OperatingLeaseAccumulatedAmortization>
    <fgen:OperatingLeaseAccumulatedAmortization
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_66681940-a726-436a-8f75-44318b593736"
      unitRef="U_USD">22097000</fgen:OperatingLeaseAccumulatedAmortization>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_1df92900-9a20-4d75-bee6-1748d409a88d"
      unitRef="U_USD">68093000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_f7befc00-57ce-4b32-a5dd-68d6cb355218"
      unitRef="U_USD">79893000</us-gaap:OperatingLeaseRightOfUseAsset>
    <fgen:FinanceLeaseAndOperatingLeaseAssets
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_d1c31f59-a6c1-435e-ba79-ddd1478cebd9"
      unitRef="U_USD">68246000</fgen:FinanceLeaseAndOperatingLeaseAssets>
    <fgen:FinanceLeaseAndOperatingLeaseAssets
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_56689155-665c-4bf1-abfe-8298ee0e77fc"
      unitRef="U_USD">80328000</fgen:FinanceLeaseAndOperatingLeaseAssets>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_34b794e6-3fc7-4bb2-96a6-9c1bed1e29d3"
      unitRef="U_USD">40000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_f9bbcbd2-80be-4896-90cd-d68b41226a05"
      unitRef="U_USD">36000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_283af6b2-e488-416e-907f-ec5aff91c5b4"
      unitRef="U_USD">14077000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_4615e22a-b32b-44f9-a531-c4d9ce7e197d"
      unitRef="U_USD">10292000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_c7ab0053-a990-4294-883f-175034eaa67c"
      unitRef="U_USD">104000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_f20ff5ea-5082-41dc-b52c-36e825fe415b"
      unitRef="U_USD">137000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_874de837-a732-4a1a-bb4c-cdafe14fdb34"
      unitRef="U_USD">66537000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_ddab75f1-f3c2-4bcb-8740-edbe67ac320e"
      unitRef="U_USD">79593000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <fgen:FinanceLeaseAndOperatingLeaseLiability
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_6cf4c715-93cc-4cd8-a831-c41bec2c136e"
      unitRef="U_USD">80758000</fgen:FinanceLeaseAndOperatingLeaseLiability>
    <fgen:FinanceLeaseAndOperatingLeaseLiability
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_0ca72abd-e5d0-448d-83b6-be60c6235ba9"
      unitRef="U_USD">90058000</fgen:FinanceLeaseAndOperatingLeaseLiability>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_f6148e44-c2ea-481c-b7a7-f712d4256039">&lt;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;"&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 lease expense were as follows (in thousands):&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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:25.965%;"&gt;&lt;/td&gt;
        &lt;td style="width:34.127%;"&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:9.862%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.36%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.862%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.36%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.862%;"&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;min-width:fit-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: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;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;"&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;"&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;Statement of Operations Line Item&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:left;"&gt;&lt;span style="white-space:pre-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:10pt;background-color:#cff0fc;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;min-width:fit-content;"&gt;Finance lease cost:&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="white-space:pre-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="white-space:pre-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="white-space:pre-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;/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;Amortization of &lt;br/&gt;&#160;&#160;&#160;right-of-use assets&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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cost of goods sold; &lt;br/&gt;Research and development; &lt;br/&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;412&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;587&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,639&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Interest on lease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Interest 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;628&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Cost of goods sold; &lt;br/&gt;Research and development; &lt;br/&gt;Selling, general and administrative expenses&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;17,006&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,125&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,722&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Sublease 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,024&lt;/span&gt;&lt;/p&gt;&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;3,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="color:#000000;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;1,271&lt;/span&gt;&lt;/p&gt;&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: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 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:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;14,395&lt;/span&gt;&lt;/p&gt;&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;14,339&lt;/span&gt;&lt;/p&gt;&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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;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:top;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,718&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;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="font-size: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:LeaseCostTableTextBlock>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_c26e2924-df75-4f2c-86ab-d800c4d0a632"
      unitRef="U_USD">412000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_6bf99e41-3006-47e1-ab29-e5d6596b152d"
      unitRef="U_USD">587000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_5462cb2f-51eb-483a-a2e9-01d1a4106280"
      unitRef="U_USD">4639000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_c0102817-c39e-4042-96bb-125b4afc0485"
      unitRef="U_USD">1000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_7d72ab55-44d0-4664-aa13-161777f8049f"
      unitRef="U_USD">0</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_1cf0115d-294e-443e-af98-fd5fa60dba08"
      unitRef="U_USD">628000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:OperatingLeaseCost
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_a53456b8-9906-49c7-8a7e-0703b183adaf"
      unitRef="U_USD">17006000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_a961334d-13b8-4391-8b0f-b5e0265cc2e2"
      unitRef="U_USD">17125000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_a6fbc417-d7fb-45b4-a99f-b8673f017fe0"
      unitRef="U_USD">10722000</us-gaap:OperatingLeaseCost>
    <us-gaap:SubleaseIncome
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_ec0611c6-ebb5-4042-8e66-da43f0e56334"
      unitRef="U_USD">3024000</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_239bade1-e09f-4120-a385-b034b4d482df"
      unitRef="U_USD">3373000</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_fca359a7-4d59-43b8-bce7-150f66a73378"
      unitRef="U_USD">1271000</us-gaap:SubleaseIncome>
    <us-gaap:LeaseCost
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_f31fd15b-0430-419a-a65b-c0c28ef428df"
      unitRef="U_USD">14395000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_261cc37e-4dad-44df-bc65-978731dffcaf"
      unitRef="U_USD">14339000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_03e5bb2b-1b62-4a70-8b74-1320da4de828"
      unitRef="U_USD">14718000</us-gaap:LeaseCost>
    <fgen:ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_55b52f0a-0301-466b-9a6f-a9fd6ec739c7">&lt;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;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Supplemental cash flow information related to leases were as follows (in thousands):&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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:60.616%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.748%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.748%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.341%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.748%;"&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;min-width:fit-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;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;"&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;"&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:10pt;background-color:#cff0fc;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 paid for amounts included in the measurement of lease liabilities:&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="white-space:pre-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="white-space:pre-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="white-space:pre-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;/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;Operating cash flows from 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,497&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 cash flows from finance 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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;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;/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;Financing cash flows from finance leases&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;148&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,489&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&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;Non-cash: Right-of-use assets obtained in exchange for new lease liabilities:&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 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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Finance 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;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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;261&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;1,278&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,704&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;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;Non-cash: Increase (decrease) resulting from lease modification:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;tr style="height:10pt;background-color:#cff0fc;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;Finance 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;&#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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24,654&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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;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;&#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;93,222&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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;Finance lease liabilities, 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,587&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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: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;Operating lease liabilities, 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;9,221&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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;Finance lease liabilities, non-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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,009&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;Operating lease liabilities, non-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;&#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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;91,943&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align: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;</fgen:ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_55b252d2-2981-4b1f-9a06-2e8bba2dcd4b"
      unitRef="U_USD">14463000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_d217b9cc-5b6e-4c56-b1bb-a5e884890a22"
      unitRef="U_USD">15497000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_d8407772-869a-4c1f-acec-dbcfaf06bec3"
      unitRef="U_USD">10022000</us-gaap:OperatingLeasePayments>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_25784864-3a2f-4328-bdf0-fb969c5bb2ab"
      unitRef="U_USD">9000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_ab860473-996f-40b9-ae1c-22a34780c7c4"
      unitRef="U_USD">2000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_4a166837-49d4-4e8f-8a15-c96c3c0abf94"
      unitRef="U_USD">629000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <fgen:RepaymentsOfFinanceLeaseLiabilities
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_70fb42b9-8e56-49c3-89ee-9234abe4071c"
      unitRef="U_USD">148000</fgen:RepaymentsOfFinanceLeaseLiabilities>
    <fgen:RepaymentsOfFinanceLeaseLiabilities
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_77e565a2-bba8-43f3-bdd7-2be011191be7"
      unitRef="U_USD">135000</fgen:RepaymentsOfFinanceLeaseLiabilities>
    <fgen:RepaymentsOfFinanceLeaseLiabilities
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_aab798fe-f556-4cf9-9c5b-e261760b2a55"
      unitRef="U_USD">5489000</fgen:RepaymentsOfFinanceLeaseLiabilities>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_9955eefd-c90c-4611-9ee1-05d6e2bafb4b"
      unitRef="U_USD">131000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_2229ffd6-0dd3-41da-bb42-f220beeb8002"
      unitRef="U_USD">261000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_8e1134ff-3f75-4c08-9a73-996624c2d91b"
      unitRef="U_USD">450000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_3e4b33b8-56e6-4e35-abf0-1221fe2829da"
      unitRef="U_USD">1278000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_347c01b5-d1c8-4f90-b44d-e2ec174d20af"
      unitRef="U_USD">1704000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_d465ffc6-a3c2-4d48-be8c-27bf9385d1d0"
      unitRef="U_USD">3585000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="C_9c462f04-8f46-44ab-ab72-a2ccd536adb1"
      decimals="-3"
      id="F_c7580062-2b70-4427-8fc8-6242a8905486"
      unitRef="U_USD">0</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="C_240dc063-7178-44cb-a041-3d7802e9afbe"
      decimals="-3"
      id="F_0f9ace03-fa1b-4f22-9b69-06363bd42313"
      unitRef="U_USD">0</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="C_e570d502-9900-4211-a721-4abaa783f4e3"
      decimals="-3"
      id="F_4bc6601a-5414-4d49-b7f3-142c9e6b72c0"
      unitRef="U_USD">24654000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_9c462f04-8f46-44ab-ab72-a2ccd536adb1"
      decimals="-3"
      id="F_2ef29775-805a-4046-b990-c61c927f6435"
      unitRef="U_USD">0</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_240dc063-7178-44cb-a041-3d7802e9afbe"
      decimals="-3"
      id="F_14fa6dff-783a-4b35-a5b3-1a4a9f6a1864"
      unitRef="U_USD">0</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_e570d502-9900-4211-a721-4abaa783f4e3"
      decimals="-3"
      id="F_9fb251a7-5677-4900-83aa-11d2e7fb5da3"
      unitRef="U_USD">93222000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="C_9c462f04-8f46-44ab-ab72-a2ccd536adb1"
      decimals="-3"
      id="F_675d2712-d61a-4cfb-97d3-df41ce7a1ea2"
      unitRef="U_USD">0</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="C_240dc063-7178-44cb-a041-3d7802e9afbe"
      decimals="-3"
      id="F_c444fa11-e40f-4c6b-a359-bbf40b8dcf66"
      unitRef="U_USD">0</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="C_e570d502-9900-4211-a721-4abaa783f4e3"
      decimals="-3"
      id="F_b50735e4-6546-41be-b6ec-6c0ddce2af90"
      unitRef="U_USD">12587000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_9c462f04-8f46-44ab-ab72-a2ccd536adb1"
      decimals="-3"
      id="F_3078e20d-aac9-4d57-9528-8c07ae378cf3"
      unitRef="U_USD">0</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_240dc063-7178-44cb-a041-3d7802e9afbe"
      decimals="-3"
      id="F_869119c3-6f71-423c-87bc-ddfe1d7b7604"
      unitRef="U_USD">0</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_e570d502-9900-4211-a721-4abaa783f4e3"
      decimals="-3"
      id="F_5f1d4963-c4f2-433d-9ac6-734d1b7eea3d"
      unitRef="U_USD">9221000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="C_9c462f04-8f46-44ab-ab72-a2ccd536adb1"
      decimals="-3"
      id="F_41a68ab6-9b26-4604-a7e2-2fc2b88afa74"
      unitRef="U_USD">0</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="C_240dc063-7178-44cb-a041-3d7802e9afbe"
      decimals="-3"
      id="F_ddaea0ad-4e5c-48e0-ba21-4ec25864e880"
      unitRef="U_USD">0</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="C_e570d502-9900-4211-a721-4abaa783f4e3"
      decimals="-3"
      id="F_ba786ce0-71ec-44b4-9120-eae5459c1a5d"
      unitRef="U_USD">20009000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_9c462f04-8f46-44ab-ab72-a2ccd536adb1"
      decimals="-3"
      id="F_0366d2a4-23ea-42af-9ff7-9802277c7c82"
      unitRef="U_USD">0</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_240dc063-7178-44cb-a041-3d7802e9afbe"
      decimals="-3"
      id="F_cc9b2309-58c0-4c63-a827-5e96ab31192a"
      unitRef="U_USD">0</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_e570d502-9900-4211-a721-4abaa783f4e3"
      decimals="-3"
      id="F_ceed096c-00ba-4472-a3df-de574b92ba49"
      unitRef="U_USD">91943000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <fgen:ScheduleOfLeaseTermAndDiscountRateTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_eff43dd2-ff02-4f07-a2c3-341b6c272fdc">&lt;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;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Lease term and discount rate were as follows:&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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.52%;"&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:19.42%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&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:19.42%;"&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;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 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;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:#cff0fc;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;min-width:fit-content;"&gt;Weighted-average remaining lease term (years):&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="white-space:pre-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="white-space:pre-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;/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;Finance 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&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.9&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.9&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:#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&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.8&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.8&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;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;min-width:fit-content;"&gt;Weighted-average discount rate:&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 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:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;Finance leases&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;6.17&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;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;4.75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;4.75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;</fgen:ScheduleOfLeaseTermAndDiscountRateTableTextBlock>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      id="F_cf7bdc18-447c-4e63-a98e-8a275b7751eb">P3Y10M24D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      id="F_5617db67-e7ba-4ca1-b72f-8bd768203a86">P4Y10M24D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      id="F_367da166-c654-49f4-a273-65c892bd0c89">P4Y9M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      id="F_7c808e98-72b0-4fff-9848-779d7d549324">P5Y9M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="4"
      id="F_340c76c7-2b37-4c9a-b0ef-110fe9a7d1a2"
      unitRef="U_pure">0.0617</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="4"
      id="F_1317e7ee-9c46-4b18-906f-1d7d299e187e"
      unitRef="U_pure">0.062</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="4"
      id="F_a2b24663-d639-4d1f-b54e-5c749a5ecb38"
      unitRef="U_pure">0.0475</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="4"
      id="F_3e9bf48d-5658-463e-b3b1-312a519eec35"
      unitRef="U_pure">0.0475</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <fgen:ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_70f029a9-6491-4e21-9cdb-21b6ec6ca560">&lt;p style="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;Maturities of 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 (in thousands):&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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.52%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.28%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:18.959999999999997%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.28%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:18.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: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;Year Ending 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;Finance Leases&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;Operating Leases&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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,554&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&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="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,836&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&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="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,082&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:#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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,401&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 future lease payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;162&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;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-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,349&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Less: Interest&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;18&lt;/span&gt;&lt;/p&gt;&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: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="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;9,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:#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;Present value of lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;144&lt;/span&gt;&lt;/p&gt;&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: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="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;80,614&lt;/span&gt;&lt;/p&gt;&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;</fgen:ScheduleOfMaturitiesOfFinanceAndOperatingLeasesLiabilitiesTableTextBlock>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_d195e95d-5121-4a40-b615-c711016ad3f8"
      unitRef="U_USD">47000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_fa4855e6-428f-431e-94b0-6664152f86ee"
      unitRef="U_USD">17554000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_29fb26cb-d3e5-41a5-a3a5-d8737e07692f"
      unitRef="U_USD">39000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_dca60791-afc5-45e7-bdfc-89bb41c7ebdd"
      unitRef="U_USD">18836000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_e3f14ee7-11a4-4a76-b0ec-8e3ccea6013b"
      unitRef="U_USD">39000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_a9da340a-de93-4abf-8fa1-a434ea8a44c5"
      unitRef="U_USD">18082000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_ef478594-7102-4436-927b-afa9504b1e44"
      unitRef="U_USD">37000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_bd1910fe-c5e0-4ed4-8fa1-300eb21ccbd3"
      unitRef="U_USD">18476000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_f2270fdd-87c6-44ce-a510-bf279e295597"
      unitRef="U_USD">0</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_b4551393-7dc7-4f58-82d0-f42bc7461c0d"
      unitRef="U_USD">17401000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_3a2a2eb9-be9b-474e-97e9-4b8b555705e8"
      unitRef="U_USD">162000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_6f29fa37-0628-445a-9418-a95ca9356463"
      unitRef="U_USD">90349000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_54c36024-86e7-4518-8b1d-8b15ef1ac184"
      unitRef="U_USD">18000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_4c335c6e-d24b-4f97-824c-934c54651b15"
      unitRef="U_USD">9735000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiability
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_b03bbfe7-7993-4bd3-a58f-6b60d5869aa9"
      unitRef="U_USD">144000</us-gaap:FinanceLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_9092f808-1a84-4fc2-8370-1e7bd4e5c40a"
      unitRef="U_USD">80614000</us-gaap:OperatingLeaseLiability>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_1443a1f1-1637-42e4-ae70-c96e033c2b93">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;8.	Balance Sheet Components&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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;Cash and cash equivalents consisted of the following (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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.52%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.28%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:18.959999999999997%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.28%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:18.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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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 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;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:#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&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;63,396&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;135,819&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Commercial paper&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36,016&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 funds&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;12,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,881&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;U.S. government bonds&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;1,988&lt;/span&gt;&lt;/p&gt;&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;/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 cash and cash equivalents&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;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;113,688&lt;/span&gt;&lt;/p&gt;&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;155,700&lt;/span&gt;&lt;/p&gt;&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: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;At December 31, 2023 and 2022, a total 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;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&lt;/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="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;92.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;, respectively, of the Company&#x2019;s cash and cash equivalents were held outside of the U.S. in its foreign subsidiaries to be used primarily for its China operations.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Investments&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;The Company&#x2019;s investments consist primarily of available-for-sale debt investments. The amortized cost, gross unrealized holding gains or losses, and fair value of the Company&#x2019;s investments by major investments type are summarized in the tables below (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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:36.867%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&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;Amortized 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 Unrealized&lt;br/&gt;Holding 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 Unrealized&lt;br/&gt;Holding 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:#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;Corporate bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,988&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;13,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;/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;Commercial paper&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;52,273&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;52,273&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;U.S. government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45,783&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;45,803&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Agency bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;9,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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:bottom;"&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 investments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;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-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;121,874&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;121,898&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-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;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;Amortized 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 Unrealized&lt;br/&gt;Holding 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 Unrealized&lt;br/&gt;Holding 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:#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;Corporate bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83,080&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,072&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;82,008&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Commercial paper&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;&#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;57,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;/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;U.S. government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;112,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,207&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;111,345&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Agency bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,690&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;222&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;11,468&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Asset-backed securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,484&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;(&lt;/span&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="color:#000000;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;2,474&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Foreign government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,007&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;4,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:#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;Convertible promissory note&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;&#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;1,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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:bottom;"&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 investments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;273,189&lt;/span&gt;&lt;/p&gt;&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;5&lt;/span&gt;&lt;/p&gt;&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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,538&lt;/span&gt;&lt;/p&gt;&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;270,656&lt;/span&gt;&lt;/p&gt;&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 style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 summarizes, for all available for sale securities in an unrealized loss position, the fair value and gross unrealized loss by length of time the security has been in a continual unrealized loss position (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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:23.44%;"&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:9.5%;"&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:9.5%;"&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:9.5%;"&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:9.5%;"&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:9.5%;"&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:9.5%;"&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="22" 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="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;Less than 12 Months&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="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;12 Months or More&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="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;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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;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;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 Unrealized&lt;br/&gt;Holding 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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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 Unrealized&lt;br/&gt;Holding 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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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 Unrealized&lt;br/&gt;Holding 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;/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;Corporate bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,495&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,495&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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. government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Agency bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,987&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,987&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&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:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;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-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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,971&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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,495&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;13,466&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-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;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="22" 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="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;Less than 12 Months&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="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;12 Months or More&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="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;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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;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;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 Unrealized&lt;br/&gt;Holding 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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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 Unrealized&lt;br/&gt;Holding 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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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 Unrealized&lt;br/&gt;Holding 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;/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;Corporate bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,738&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;147&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;75,270&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;925&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,008&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,072&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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. government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,326&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;67,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,194&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,235&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,207&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Agency bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,468&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;222&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,468&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;222&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Asset-backed securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,474&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,474&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;&#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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,980&lt;/span&gt;&lt;/p&gt;&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;27&lt;/span&gt;&lt;/p&gt;&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;4,980&lt;/span&gt;&lt;/p&gt;&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;27&lt;/span&gt;&lt;/p&gt;&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:10pt;white-space:pre-wrap;vertical-align:bottom;"&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:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,538&lt;/span&gt;&lt;/p&gt;&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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;170&lt;/span&gt;&lt;/p&gt;&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;159,627&lt;/span&gt;&lt;/p&gt;&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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,368&lt;/span&gt;&lt;/p&gt;&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;191,165&lt;/span&gt;&lt;/p&gt;&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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,538&lt;/span&gt;&lt;/p&gt;&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="font-size: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="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 contractual maturities of all available-for-sale investments were with in one year as of December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 periodically reviews its available-for-sale investments for other-than-temporary impairment. The Company considers factors such as the duration, severity and the reason for the decline in value, the potential recovery period and its intent to sell. For debt securities, the Company also considers whether (i) it is more likely than not that the Company will be required to sell the debt securities before recovery of their amortized cost basis, and (ii) the amortized cost basis cannot be recovered as a result of credit losses. During the three years ended 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 did &lt;/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;t recognize any other-than-temporary impairment loss.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Inventories&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;Inventories consisted of the following (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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:56.04%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.82%;"&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;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 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;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:#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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,376&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,241&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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-progress&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,614&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36,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:#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 goods&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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,575&lt;/span&gt;&lt;/p&gt;&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;3,192&lt;/span&gt;&lt;/p&gt;&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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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,565&lt;/span&gt;&lt;/p&gt;&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;40,436&lt;/span&gt;&lt;/p&gt;&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 id="highlight_result_17" style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span id="highlight_result_18"&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 provision to write-down excess and obsolete inventory were immaterial as of December 31, 2023 and December 31, 2022.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Prepaid Expenses and Other Current Assets&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;Prepaid expenses and other current assets consisted of the following (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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.583%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.081%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.127%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.081%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.127%;"&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;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 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;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:#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;Contract assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,488&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 revenues from associated contracts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;26,481&lt;/span&gt;&lt;/p&gt;&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;17,488&lt;/span&gt;&lt;/p&gt;&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;Net contract assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;/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;Insurance proceeds receivable for litigation settlement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28,500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;Prepaid assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,644&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:#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 current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;6,711&lt;/span&gt;&lt;/p&gt;&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,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;/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: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="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,855&lt;/span&gt;&lt;/p&gt;&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;14,083&lt;/span&gt;&lt;/p&gt;&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: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 unbilled contract assets 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; and 2022 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;22.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;17.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, related to unbilled co-development revenue under the AstraZeneca China Amendment. In addition, the unbilled contract assets 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; included 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;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 unbilled &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;regulatory milestone payment under the AstraZeneca China Agreement. See the &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;AstraZeneca China 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;section in Note 3, &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;Collaboration Agreements, License Agreement and Revenues&lt;/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 details.&lt;/span&gt;&lt;/p&gt;&lt;p style="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, the Company recorded 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;28.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 receivable in prepaid expenses and other current assets, corresponding to the accrued litigation settlement of the same amount related to the Company&#x2019;s agreement in principle with plaintiffs to settle the class action lawsuit. As the Company maintains insurance that covers exposure related to the class action lawsuit, this amount is fully recoverable under the Company&#x2019;s insurance policies. The determination that the recorded receivables are probable of collection is based on the terms of the applicable insurance policies and communications with the insurers. See the &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;Accrued and Other Current 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; section below, and the &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;Legal Proceedings and Other Matters&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; section in 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;Commitments and Contingencies&lt;/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 details.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Property and Equipment&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;Property and equipment consisted of the following (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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:56.751%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.503%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.503%;"&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: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: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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;102,109&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;102,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;Laboratory equipment&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,175&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Machinery&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,642&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 equipment&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,490&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 and fixtures&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,184&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,200&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Construction in progress&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;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;62&lt;/span&gt;&lt;/p&gt;&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;204&lt;/span&gt;&lt;/p&gt;&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 and equipment&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;150,056&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;/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: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: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;136,930&lt;/span&gt;&lt;/p&gt;&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;128,682&lt;/span&gt;&lt;/p&gt;&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;Property and equipment, net&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;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;13,126&lt;/span&gt;&lt;/p&gt;&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;20,605&lt;/span&gt;&lt;/p&gt;&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: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;Depreciation expense for the years ended December 31, 2023, 2022 and 2021 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;9.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;, &lt;/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;10.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="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="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;10.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, respectively.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Accrued and Other Current Liabilities&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;Accrued and other current liabilities consisted of the following (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:10pt;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:56.751%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.503%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.503%;"&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;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 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;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:#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;Preclinical and clinical trial accruals&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,780&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;API and bulk drug product price true-up&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,978&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;75,055&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Litigation settlement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28,500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Payroll and related accruals&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,267&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,562&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Accrued co-promotion expenses - current&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,309&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36,677&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Roxadustat profit share to AstraZeneca&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;/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;Property taxes and other taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,691&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Professional services&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,103&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,480&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 portion of liability related to sale of future revenues&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,654&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 restructuring charge&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;&#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="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,248&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 accrued and other current liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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,891&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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,773&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The accrued liabilities 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;51.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; for API and bulk drug product price true-up as of December 31, 2023 resulted from changes in estimated variable consideration associated with the API shipments fulfilled under the terms of the Astellas Japan Amendment, the bulk drug product transferred under the terms of the Astellas Europe Agreement and the Astellas EU Supply Agreement, and the bulk drug product shipments to AstraZeneca under the terms of the AstraZeneca Master Supply Agreement. See the &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;Drug Product Revenue, Net &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;section in Note 3, &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;Collaboration Agreements, License Agreement and Revenues,&lt;/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 details.&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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;As of December 31, 2023, the accrued litigation settlement 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;28.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 was related to the Company&#x2019;s agreement in principle with plaintiffs to settle the class action lawsuit. See the&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; Prepaid Expenses and Other Current 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; section above, and the &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;Legal Proceedings and Other Matters &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;section in 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;Commitments and Contingencies&lt;/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 details.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 July 14, 2023, the Company approved a restructuring plan (the &#x201c;Plan&#x201d;) to lower the Company&#x2019;s operating expenses. The Plan included a reduction to the Company&#x2019;s U.S. workforce 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;32&lt;/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 a result, the Company recorded a total 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;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 non-recurring restructuring charge during the third quarter of 2023, primarily consisting of notice period and severance payments, accrued vacation, and employee benefits contributions. During the year ended December 31, 2023, total cash payments under the Plan 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;8.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 remaining accrued restructuring charge 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;3.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 as of December 31, 2023 and will be substantially paid out by early 2024. The Plan is in connection with the Company&#x2019;s efforts to streamline operations to align with the Company&#x2019;s business goals.&lt;/span&gt;&lt;/p&gt;</us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_36f9025a-371b-4bea-a4fe-01daa1277895">&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;Cash and cash equivalents consisted of the following (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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:53.52%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.28%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:18.959999999999997%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.28%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:18.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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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 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;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:#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&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;63,396&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;135,819&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Commercial paper&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36,016&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 funds&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;12,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,881&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;U.S. government bonds&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;1,988&lt;/span&gt;&lt;/p&gt;&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;/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 cash and cash equivalents&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;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;113,688&lt;/span&gt;&lt;/p&gt;&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;155,700&lt;/span&gt;&lt;/p&gt;&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:ScheduleOfCashAndCashEquivalentsTableTextBlock>
    <us-gaap:Cash
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_5a0e998d-eeef-46e2-a4cf-672d6687f04b"
      unitRef="U_USD">63396000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_e1ac666f-a0a0-4c87-9f5f-6563e31b09ba"
      unitRef="U_USD">135819000</us-gaap:Cash>
    <us-gaap:CommercialPaperAtCarryingValue
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_0ec8183e-2946-4668-b9bd-a787d4d7f10c"
      unitRef="U_USD">36016000</us-gaap:CommercialPaperAtCarryingValue>
    <us-gaap:CommercialPaperAtCarryingValue
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_8083da87-3d9b-4439-a53d-8a66a5639c15"
      unitRef="U_USD">0</us-gaap:CommercialPaperAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_27e0fb00-316f-472d-ab4d-8e8acb7aaa6e"
      unitRef="U_USD">12288000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_f9252622-f845-405c-9a19-1c906bd68310"
      unitRef="U_USD">19881000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:USGovernmentSecuritiesAtCarryingValue
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_27a7b6da-ca1a-4011-91bd-348fff2be75c"
      unitRef="U_USD">1988000</us-gaap:USGovernmentSecuritiesAtCarryingValue>
    <us-gaap:USGovernmentSecuritiesAtCarryingValue
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_4a3dffbf-5b71-4054-8af7-512929216cc1"
      unitRef="U_USD">0</us-gaap:USGovernmentSecuritiesAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_f1039524-7197-4c99-92f8-30ab62dbde6a"
      unitRef="U_USD">113688000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_ae5500e6-a680-4a63-a70f-129505449cb9"
      unitRef="U_USD">155700000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_78954666-d61e-45a3-b159-f9ed78d25d35"
      decimals="-5"
      id="F_60172144-d229-4fc6-8960-7f2f36864cf5"
      unitRef="U_USD">32200000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_9c5dfa5d-d4c1-46d3-b755-cf68faa21d1b"
      decimals="-5"
      id="F_62b4f304-39c5-4948-95f9-18e5a4b0f5e3"
      unitRef="U_USD">92500000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_ec424f70-9ccc-481d-be68-b3aa173f897f">&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;The Company&#x2019;s investments consist primarily of available-for-sale debt investments. The amortized cost, gross unrealized holding gains or losses, and fair value of the Company&#x2019;s investments by major investments type are summarized in the tables below (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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:36.867%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.222000000000001%;"&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;Amortized 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 Unrealized&lt;br/&gt;Holding 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 Unrealized&lt;br/&gt;Holding 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:#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;Corporate bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,988&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;13,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;/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;Commercial paper&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;52,273&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;52,273&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;U.S. government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45,783&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;45,803&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Agency bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;9,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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:bottom;"&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 investments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;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-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;121,874&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;121,898&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-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;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;Amortized 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 Unrealized&lt;br/&gt;Holding 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 Unrealized&lt;br/&gt;Holding 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:#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;Corporate bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;83,080&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,072&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;82,008&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Commercial paper&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;&#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;57,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;/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;U.S. government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;112,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,207&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;111,345&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Agency bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,690&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;222&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;11,468&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Asset-backed securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,484&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;(&lt;/span&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="color:#000000;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;2,474&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Foreign government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,007&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;4,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:#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;Convertible promissory note&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;&#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;1,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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:bottom;"&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 investments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;273,189&lt;/span&gt;&lt;/p&gt;&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;5&lt;/span&gt;&lt;/p&gt;&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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,538&lt;/span&gt;&lt;/p&gt;&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;270,656&lt;/span&gt;&lt;/p&gt;&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:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_812a6f56-e692-4550-8ae1-9a38563137f6"
      decimals="-3"
      id="F_d34aeb87-900e-4a85-a711-09434afcf824"
      unitRef="U_USD">13988000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="C_812a6f56-e692-4550-8ae1-9a38563137f6"
      decimals="-3"
      id="F_0b87732a-f996-4b05-ac8b-7db3a94511b5"
      unitRef="U_USD">9000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="C_812a6f56-e692-4550-8ae1-9a38563137f6"
      decimals="-3"
      id="F_159b59fe-f2b3-483e-8f31-e3e6187bca65"
      unitRef="U_USD">5000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_812a6f56-e692-4550-8ae1-9a38563137f6"
      decimals="-3"
      id="F_05540a15-ee0d-46a4-92ea-6e2fa3b7aa75"
      unitRef="U_USD">13992000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_0d2a1068-530a-4790-a599-651e1d85cf2a"
      decimals="-3"
      id="F_57897741-af9e-4274-a4bc-e973b2b34309"
      unitRef="U_USD">52273000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="C_0d2a1068-530a-4790-a599-651e1d85cf2a"
      decimals="-3"
      id="F_2a1ea9c3-1d40-43eb-84f4-b04a606ee67a"
      unitRef="U_USD">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="C_0d2a1068-530a-4790-a599-651e1d85cf2a"
      decimals="-3"
      id="F_35f014c3-8c3f-43b7-8ef2-88183abd16d2"
      unitRef="U_USD">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_0d2a1068-530a-4790-a599-651e1d85cf2a"
      decimals="-3"
      id="F_2ce2178c-8872-4c4f-b92e-adae29b50b04"
      unitRef="U_USD">52273000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_5d37be62-0ace-4193-a87d-c84ddb509bba"
      decimals="-3"
      id="F_73b4be4d-9e2c-4e50-8e7c-fbf867f8639a"
      unitRef="U_USD">45783000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="C_5d37be62-0ace-4193-a87d-c84ddb509bba"
      decimals="-3"
      id="F_2262e154-cca2-432e-bc06-a5af44dbd5d4"
      unitRef="U_USD">20000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="C_5d37be62-0ace-4193-a87d-c84ddb509bba"
      decimals="-3"
      id="F_394011ca-6b2b-4833-b371-626ddadfddf2"
      unitRef="U_USD">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_5d37be62-0ace-4193-a87d-c84ddb509bba"
      decimals="-3"
      id="F_96087b92-7c00-4a78-b5e2-29e5ce145e47"
      unitRef="U_USD">45803000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_715f1e78-0df3-4b9d-9435-742afc271ff3"
      decimals="-3"
      id="F_d25e71ea-49e2-4db1-bac6-44b8dfbd237b"
      unitRef="U_USD">9830000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="C_715f1e78-0df3-4b9d-9435-742afc271ff3"
      decimals="-3"
      id="F_704a411f-c3d9-42aa-ac83-366469add7b4"
      unitRef="U_USD">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="C_715f1e78-0df3-4b9d-9435-742afc271ff3"
      decimals="-3"
      id="F_633e14ed-8e1b-4e44-96d3-6902021577f9"
      unitRef="U_USD">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_715f1e78-0df3-4b9d-9435-742afc271ff3"
      decimals="-3"
      id="F_1eb8d30e-d9ce-41c4-a997-86e980150eee"
      unitRef="U_USD">9830000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_b9405044-fe81-4468-9473-e8aea948ca77"
      unitRef="U_USD">121874000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_2cc76474-d23f-42ff-9cd2-b986a894b530"
      unitRef="U_USD">30000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_70c1d6e2-a4a5-4d35-bc6b-fccd003468b2"
      unitRef="U_USD">6000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_834f4fbc-69a2-4620-be5a-914e347ad049"
      unitRef="U_USD">121898000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_5a5f9f5b-e4e9-46ab-9c78-53b944ad3e49"
      decimals="-3"
      id="F_c98f374c-d363-4ca5-acd8-0dd558a9254e"
      unitRef="U_USD">83080000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="C_5a5f9f5b-e4e9-46ab-9c78-53b944ad3e49"
      decimals="-3"
      id="F_0a53f7e7-1e95-48e8-8ace-6fa55acea9f7"
      unitRef="U_USD">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="C_5a5f9f5b-e4e9-46ab-9c78-53b944ad3e49"
      decimals="-3"
      id="F_ec2452c5-d9d4-46b5-b5f4-1c26db3f4d6b"
      unitRef="U_USD">1072000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_5a5f9f5b-e4e9-46ab-9c78-53b944ad3e49"
      decimals="-3"
      id="F_a5f49a5c-4bcb-43a0-95e8-0ec9a5083cff"
      unitRef="U_USD">82008000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_1ec5d821-c9b4-4746-b661-4463e8a030f2"
      decimals="-3"
      id="F_d398a566-5f79-42ea-b639-784eb5701784"
      unitRef="U_USD">57381000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="C_1ec5d821-c9b4-4746-b661-4463e8a030f2"
      decimals="-3"
      id="F_a9a5f584-cf8e-4642-828d-e239f49ccf28"
      unitRef="U_USD">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="C_1ec5d821-c9b4-4746-b661-4463e8a030f2"
      decimals="-3"
      id="F_cf61d9af-fd1f-4523-a5f9-e07f0cc8b892"
      unitRef="U_USD">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_1ec5d821-c9b4-4746-b661-4463e8a030f2"
      decimals="-3"
      id="F_0a74f67a-b833-4e30-9825-1b1e0c873e33"
      unitRef="U_USD">57381000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_9760f380-8f65-48ec-9aa0-021fab8935c0"
      decimals="-3"
      id="F_eba55f35-7d76-483a-9960-d2f9ba59e6bf"
      unitRef="U_USD">112547000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="C_9760f380-8f65-48ec-9aa0-021fab8935c0"
      decimals="-3"
      id="F_fb1564ce-a992-4cbc-9e43-fcaa3e318ec5"
      unitRef="U_USD">5000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="C_9760f380-8f65-48ec-9aa0-021fab8935c0"
      decimals="-3"
      id="F_2c7e0b02-48af-4d67-a9ec-b1ef20418ee1"
      unitRef="U_USD">1207000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_9760f380-8f65-48ec-9aa0-021fab8935c0"
      decimals="-3"
      id="F_e8a55912-da7c-4a2f-8fe7-cb39b308b293"
      unitRef="U_USD">111345000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_f26887a3-0ec9-464e-8561-473ed3c3a56c"
      decimals="-3"
      id="F_f83241ee-9d2d-475a-9914-03d02e061485"
      unitRef="U_USD">11690000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="C_f26887a3-0ec9-464e-8561-473ed3c3a56c"
      decimals="-3"
      id="F_7f5289d2-ab3c-4428-80d5-437c8d2c1d2f"
      unitRef="U_USD">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="C_f26887a3-0ec9-464e-8561-473ed3c3a56c"
      decimals="-3"
      id="F_ee7b169e-2cb7-458b-af15-32a6f2b38b90"
      unitRef="U_USD">222000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_f26887a3-0ec9-464e-8561-473ed3c3a56c"
      decimals="-3"
      id="F_63e9bae8-d269-42b2-8477-4b11ee830594"
      unitRef="U_USD">11468000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_98e838d9-2839-491a-8c1f-691bbdb1d1b2"
      decimals="-3"
      id="F_5d846ea4-7eac-42da-84c7-b3c2fe6f76a0"
      unitRef="U_USD">2484000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="C_98e838d9-2839-491a-8c1f-691bbdb1d1b2"
      decimals="-3"
      id="F_44a1c7ea-14d2-4384-836f-b131028c452d"
      unitRef="U_USD">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="C_98e838d9-2839-491a-8c1f-691bbdb1d1b2"
      decimals="-3"
      id="F_e60273bf-6d06-4b88-893a-2fa2d73e9bc9"
      unitRef="U_USD">10000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_98e838d9-2839-491a-8c1f-691bbdb1d1b2"
      decimals="-3"
      id="F_0b34072f-129b-4e34-8f4e-83e5dd445db2"
      unitRef="U_USD">2474000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_53f09f2b-cf2e-493c-aca3-d328fef636de"
      decimals="-3"
      id="F_788b3029-93d0-40ad-a0de-be42bce4c682"
      unitRef="U_USD">5007000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="C_53f09f2b-cf2e-493c-aca3-d328fef636de"
      decimals="-3"
      id="F_42e6c717-85b5-47ad-b5cc-690b1ba482a4"
      unitRef="U_USD">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="C_53f09f2b-cf2e-493c-aca3-d328fef636de"
      decimals="-3"
      id="F_8b50a97c-d6b4-4be9-8002-03fc43e79330"
      unitRef="U_USD">27000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_53f09f2b-cf2e-493c-aca3-d328fef636de"
      decimals="-3"
      id="F_222a2794-b323-4e28-8c3f-7f3062c65af9"
      unitRef="U_USD">4980000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_d4d3a4ad-58d7-4cd6-8f7c-476693909649"
      decimals="-3"
      id="F_c97d4a5c-0fa8-47ac-bca9-cef1701eed9b"
      unitRef="U_USD">1000000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="C_d4d3a4ad-58d7-4cd6-8f7c-476693909649"
      decimals="-3"
      id="F_3a2f10b7-b932-4cc4-bbfb-9f97738a063f"
      unitRef="U_USD">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="C_d4d3a4ad-58d7-4cd6-8f7c-476693909649"
      decimals="-3"
      id="F_4d62a21e-3171-4b65-90e7-c8b597e57e65"
      unitRef="U_USD">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_d4d3a4ad-58d7-4cd6-8f7c-476693909649"
      decimals="-3"
      id="F_628d2200-2291-4252-a2df-acac5b9d6d60"
      unitRef="U_USD">1000000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_e600214c-7aa6-4b7d-bc81-e44ea729aa01"
      unitRef="U_USD">273189000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_bcf82b72-7d7d-465d-98ca-3d86c4bc530d"
      unitRef="U_USD">5000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_50f6f5b4-1d81-4a0e-b244-53c8c362eb99"
      unitRef="U_USD">2538000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_f07b951a-7faa-44c9-a539-89120d47dc55"
      unitRef="U_USD">270656000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_1bdd8805-c9ba-4f2e-9097-970877ece68e">&lt;p style="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 summarizes, for all available for sale securities in an unrealized loss position, the fair value and gross unrealized loss by length of time the security has been in a continual unrealized loss position (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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:23.44%;"&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:9.5%;"&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:9.5%;"&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:9.5%;"&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:9.5%;"&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:9.5%;"&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:9.5%;"&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="22" 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="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;Less than 12 Months&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="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;12 Months or More&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="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;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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;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;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 Unrealized&lt;br/&gt;Holding 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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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 Unrealized&lt;br/&gt;Holding 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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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 Unrealized&lt;br/&gt;Holding 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;/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;Corporate bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,495&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,495&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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. government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Agency bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,987&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,987&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&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:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;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-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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,971&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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,495&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;13,466&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-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;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="22" 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="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;Less than 12 Months&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="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;12 Months or More&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="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;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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;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;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 Unrealized&lt;br/&gt;Holding 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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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 Unrealized&lt;br/&gt;Holding 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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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 Unrealized&lt;br/&gt;Holding 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;/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;Corporate bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,738&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;147&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;75,270&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;925&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,008&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,072&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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. government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,326&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;67,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,194&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,235&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,207&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Agency bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,468&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;222&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,468&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;222&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Asset-backed securities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,474&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,474&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 government bonds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;&#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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,980&lt;/span&gt;&lt;/p&gt;&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;27&lt;/span&gt;&lt;/p&gt;&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;4,980&lt;/span&gt;&lt;/p&gt;&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;27&lt;/span&gt;&lt;/p&gt;&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:10pt;white-space:pre-wrap;vertical-align:bottom;"&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:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,538&lt;/span&gt;&lt;/p&gt;&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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;170&lt;/span&gt;&lt;/p&gt;&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;159,627&lt;/span&gt;&lt;/p&gt;&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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,368&lt;/span&gt;&lt;/p&gt;&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;191,165&lt;/span&gt;&lt;/p&gt;&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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,538&lt;/span&gt;&lt;/p&gt;&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="font-size: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:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="C_a16b6273-a322-4c18-962f-9d4ba804e1f0"
      decimals="-3"
      id="F_33c16e86-cb63-4cbd-bc6d-ba8e6d5c69af"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="C_a16b6273-a322-4c18-962f-9d4ba804e1f0"
      decimals="-3"
      id="F_abd0d5c5-065e-497c-82ea-6dec19a3318b"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="C_a16b6273-a322-4c18-962f-9d4ba804e1f0"
      decimals="-3"
      id="F_481bdeb0-15a7-479a-94cf-cdc10d905bc6"
      unitRef="U_USD">3495000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="C_a16b6273-a322-4c18-962f-9d4ba804e1f0"
      decimals="-3"
      id="F_acd3b846-7beb-4524-b5ff-f92fba3bdcb9"
      unitRef="U_USD">5000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="C_a16b6273-a322-4c18-962f-9d4ba804e1f0"
      decimals="-3"
      id="F_7198d557-861b-4f00-85ee-8d69dbc05bc3"
      unitRef="U_USD">3495000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="C_a16b6273-a322-4c18-962f-9d4ba804e1f0"
      decimals="-3"
      id="F_d4eea601-ed66-46f7-ad3a-96b7bc0b9cd4"
      unitRef="U_USD">5000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="C_d8f03719-5f79-4d9f-ae54-099a4a9fb22d"
      decimals="-3"
      id="F_83e0830d-db43-4f3b-b157-58a95a96a8c0"
      unitRef="U_USD">4984000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="C_d8f03719-5f79-4d9f-ae54-099a4a9fb22d"
      decimals="-3"
      id="F_59630982-b0fa-4cb7-8c30-dfa1d31ea9cd"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="C_d8f03719-5f79-4d9f-ae54-099a4a9fb22d"
      decimals="-3"
      id="F_ab37157b-11f3-4648-93e0-45cc993df281"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="C_d8f03719-5f79-4d9f-ae54-099a4a9fb22d"
      decimals="-3"
      id="F_842b57b5-4c38-41ca-a829-a13641e6311d"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="C_d8f03719-5f79-4d9f-ae54-099a4a9fb22d"
      decimals="-3"
      id="F_1bab1602-204f-4560-92ad-e45f4f8688c7"
      unitRef="U_USD">4984000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="C_d8f03719-5f79-4d9f-ae54-099a4a9fb22d"
      decimals="-3"
      id="F_0bfb9a29-77b3-4e92-aa4a-f16d5d0f40d3"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="C_e021feb9-b9cd-4cfa-9657-a9290179f29a"
      decimals="-3"
      id="F_ca6bd279-cf76-4eef-830f-83b5d16c40ca"
      unitRef="U_USD">4987000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="C_e021feb9-b9cd-4cfa-9657-a9290179f29a"
      decimals="-3"
      id="F_81bd31bf-e241-4e3a-b5af-5834543b4962"
      unitRef="U_USD">1000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="C_e021feb9-b9cd-4cfa-9657-a9290179f29a"
      decimals="-3"
      id="F_9cac4144-0d5c-4c1e-9ebb-f2694fd26eae"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="C_e021feb9-b9cd-4cfa-9657-a9290179f29a"
      decimals="-3"
      id="F_3b0e0ffc-b4f7-43f8-8e7f-e88d2d98cbea"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="C_e021feb9-b9cd-4cfa-9657-a9290179f29a"
      decimals="-3"
      id="F_659f00d9-197b-4656-8746-a44b5c26ae40"
      unitRef="U_USD">4987000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="C_e021feb9-b9cd-4cfa-9657-a9290179f29a"
      decimals="-3"
      id="F_3d09f6dd-be6b-4597-8095-d7926f6e366d"
      unitRef="U_USD">1000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_a0d6014f-9d18-45ae-9917-06de51e05687"
      unitRef="U_USD">9971000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_eded1cf9-6ccb-42ab-80e0-56559e01814e"
      unitRef="U_USD">1000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_bf38dc14-8704-4d7d-be45-438294a6b26b"
      unitRef="U_USD">3495000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_06e3df97-3a5f-4443-838a-6c28ac7b8348"
      unitRef="U_USD">5000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_05058d77-b5ad-4a9e-9f48-d80be4319e8b"
      unitRef="U_USD">13466000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_99cdc434-63b9-450e-9cd7-04b298dcd592"
      unitRef="U_USD">6000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="C_fc66a24f-cb40-48a9-9e32-c517c08f6020"
      decimals="-3"
      id="F_b42183df-87f2-4a77-89d9-9cd780ffc998"
      unitRef="U_USD">6738000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="C_fc66a24f-cb40-48a9-9e32-c517c08f6020"
      decimals="-3"
      id="F_20c8b1d6-0631-4293-90e3-fbedf0767e5c"
      unitRef="U_USD">147000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="C_fc66a24f-cb40-48a9-9e32-c517c08f6020"
      decimals="-3"
      id="F_8b4da2bf-b853-43aa-8bb0-7e780de1a421"
      unitRef="U_USD">75270000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="C_fc66a24f-cb40-48a9-9e32-c517c08f6020"
      decimals="-3"
      id="F_cee34720-1922-4411-bd9f-38ecb11e1015"
      unitRef="U_USD">925000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="C_fc66a24f-cb40-48a9-9e32-c517c08f6020"
      decimals="-3"
      id="F_82c13149-2e00-474c-addb-17d1d0688ea0"
      unitRef="U_USD">82008000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="C_fc66a24f-cb40-48a9-9e32-c517c08f6020"
      decimals="-3"
      id="F_e67c4ac0-3d8f-4959-a7de-05c29f2aec09"
      unitRef="U_USD">1072000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="C_a8b1dad5-8076-4dde-9643-5550cbef11b2"
      decimals="-3"
      id="F_78e9f527-f053-4590-8f28-3d7a8b33fb0f"
      unitRef="U_USD">22326000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="C_a8b1dad5-8076-4dde-9643-5550cbef11b2"
      decimals="-3"
      id="F_8b92b937-347a-4c26-ad38-1b09e625a004"
      unitRef="U_USD">13000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="C_a8b1dad5-8076-4dde-9643-5550cbef11b2"
      decimals="-3"
      id="F_f0a70e41-f7bd-4550-b3e2-c8b6217a1b73"
      unitRef="U_USD">67909000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="C_a8b1dad5-8076-4dde-9643-5550cbef11b2"
      decimals="-3"
      id="F_e1f21b7a-e26f-4c7a-b87f-5e0e2dea9c45"
      unitRef="U_USD">1194000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="C_a8b1dad5-8076-4dde-9643-5550cbef11b2"
      decimals="-3"
      id="F_4fceffe5-72cc-4a66-8c63-061947559f4c"
      unitRef="U_USD">90235000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="C_a8b1dad5-8076-4dde-9643-5550cbef11b2"
      decimals="-3"
      id="F_5bedfb27-3e79-4ab2-8473-55dc51dd5f13"
      unitRef="U_USD">1207000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="C_d43d1399-b0eb-4c13-8d3f-8f914f93c5c6"
      decimals="-3"
      id="F_1e9a0401-6bdf-4f6a-8e21-e1bcdd322e8f"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="C_d43d1399-b0eb-4c13-8d3f-8f914f93c5c6"
      decimals="-3"
      id="F_fe89cb93-618a-4659-95dd-dae7f0997b0c"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="C_d43d1399-b0eb-4c13-8d3f-8f914f93c5c6"
      decimals="-3"
      id="F_a68dd566-a107-4d62-98ac-bec41c3e2b3f"
      unitRef="U_USD">11468000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="C_d43d1399-b0eb-4c13-8d3f-8f914f93c5c6"
      decimals="-3"
      id="F_42c00ad2-7fcb-4bde-bc34-2cf7a2d34fda"
      unitRef="U_USD">222000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="C_d43d1399-b0eb-4c13-8d3f-8f914f93c5c6"
      decimals="-3"
      id="F_4e07d1a2-0510-4d9f-9b13-4b10b01bec15"
      unitRef="U_USD">11468000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="C_d43d1399-b0eb-4c13-8d3f-8f914f93c5c6"
      decimals="-3"
      id="F_909fea23-3a35-43b7-b236-044b7d82a521"
      unitRef="U_USD">222000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="C_7c1914b9-8033-45d3-93fb-a282fb44696e"
      decimals="-3"
      id="F_203caeda-6051-4762-9b98-b465abe741c3"
      unitRef="U_USD">2474000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="C_7c1914b9-8033-45d3-93fb-a282fb44696e"
      decimals="-3"
      id="F_cb9513c8-63c7-43b3-9846-a3a8b1bee80e"
      unitRef="U_USD">10000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="C_7c1914b9-8033-45d3-93fb-a282fb44696e"
      decimals="-3"
      id="F_b1d2dae7-055f-45f5-a76a-5c4741745711"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="C_7c1914b9-8033-45d3-93fb-a282fb44696e"
      decimals="-3"
      id="F_8b59085b-f3a7-459a-8d2a-5d6f0d1bb4fc"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="C_7c1914b9-8033-45d3-93fb-a282fb44696e"
      decimals="-3"
      id="F_ff36b124-f9b3-482a-a438-488e1c99b242"
      unitRef="U_USD">2474000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="C_7c1914b9-8033-45d3-93fb-a282fb44696e"
      decimals="-3"
      id="F_af436026-ff1d-48f7-86e9-d028cd5f8004"
      unitRef="U_USD">10000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="C_d773362c-7cf3-4703-a248-9d377f16166b"
      decimals="-3"
      id="F_87fcc528-278e-484f-ac43-62fe07433d13"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="C_d773362c-7cf3-4703-a248-9d377f16166b"
      decimals="-3"
      id="F_b15d539f-eebf-4dcc-b809-c7fe51d3aa8e"
      unitRef="U_USD">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="C_d773362c-7cf3-4703-a248-9d377f16166b"
      decimals="-3"
      id="F_551a8035-c534-40e5-9522-095c15816cc0"
      unitRef="U_USD">4980000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="C_d773362c-7cf3-4703-a248-9d377f16166b"
      decimals="-3"
      id="F_00dbc5bd-0fd4-4c0a-b7ea-896628e54c71"
      unitRef="U_USD">27000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="C_d773362c-7cf3-4703-a248-9d377f16166b"
      decimals="-3"
      id="F_880e6025-f543-4fad-ac0c-141355ea52a7"
      unitRef="U_USD">4980000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="C_d773362c-7cf3-4703-a248-9d377f16166b"
      decimals="-3"
      id="F_4a199dd9-bbae-4eb7-b7fd-5924cbc5f533"
      unitRef="U_USD">27000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_cac52b9b-f691-4c40-886a-60ef4f37eedb"
      unitRef="U_USD">31538000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_bcdf3ed7-9c5a-4b9a-8dfd-da4bebdba67f"
      unitRef="U_USD">170000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_c7353575-855a-42dd-b5aa-ef0b7640d042"
      unitRef="U_USD">159627000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_c0be10f3-4931-4d82-8c78-3b541841039b"
      unitRef="U_USD">2368000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_bc58b23a-3347-4649-ba54-eff663f8e358"
      unitRef="U_USD">191165000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_ba6521d7-a138-4358-8301-aee7f58d8c13"
      unitRef="U_USD">2538000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="INF"
      id="F_eaab4ee0-f59d-45b8-8be2-4455a05abaaa"
      unitRef="U_USD">0</us-gaap:OtherThanTemporaryImpairmentLossDebtSecuritiesAvailableForSale>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_aee0e150-4e93-4f92-9067-15ea5ff87c61">&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;Inventories consisted of the following (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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:56.04%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.82%;"&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;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 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;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:#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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,376&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,241&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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-progress&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,614&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36,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:#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 goods&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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,575&lt;/span&gt;&lt;/p&gt;&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;3,192&lt;/span&gt;&lt;/p&gt;&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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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,565&lt;/span&gt;&lt;/p&gt;&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;40,436&lt;/span&gt;&lt;/p&gt;&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:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_ef82233e-f5cf-4347-8bfb-442fab726f93"
      unitRef="U_USD">1376000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_4faf95b0-a2c3-4ddf-bc07-823b576be508"
      unitRef="U_USD">1241000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_f73ee6a9-4286-41a9-ab51-7950412a0433"
      unitRef="U_USD">34614000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_70e2cacf-3829-496a-aa84-252b8a9f4e43"
      unitRef="U_USD">36003000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_cf90137a-25f9-4978-9810-e6e18d929b8c"
      unitRef="U_USD">5575000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_68fbd7de-9bce-4def-b2e6-e9f9c2c84ff4"
      unitRef="U_USD">3192000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryNet
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_7ca6d515-ad79-4f07-a4b3-eb95baee275c"
      unitRef="U_USD">41565000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_cd62d35d-8b14-44ae-b81c-652e70030634"
      unitRef="U_USD">40436000</us-gaap:InventoryNet>
    <us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_17fdb6a2-4eea-4716-97b0-6eb4ac3d60e5">&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;Prepaid expenses and other current assets consisted of the following (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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.583%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.081%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.127%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.081%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.127%;"&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;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 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;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:#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;Contract assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,488&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 revenues from associated contracts&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;26,481&lt;/span&gt;&lt;/p&gt;&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;17,488&lt;/span&gt;&lt;/p&gt;&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;Net contract assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;/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;Insurance proceeds receivable for litigation settlement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28,500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;Prepaid assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,644&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:#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 current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;6,711&lt;/span&gt;&lt;/p&gt;&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,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;/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: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="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,855&lt;/span&gt;&lt;/p&gt;&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;14,083&lt;/span&gt;&lt;/p&gt;&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:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock>
    <us-gaap:Supplies
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_90f49aa1-5ff4-41e5-b39f-c7efb251704a"
      unitRef="U_USD">26481000</us-gaap:Supplies>
    <us-gaap:Supplies
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_1d018ef1-5387-4d2c-bc65-eb5a803b3f5b"
      unitRef="U_USD">17488000</us-gaap:Supplies>
    <fgen:DeferredRevenuesFromAssociatedContracts
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_8291926e-28a7-46d2-8ebf-52240af69751"
      unitRef="U_USD">-26481000</fgen:DeferredRevenuesFromAssociatedContracts>
    <fgen:DeferredRevenuesFromAssociatedContracts
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_fb3b407f-a5f1-4bf7-bdfb-1d2fb9b56896"
      unitRef="U_USD">-17488000</fgen:DeferredRevenuesFromAssociatedContracts>
    <fgen:SuppliesNet
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_6a25fbe0-50a5-43da-b98b-17b18f2aeae5"
      unitRef="U_USD">0</fgen:SuppliesNet>
    <fgen:SuppliesNet
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_6521e683-0b71-48e0-b872-2c8eab64792f"
      unitRef="U_USD">0</fgen:SuppliesNet>
    <us-gaap:LossContingencyReceivableCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_84f478cd-b74c-4586-896a-48aa5f726fd9"
      unitRef="U_USD">28500000</us-gaap:LossContingencyReceivableCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_054b179a-eddd-4cdc-9aae-838a4bcd6e60"
      unitRef="U_USD">6644000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_37c3ece3-f356-46e6-99f1-64965eac0a7b"
      unitRef="U_USD">9730000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_61a7dab3-dfc1-4ebc-b933-8646b36b8120"
      unitRef="U_USD">6711000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_ac38b47e-f3ac-4a3a-934a-b70ffbee51b3"
      unitRef="U_USD">4353000</us-gaap:OtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_715d40a8-0e39-4a15-8e35-817f2674566a"
      unitRef="U_USD">41855000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_083b680c-0794-4cb5-bb63-336544535e91"
      unitRef="U_USD">14083000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <fgen:SuppliesNet
      contextRef="C_bf75c14d-7187-4d64-a37d-59031a3cdcee"
      decimals="-5"
      id="F_7b7fe306-1a9f-47fd-a350-6481f4797c1f"
      unitRef="U_USD">22500000</fgen:SuppliesNet>
    <fgen:SuppliesNet
      contextRef="C_73216bff-85f3-4d56-9c06-bf1a34b575f6"
      decimals="-5"
      id="F_e603d2b0-e781-4e7c-8b86-123773dcd860"
      unitRef="U_USD">17500000</fgen:SuppliesNet>
    <fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments
      contextRef="C_25046d28-65c6-4a35-9399-55aba1d15900"
      decimals="-5"
      id="F_555b1c32-5bed-4b25-849d-bb2461e3f905"
      unitRef="U_USD">4000000.0</fgen:CollaborativeArrangementAggregateConsiderationForMilestoneAndUpfrontPayments>
    <us-gaap:LossContingencyReceivableCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-5"
      id="F_7258f531-b8f2-4f85-9e88-627373d4cfaf"
      unitRef="U_USD">28500000</us-gaap:LossContingencyReceivableCurrent>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_65b4caa0-4996-4f7c-ad11-abb51c789510">&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;Property and equipment consisted of the following (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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:56.751%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.503%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.503%;"&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: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: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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;102,109&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;102,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;Laboratory equipment&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,175&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Machinery&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,642&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 equipment&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,490&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 and fixtures&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,184&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,200&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Construction in progress&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;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;62&lt;/span&gt;&lt;/p&gt;&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;204&lt;/span&gt;&lt;/p&gt;&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 and equipment&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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;150,056&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;/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: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: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;136,930&lt;/span&gt;&lt;/p&gt;&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;128,682&lt;/span&gt;&lt;/p&gt;&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;Property and equipment, net&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;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;13,126&lt;/span&gt;&lt;/p&gt;&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;20,605&lt;/span&gt;&lt;/p&gt;&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:PropertyPlantAndEquipmentGross
      contextRef="C_c7a002c3-7ac9-4881-a9ed-d23fe5787662"
      decimals="-3"
      id="F_d511f769-2359-43e4-884d-7c8da6fd1346"
      unitRef="U_USD">102109000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_02e61819-a36d-4328-821d-6652cddf6682"
      decimals="-3"
      id="F_49515b54-6648-4241-b0c5-0ae93ac40fad"
      unitRef="U_USD">102580000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_6e56a1a2-5ac1-4477-a7a9-e841236053f5"
      decimals="-3"
      id="F_bbe7a48f-1bf9-4332-85dd-dcbac255c26d"
      unitRef="U_USD">22757000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_dfb977fc-38fe-4c04-a11d-3e6875c02b6e"
      decimals="-3"
      id="F_350d8e19-585e-4966-8741-d2830ac3e8b5"
      unitRef="U_USD">21175000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_e2cc0a7d-167d-4d1f-a543-70dc63e9891e"
      decimals="-3"
      id="F_a580f6d5-c7ff-40a9-99ee-205eb66e6cec"
      unitRef="U_USD">9454000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_f242600b-0ca7-4a2b-84d1-63f3ac5f9969"
      decimals="-3"
      id="F_c91a4913-74de-4cb6-bac5-639d74a5ab81"
      unitRef="U_USD">9642000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_d0e308e7-c4c3-4a35-b0df-90ddc089beb5"
      decimals="-3"
      id="F_b6b59d1d-c2dd-46b3-b23c-a0799ee90ff9"
      unitRef="U_USD">9490000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_7ff027e1-84b6-447f-8fe2-c52b9725a2bd"
      decimals="-3"
      id="F_062daf46-2cb9-4ddb-96fb-dd61e94c9d3f"
      unitRef="U_USD">9486000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_0971c576-0a77-4b02-927e-a36961e449d4"
      decimals="-3"
      id="F_bbf17d81-cbd4-4e12-aa42-35d83f84fcff"
      unitRef="U_USD">6184000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_08b07b5f-6f5f-4b95-9e2f-9785bb4dfac5"
      decimals="-3"
      id="F_db797fa6-5c50-46be-b3ed-ed4213cd7e25"
      unitRef="U_USD">6200000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_3a9b7a13-9844-4e3b-b842-6f7f8f7b06d7"
      decimals="-3"
      id="F_2a902994-e191-4500-90fa-c79d6d59d98f"
      unitRef="U_USD">62000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_c140c098-99ec-418b-87ce-cd5b3b31f1c0"
      decimals="-3"
      id="F_9abc5fd7-f1f9-4e9f-afac-12d905972dad"
      unitRef="U_USD">204000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_e23b8a20-d958-4a4f-aaa6-3d264602455d"
      unitRef="U_USD">150056000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_421eec6e-5c2d-43fd-aafd-bed426b45076"
      unitRef="U_USD">149287000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_39e04d2f-7a70-41f7-809e-c98580243fa8"
      unitRef="U_USD">136930000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_b72b6509-582b-4f9d-993b-574aa20d326d"
      unitRef="U_USD">128682000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_199b2e35-beaa-4a5e-a755-21c8f413e51b"
      unitRef="U_USD">13126000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_11c426ca-8d1d-456e-8952-b88612baca50"
      unitRef="U_USD">20605000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-5"
      id="F_18bdb5e5-2f44-42e3-906e-65a7a6ddc535"
      unitRef="U_USD">9500000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-5"
      id="F_0c23d3bd-68b8-4d1b-a81e-dde9081125c8"
      unitRef="U_USD">10000000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-5"
      id="F_9cae7ecc-90ad-40df-8c75-dc5c5285f260"
      unitRef="U_USD">10200000</us-gaap:Depreciation>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_1205547f-bb27-4148-88d6-530b8489213f">&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;Accrued and other current liabilities consisted of the following (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:10pt;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:56.751%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.503%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.503%;"&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;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 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;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:#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;Preclinical and clinical trial accruals&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,780&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;API and bulk drug product price true-up&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,978&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;75,055&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Litigation settlement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28,500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Payroll and related accruals&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,267&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,562&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Accrued co-promotion expenses - current&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,309&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36,677&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Roxadustat profit share to AstraZeneca&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;/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;Property taxes and other taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,691&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Professional services&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,103&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,480&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 portion of liability related to sale of future revenues&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,654&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 restructuring charge&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;&#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="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,248&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 accrued and other current liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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,891&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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,773&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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>
    <fgen:AccruedPreclinicalAndClinicalTrialCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_3e5db765-af82-4249-8b8a-3305fd87b4c9"
      unitRef="U_USD">27663000</fgen:AccruedPreclinicalAndClinicalTrialCurrent>
    <fgen:AccruedPreclinicalAndClinicalTrialCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_97c43f06-8d63-42ac-8007-903e0cc8082c"
      unitRef="U_USD">57780000</fgen:AccruedPreclinicalAndClinicalTrialCurrent>
    <fgen:AccruedApiAndBulkDrugProductPriceTrueUpCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_b0fa23d1-b6a7-4a70-9407-87859e6dc909"
      unitRef="U_USD">50978000</fgen:AccruedApiAndBulkDrugProductPriceTrueUpCurrent>
    <fgen:AccruedApiAndBulkDrugProductPriceTrueUpCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_08eef9a0-8636-4c24-bec3-3dbcc1d0c018"
      unitRef="U_USD">75055000</fgen:AccruedApiAndBulkDrugProductPriceTrueUpCurrent>
    <fgen:LitigationSettlementCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_998b530d-340f-451a-915d-267a8b08ec95"
      unitRef="U_USD">28500000</fgen:LitigationSettlementCurrent>
    <fgen:LitigationSettlementCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_5831ecd5-8713-4375-b8fa-99d144075843"
      unitRef="U_USD">0</fgen:LitigationSettlementCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_5fbcafa0-87f4-492d-8859-2e0ea9cc0c48"
      unitRef="U_USD">20267000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_07d3a4c8-9b40-4409-b2b2-700c0350c8f6"
      unitRef="U_USD">22562000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <fgen:AccruedCoPromotionExpensesCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_fe2233ed-137a-4ccc-81ae-2b58c9effa21"
      unitRef="U_USD">10309000</fgen:AccruedCoPromotionExpensesCurrent>
    <fgen:AccruedCoPromotionExpensesCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_50d6f7fa-7ef4-4fa8-baf6-39fa8b0094cb"
      unitRef="U_USD">36677000</fgen:AccruedCoPromotionExpensesCurrent>
    <fgen:AccruedProfitShareCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_907a9602-6b70-4e5a-a32c-d2de9b65e39d"
      unitRef="U_USD">7084000</fgen:AccruedProfitShareCurrent>
    <fgen:AccruedProfitShareCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_41e000ea-67b2-447b-b123-29d89e4cc2dc"
      unitRef="U_USD">7280000</fgen:AccruedProfitShareCurrent>
    <fgen:PropertyTaxesAndOtherCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_581d278e-a4f6-4443-8109-af287c0ceb5b"
      unitRef="U_USD">6615000</fgen:PropertyTaxesAndOtherCurrent>
    <fgen:PropertyTaxesAndOtherCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_56315792-213f-49ca-a45d-4c9d33fb304f"
      unitRef="U_USD">7691000</fgen:PropertyTaxesAndOtherCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_d6070be9-ede8-4514-8e13-a01c595da0d8"
      unitRef="U_USD">7103000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_db8ef8dd-a07c-4fb8-a09c-d26db183cb81"
      unitRef="U_USD">5480000</us-gaap:AccruedProfessionalFeesCurrent>
    <fgen:LiabilityRelatedToSaleOfFutureRevenuesCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_d92db913-a765-4785-867b-321da3e75652"
      unitRef="U_USD">5654000</fgen:LiabilityRelatedToSaleOfFutureRevenuesCurrent>
    <fgen:LiabilityRelatedToSaleOfFutureRevenuesCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_8286d09b-871f-4a53-8cd2-6ea4607dc6fa"
      unitRef="U_USD">0</fgen:LiabilityRelatedToSaleOfFutureRevenuesCurrent>
    <fgen:AccruedRestructuringChargeCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_a53ef30c-9386-4530-9d86-6eab2318ff63"
      unitRef="U_USD">3697000</fgen:AccruedRestructuringChargeCurrent>
    <fgen:AccruedRestructuringChargeCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_5697814b-dc9b-4d24-99c0-fa8ab7d785fd"
      unitRef="U_USD">0</fgen:AccruedRestructuringChargeCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_c541f107-af1a-43bf-931c-0f3584354157"
      unitRef="U_USD">5021000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_1d16e82f-62fb-41f4-ae52-cfadb63304c7"
      unitRef="U_USD">7248000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_a6dda0e7-21a3-4e36-bea9-b42e887c9983"
      unitRef="U_USD">172891000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_b429ea92-f17a-4a62-ad86-dae635f6dcc4"
      unitRef="U_USD">219773000</us-gaap:AccruedLiabilitiesCurrent>
    <fgen:AccruedApiAndBulkDrugProductPriceTrueUpCurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-5"
      id="F_7ee7c43a-08b7-459e-8317-3ebed25727e2"
      unitRef="U_USD">51000000</fgen:AccruedApiAndBulkDrugProductPriceTrueUpCurrent>
    <fgen:AccruedLitigationSettlement
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-5"
      id="F_17f7f8b2-fba3-455a-8a53-a388d0348d47"
      unitRef="U_USD">28500000</fgen:AccruedLitigationSettlement>
    <us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent
      contextRef="C_ddff872e-147d-4935-b266-7e38857ce462"
      decimals="2"
      id="F_35f1f8d1-eec7-49c4-ac80-7f46255e5f54"
      unitRef="U_pure">0.32</us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent>
    <us-gaap:RestructuringCharges
      contextRef="C_cd34fec9-258b-4bd4-af13-19f2e01c25c9"
      decimals="-5"
      id="F_19614ba8-61ef-484f-961d-92f32c7d777d"
      unitRef="U_USD">12600000</us-gaap:RestructuringCharges>
    <us-gaap:PaymentsForRestructuring
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-5"
      id="F_ac1ddece-a7f1-417d-a5e5-f9aa0cff74d0"
      unitRef="U_USD">8900000</us-gaap:PaymentsForRestructuring>
    <fgen:AccruedRestructuringCharges
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-5"
      id="F_0c4b91ef-70a9-4ff2-83c0-ba1d37d8bd23"
      unitRef="U_USD">3700000</fgen:AccruedRestructuringCharges>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_2c7c934e-70b4-49cc-928f-7d4cc97ff1b6">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;9.	Senior Secured Term Loan Facilities&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;On April 29, 2023, the Company entered into a financing agreement (&#x201c;Financing Agreement&#x201d;) with investment funds managed by Morgan Stanley Tactical Value, as lenders (the &#x201c;Lenders&#x201d;), and Wilmington Trust, National Association, as the administrative agent, providing for senior secured term loan facilities consisting of (i) 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;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 initial term loan (the &#x201c;Initial Term Loan&#x201d;), (ii) 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;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 delayed draw term loan that will be funded upon the achievement of certain clinical development milestones (&#x201c;Delayed Draw Term Loan 1&#x201d;) and, (iii) an uncommitted delayed draw term loan 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;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 to be funded at the Lenders sole discretion, (&#x201c;Delayed Draw Term Loan 2&#x201d; and, together with the Initial Term Loan and Delayed Draw Term Loan 1, the &#x201c;Term Loans&#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="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 Financing Agreement, the Lenders have funded the Initial Term Loan. The clinical development milestones which could have triggered Delayed Draw Term Loan 1 were not achieved, and the Lenders have not funded Delayed Draw Term Loan 2. As such, these features have expired 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;/p&gt;&lt;p style="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 Term Loans shall accrue interest at a fixed 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;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;% per annum, payable monthly in arrears. &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 Term Loans shall 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;May 8, 2026&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 Term Loans will not be subject to amortization payments. The Company is permitted to prepay the Term Loans from time to time, in whole or in part, subject to payment of a make-whole amount equal to the unpaid principal amount of the portion of the Term Loans being repaid or prepaid, plus accrued and unpaid interest of the portion of the Term Loans being repaid or prepaid, plus an amount equal to the remaining scheduled interest payments due on such portion of the Term Loans being repaid or prepaid as if such Term Loans were to remain outstanding until the scheduled maturity date. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="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 May 8, 2023, the Company received $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;74.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, representing the Initial Term Loan 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 net 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.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 issuance costs. The issuance costs and the related transaction costs, 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;3.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 is amortized as interest expense using the effective interest method over the term of the Initial Term Loan and are reported on the balance sheet as a direct deduction from the amount of the Initial Term Loan. The effective annual interest rate of the Initial Term Loan 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;16.13&lt;/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 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&lt;/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 recorded interest 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;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 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. 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 related accrued interest 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.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. The Company was in compliance with all debt covenants associated with the senior secured term loan facilities 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;, including maintaining a minimum balance 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;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; million of unrestricted cash and cash equivalents held in accounts in the U.S.&lt;/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: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 determined that certain other features embedded within the Loan should be bifurcated and accounted for separately as a derivative. At inception and as of December 31, 2023, the fair values of such derivatives were negligible due to the low probability of the underlying events.&lt;/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="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 senior secured term loan facilities 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 as follows (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:10pt;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:74.905%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.936%;"&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;min-width:fit-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;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: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;Principal of senior secured term loan facilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;75,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;/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: Unamortized issuance costs and transaction 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;3,066&lt;/span&gt;&lt;/p&gt;&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;Senior secured term loan facilities, ending balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;/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: Current Portion classified to accrued and other current 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;&#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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Senior secured term loan facilities, non-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;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,934&lt;/span&gt;&lt;/p&gt;&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="font-size: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;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LongTermDebt
      contextRef="C_e148661d-15d9-4087-ace0-a627aa82c0be"
      decimals="-5"
      id="F_573e5a20-c387-4f77-b136-260fe079dc8d"
      unitRef="U_USD">75000000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="C_532066c6-4494-4995-835d-54fa1244b9ea"
      decimals="-5"
      id="F_46fab72b-1c4a-4685-aa2b-882065e79767"
      unitRef="U_USD">37500000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="C_24d75f0b-1f76-4b16-bd10-ab69a60ebd4f"
      decimals="-5"
      id="F_4b12608d-0bd2-4f12-bb1f-a42051b29200"
      unitRef="U_USD">37500000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="C_3614c635-ee35-4324-9cde-bfff3b11121b"
      decimals="3"
      id="F_8899f4c4-8a8c-4269-8ae5-a38582f75a25"
      unitRef="U_pure">0.14</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <fgen:RepaymentDescription
      contextRef="C_9755559b-c556-449c-b20d-092303a2ed72"
      id="F_a17e640b-f767-4232-bf0e-e00b3ff191d5">The Term Loans shall mature on May 8, 2026. The Term Loans will not be subject to amortization payments. The Company is permitted to prepay the Term Loans from time to time, in whole or in part, subject to payment of a make-whole amount equal to the unpaid principal amount of the portion of the Term Loans being repaid or prepaid, plus accrued and unpaid interest of the portion of the Term Loans being repaid or prepaid, plus an amount equal to the remaining scheduled interest payments due on such portion of the Term Loans being repaid or prepaid as if such Term Loans were to remain outstanding until the scheduled maturity date. </fgen:RepaymentDescription>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="C_3614c635-ee35-4324-9cde-bfff3b11121b"
      id="F_98117164-e850-4566-a651-4c46f91e017b">2026-05-08</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="C_c43f0be6-6491-4a49-a5a0-b04b1ffce8ae"
      decimals="-5"
      id="F_af1519f2-0578-4e18-bf5a-1e32f364a8b9"
      unitRef="U_USD">74100000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:LongTermDebt
      contextRef="C_02100ecc-9274-43bc-9a74-6f24c8be2c31"
      decimals="-5"
      id="F_c743668f-fc52-47c6-806f-a358640bcd6d"
      unitRef="U_USD">75000000</us-gaap:LongTermDebt>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="C_c43f0be6-6491-4a49-a5a0-b04b1ffce8ae"
      decimals="-5"
      id="F_baefddba-5fdd-4fcd-a838-26d191e48fa4"
      unitRef="U_USD">900000</us-gaap:DeferredFinanceCostsNet>
    <fgen:AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts
      contextRef="C_02100ecc-9274-43bc-9a74-6f24c8be2c31"
      decimals="-5"
      id="F_a27cb67f-b32f-418a-ad1f-da872d4820c5"
      unitRef="U_USD">3700000</fgen:AmortizationOfDebtIssuanceCostsAndRelatedTransactionCosts>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="C_1954c157-71f8-42c7-8fb9-4f71a96245a0"
      decimals="4"
      id="F_977174af-3aaf-4194-afef-bc996890d0e4"
      unitRef="U_pure">0.1613</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:InterestExpenseDebt
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-5"
      id="F_39fa2bac-1f15-408d-b479-63a257720f06"
      unitRef="U_USD">7400000</us-gaap:InterestExpenseDebt>
    <fgen:DebtInstrumentAccruedInterest
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-5"
      id="F_8c854a08-d8fe-42d5-9e41-877c95b0d088"
      unitRef="U_USD">400000</fgen:DebtInstrumentAccruedInterest>
    <fgen:UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts
      contextRef="C_ee7eb5a5-3eb4-404a-84fd-6b992110dacd"
      decimals="-6"
      id="F_d09e6135-841b-44c2-ada1-e6d7a1fb580e"
      unitRef="U_USD">30000000</fgen:UnrestrictedCashAndCashEquivalentBalanceMaintainInAccounts>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_7964ce9d-d475-45e2-a74b-16c4627fc33b">&lt;p style="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 senior secured term loan facilities 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 as follows (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:10pt;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:74.905%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.936%;"&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;min-width:fit-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;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: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;Principal of senior secured term loan facilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;75,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;/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: Unamortized issuance costs and transaction 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;3,066&lt;/span&gt;&lt;/p&gt;&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;Senior secured term loan facilities, ending balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;/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: Current Portion classified to accrued and other current 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;&#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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Senior secured term loan facilities, non-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;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,934&lt;/span&gt;&lt;/p&gt;&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="font-size: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:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="C_f3cfec5e-c85e-4535-a912-552935865538"
      decimals="-3"
      id="F_21c97572-c6cf-468e-9a3d-6e82f3b0afcb"
      unitRef="U_USD">75000000</us-gaap:DebtInstrumentCarryingAmount>
    <fgen:UnamortizedIssuanceCostsAndTransactionCosts
      contextRef="C_f3cfec5e-c85e-4535-a912-552935865538"
      decimals="-3"
      id="F_5bf96e7c-6aec-4123-9aeb-ce29b640cc3f"
      unitRef="U_USD">-3066000</fgen:UnamortizedIssuanceCostsAndTransactionCosts>
    <us-gaap:LongTermDebt
      contextRef="C_f3cfec5e-c85e-4535-a912-552935865538"
      decimals="-3"
      id="F_51178171-db47-4944-859a-3df0de31c879"
      unitRef="U_USD">71934000</us-gaap:LongTermDebt>
    <fgen:CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities
      contextRef="C_f3cfec5e-c85e-4535-a912-552935865538"
      decimals="-3"
      id="F_340d1fa5-8df9-462e-9a2f-1e0b1acad574"
      unitRef="U_USD">0</fgen:CurrentPortionClassifiedToAccruedAndOtherCurrentLiabilities>
    <us-gaap:SecuredLongTermDebt
      contextRef="C_f3cfec5e-c85e-4535-a912-552935865538"
      decimals="-3"
      id="F_54011cf8-7f71-4fe5-8735-dda7fc95a436"
      unitRef="U_USD">71934000</us-gaap:SecuredLongTermDebt>
    <fgen:LiabilityRelatedToSaleOfFutureRevenueTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_7e77560e-f2f1-4785-a290-24586485dd6e">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;10.	Liability Related to Sale of Future Revenues&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;On November 4, 2022, the Company entered into a Revenue Interest Financing Agreement (the &#x201c;RIFA&#x201d;) with NQ Entity, L.P. (&#x201c;NovaQuest&#x201d;), pursuant to which the Company granted a percentage interest in the Company&#x2019;s future revenues under the Astellas Agreements, for a consideration 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;50.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 (&#x201c;Investment Amount&#x201d;) before advisory fees.&lt;/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: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 as of November 2022, the Company sold to NovaQuest &lt;/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.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 its drug product revenue 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;10.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;(&lt;/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.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 fiscal year 2028 and thereafter) &lt;/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 its revenue from milestone payments under the Astellas Agreements. In November 2022, 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 received $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;49.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 from NovaQuest at an initial funding on November 17, 2022, representing the gross proceeds 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;50.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 &#x201c;Initial Investment Amount&#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; net of initial issuance costs, and accounted for it as long-term debt based on the terms of the RIFA because the risks and rewards to NovaQuest are limited by the terms of the transaction. The related debt discount and transaction costs are amortized as interest expense based on the projected balance of the liability as of the beginning of each period. As payments are made to NovaQuest, the balance of the liability related to sale of future revenues is being effectively repaid over the life of the RIFA. The payments to NovaQuest are accounted for as a reduction of debt.&lt;/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: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 may prepay its obligations to NovaQuest in full at any time during the term of RIFA. The prepayment amount varies from $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;80.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 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;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 less any revenue interest payments made up to such prepayment date. Under the RIFA the Company shall pay to NovaQuest up to a specified maximum amount (&#x201c;Payment Cap&#x201d;) of (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;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, if &lt;/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 payment&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; is made on or before December 31, 2028; (b) $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;112.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, if &lt;/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 payment is made &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;on or after January 1, 2029, but on or before December 31, 2029; or (c) $&lt;/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, if &lt;/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 payment is made after January 1, 2030.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;After January 1, 2028, if the product (as defined) is not commercialized for a consecutive twelve-month period, then, the payments owed under the RIFA by the Company to NovaQuest for each fiscal year shall be the greater of: (i) the amount which would otherwise be due pursuant to revenue interest payments terms; or (ii) $&lt;/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.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;/p&gt;&lt;p style="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;Before December 31, 2028, if the sum of all payments under the RIFA paid to NovaQuest, does not equal or exceed $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;62.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, then the Company shall pay NovaQuest the difference of these two amounts by no later than March 1, 2029. If, by no later than December 31, 2030, the sum of all payments under the RIFA paid to NovaQuest does not equal or exceed $&lt;/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, then the Company shall pay NovaQuest the difference of these two amounts by no later than March 1, 2031.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;NovaQuest will retain this entitlement until it has reached the Payment Cap, at which point &lt;/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 such revenue interest on future global net sales of Astellas will revert to the Company.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Over the course of the RIFA, the effective interest rate is affected by the amount and timing of drug product revenue and revenue from milestone payments recognized, the changes in the timing of forecasted drug product revenue and revenue from milestone payments, and the timing of the Company&#x2019;s payments to NovaQuest. On a quarterly basis, the Company reassesses the expected total revenue and the timing of such revenue, recalculates the amortization of debt discount and transactions costs and effective interest rate, and adjusts the accounting prospectively as needed.&lt;/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: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 total debt discount and transaction 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;1.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, is amortized as interest expense based on the projected balance of the liability as of the beginning of each period. The Company estimated an effective annual interest rate 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;16.03&lt;/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;19.67&lt;/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 &lt;/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 years ended December 31, 2023 and 2022, 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="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 payments are made to NovaQuest, the balance of the liability related to sale of future revenues is being effectively repaid over the life of the RIFA. &lt;br/&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;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 table below shows the activity of the liability related to sale of future revenues 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:&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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:74.905%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.936%;"&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;min-width:fit-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;Year Ended &lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;Liability related to sale of future revenues - beginning balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;49,333&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Interest expense recognized&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,734&lt;/span&gt;&lt;/p&gt;&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;Liability related to sale of future revenues - ending balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,067&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: Current portion classified to accrued and other current 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;5,654&lt;/span&gt;&lt;/p&gt;&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Liability related to sale of future revenues, non-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;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;51,413&lt;/span&gt;&lt;/p&gt;&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="font-size: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="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 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;, the Company recognized, under Astellas Agreements, drug product revenue 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;18.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;11.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, respectively. In addition, during the year ended December 31, 2022, the Company recognized, under Astellas Agreements, license revenue 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;22.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 development revenue 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;2.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 related to 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;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 regulatory milestone. See Note 3, &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;Collaboration Agreements, License Agreement and 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;, for details.&lt;/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: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 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;, the Company recognized the related non-cash interest 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;7.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.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;/p&gt;&lt;p style="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;Based on the current estimates of drug product revenue and revenue from milestone payments under the Astellas Agreements,&lt;/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 taking into the consideration of the terms discussed above, the Company anticipates to reach a Payment Cap 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;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 by 2031.&lt;/span&gt;&lt;/p&gt;</fgen:LiabilityRelatedToSaleOfFutureRevenueTextBlock>
    <fgen:FutureRevenueGranted
      contextRef="C_ca1a7f7c-109b-4aca-b1e9-936abc7e9c2a"
      decimals="-5"
      id="F_9e12d5e8-c806-4c3f-8efd-b38c049bac02"
      unitRef="U_USD">50000000</fgen:FutureRevenueGranted>
    <fgen:PercentageOfRevenueSold
      contextRef="C_6d6682fc-aec1-4833-96b7-940b1d676766"
      decimals="3"
      id="F_9c841992-83ad-42e0-a5a1-72ef81234801"
      unitRef="U_pure">0.225</fgen:PercentageOfRevenueSold>
    <fgen:PercentageOfRevenueSold
      contextRef="C_f7b3cb4c-64c2-4916-a7b4-16e850ad2f4a"
      decimals="3"
      id="F_c839ad41-7439-4c89-86a0-5c97d320c864"
      unitRef="U_pure">0.10</fgen:PercentageOfRevenueSold>
    <fgen:PercentageOfRevenueSold
      contextRef="C_9c1fa134-424e-4294-b760-3a1f0e0bec6d"
      decimals="3"
      id="F_d37b9f70-155e-42d9-ac8f-4e45cd749c07"
      unitRef="U_pure">0.20</fgen:PercentageOfRevenueSold>
    <fgen:ReceivedFromSaleOfRevenue
      contextRef="C_d8ba0bd1-0354-45d8-b873-d0f381b58cb8"
      decimals="-5"
      id="F_53d6aa1d-5493-44a9-93b7-d2c13a72bf84"
      unitRef="U_USD">49800000</fgen:ReceivedFromSaleOfRevenue>
    <fgen:GrossProceedsReceivedFromSaleOfRevenue
      contextRef="C_d8ba0bd1-0354-45d8-b873-d0f381b58cb8"
      decimals="-5"
      id="F_513ed932-dac8-4232-9b82-aeb2beb133f2"
      unitRef="U_USD">50000000</fgen:GrossProceedsReceivedFromSaleOfRevenue>
    <fgen:PrepaymentAmount
      contextRef="C_68624f91-a5f7-4b90-be41-5f8fabc51019"
      decimals="-5"
      id="F_ff062166-39b5-4265-b901-a3bb6e1ebb65"
      unitRef="U_USD">80000000</fgen:PrepaymentAmount>
    <fgen:PrepaymentAmount
      contextRef="C_782b2c2c-8255-4e71-a234-c4eb4d25ecc5"
      decimals="-5"
      id="F_49435c1e-2933-4baa-af84-78e68464fcf0"
      unitRef="U_USD">125000000</fgen:PrepaymentAmount>
    <fgen:MaximumPaymentCapAmount
      contextRef="C_e04a45d7-0c58-4eb0-b40d-cef65ea46977"
      decimals="INF"
      id="F_3893ba5c-270d-42ae-89d1-3b76d4ccd5bb"
      unitRef="U_USD">100000000</fgen:MaximumPaymentCapAmount>
    <fgen:MaximumPaymentCapAmount
      contextRef="C_65c9c777-78c1-4cc1-bc12-d2c223fe6c98"
      decimals="INF"
      id="F_240b2cad-4b7c-4ec7-be22-58c782f7f98b"
      unitRef="U_USD">112500000</fgen:MaximumPaymentCapAmount>
    <fgen:MaximumPaymentCapAmount
      contextRef="C_3b2d0816-da4e-4855-b033-81decbc0c8cc"
      decimals="INF"
      id="F_0ea934ae-b2dd-47aa-8388-65845b2cff0f"
      unitRef="U_USD">125000000</fgen:MaximumPaymentCapAmount>
    <fgen:RevenueInterestPayment
      contextRef="C_304bb7d9-3e21-42db-83a9-b5689f3fe6cd"
      decimals="-5"
      id="F_e83be1f7-3b3a-413e-9ac9-2623bdd70ff2"
      unitRef="U_USD">10000000</fgen:RevenueInterestPayment>
    <fgen:RevenueInterestPayment
      contextRef="C_32fe60f9-4e53-4cfc-8f86-f9a79fce2894"
      decimals="-5"
      id="F_9fc2068a-024a-4fa6-9e44-41958b053245"
      unitRef="U_USD">62500000</fgen:RevenueInterestPayment>
    <fgen:RevenueInterestPayment
      contextRef="C_3a4cc021-046c-4893-a352-3308e3c73063"
      decimals="-5"
      id="F_a7c2975d-5c6c-4803-8ae1-97931a42c547"
      unitRef="U_USD">125000000</fgen:RevenueInterestPayment>
    <fgen:PercentageOfRevenueInterestOnGlobalNetSales
      contextRef="C_ca1a7f7c-109b-4aca-b1e9-936abc7e9c2a"
      decimals="INF"
      id="F_0ffead65-399a-4c2e-96d6-0004d0fe3634"
      unitRef="U_pure">1</fgen:PercentageOfRevenueInterestOnGlobalNetSales>
    <fgen:PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues
      contextRef="C_91b986fc-d91b-46d1-bbbb-edb6c4975266"
      decimals="-5"
      id="F_e48b2930-bb78-403d-877d-92af15e27c8c"
      unitRef="U_USD">1700000</fgen:PaymentsForTransactionCostsRelatedToSaleOfFutureRevenues>
    <fgen:EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues
      contextRef="C_44ce08de-7b02-4982-8578-54a8d37f38db"
      decimals="4"
      id="F_9d11a7d5-a25a-486f-99b8-fb69e00cdcc4"
      unitRef="U_pure">0.1603</fgen:EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues>
    <fgen:EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues
      contextRef="C_8aa3bc4c-9f6c-4fb2-b6d1-a5f58c06f239"
      decimals="4"
      id="F_e6c59cae-b0ae-4373-8063-4aca91d4e411"
      unitRef="U_pure">0.1967</fgen:EffectiveAnnualInterestRateRelatedToSaleOfFutureRevenues>
    <fgen:ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_02326cf7-d89a-4a53-acc1-20cb5feda0d9">&lt;p style="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 table below shows the activity of the liability related to sale of future revenues 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:&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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:74.905%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.936%;"&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;min-width:fit-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;Year Ended &lt;br/&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;Liability related to sale of future revenues - beginning balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;49,333&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Interest expense recognized&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,734&lt;/span&gt;&lt;/p&gt;&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;Liability related to sale of future revenues - ending balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,067&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: Current portion classified to accrued and other current 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;5,654&lt;/span&gt;&lt;/p&gt;&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Liability related to sale of future revenues, non-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;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;51,413&lt;/span&gt;&lt;/p&gt;&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="font-size: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;</fgen:ScheduleOfActivityOfLiabilityRelatedToSaleOfFutureRevenuesTableTextBlock>
    <fgen:LiabilityRelatedToSaleOfFutureRevenues
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_2ce53723-b1f3-4122-8360-b690f3bc13ea"
      unitRef="U_USD">49333000</fgen:LiabilityRelatedToSaleOfFutureRevenues>
    <fgen:NonCashInterestExpenseRelatedToSaleOfFutureRevenues
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_45f56d08-27d2-41fe-822d-4c26ef9a3e08"
      unitRef="U_USD">7734000</fgen:NonCashInterestExpenseRelatedToSaleOfFutureRevenues>
    <fgen:LiabilityRelatedToSaleOfFutureRevenues
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_11e4ca05-5c4d-4d7e-8aed-741fd8f77583"
      unitRef="U_USD">57067000</fgen:LiabilityRelatedToSaleOfFutureRevenues>
    <fgen:LiabilityRelatedToSaleOfRevenueCurrent
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_44de6e31-1ec8-4f43-81eb-624dbe963912"
      unitRef="U_USD">5654000</fgen:LiabilityRelatedToSaleOfRevenueCurrent>
    <fgen:LiabilityRelatedToSaleOfRevenuesNoncurrent
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_882092c6-ab91-47ba-88d9-2f245a0c3339"
      unitRef="U_USD">51413000</fgen:LiabilityRelatedToSaleOfRevenuesNoncurrent>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_3118286d-5662-45d7-85a3-423ffb8d4445"
      decimals="-5"
      id="F_1cd18061-d6ac-4df7-99d0-06bfa5eeca5b"
      unitRef="U_USD">18800000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_d0d7bc76-8a99-4ef7-b51e-334ec0350450"
      decimals="-5"
      id="F_05a63b8a-087e-4cc8-bb53-32ebf7d9b0fd"
      unitRef="U_USD">11100000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_8d86ddc5-f189-461c-a0de-1deac7641775"
      decimals="-5"
      id="F_90700e78-2e70-4c62-8a50-748b1f9c12c6"
      unitRef="U_USD">22600000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_9bbd7689-d07f-499b-99f0-7e8f381129fd"
      decimals="-5"
      id="F_8c72aef3-7721-46b0-9cea-7efaccdd422f"
      unitRef="U_USD">2400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_858d8afe-0b0f-4b51-be2b-9f08a5503083"
      decimals="-5"
      id="F_f6cd7567-a088-433f-b9e7-4deae9c30d4f"
      unitRef="U_USD">25000000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fgen:NonCashInterestExpenseRelatedToDrugProductRevenue
      contextRef="C_3118286d-5662-45d7-85a3-423ffb8d4445"
      decimals="-5"
      id="F_c09d2cd0-8216-4a20-8de2-5f5347cd3962"
      unitRef="U_USD">7700000</fgen:NonCashInterestExpenseRelatedToDrugProductRevenue>
    <fgen:NonCashInterestExpenseRelatedToDrugProductRevenue
      contextRef="C_d0d7bc76-8a99-4ef7-b51e-334ec0350450"
      decimals="-5"
      id="F_3ab410dc-b497-4146-acb7-495315f11cb2"
      unitRef="U_USD">1000000</fgen:NonCashInterestExpenseRelatedToDrugProductRevenue>
    <fgen:RevenuePaymentCapAmount
      contextRef="C_22bf96dc-3a88-4f2d-8b81-83b17ef5db33"
      decimals="INF"
      id="F_452c644b-7400-439c-be32-cb3a7c39569a"
      unitRef="U_USD">125000000</fgen:RevenuePaymentCapAmount>
    <fgen:ProductDevelopmentObligationsDisclosureTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_bce7aa54-e888-45cf-ac3d-041590d9ff30">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;11.	Product Development Obligations&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;The Technology Development Center of the Republic of Finland (&#x201c;TEKES&#x201d;) product development obligations consist 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&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; separate advances (each in the form of a note agreement) received by FibroGen Europe between 1996 and 2008 from TEKES. These advances are granted on a project-by-project basis to fund various product development efforts undertaken by FibroGen Europe only. Each separate note is denominated in EUR and bears interest (not compounded) calculated 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; percentage point less than the Bank of Finland rate in effect at the time of the note, but no less 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;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;/p&gt;&lt;p style="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 research work funded by TEKES does not result in an economically profitable business or does not meet its technological objectives, TEKES may, on application from FibroGen Europe, forgive each of these loans, including accrued interest, either in full or in part. 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;, the Company had U.S. Dollar equivalent 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;10.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 $&lt;/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.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 principal outstanding, respectively, 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.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;6.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 interest accrued, respectively, which were presented in the product development obligations line on the consolidated balance sheets.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 not a guarantor of these loans, and these loans are not repayable by FibroGen Europe until it has distributable funds.&lt;/span&gt;&lt;/p&gt;</fgen:ProductDevelopmentObligationsDisclosureTextBlock>
    <fgen:NumberOfProductDevelopmentObligations
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="INF"
      id="F_b1ed9562-e1c8-418c-a678-cbbf6e76254a"
      unitRef="U_DevelopmentObligation">11</fgen:NumberOfProductDevelopmentObligations>
    <us-gaap:LoansReceivableBasisSpreadOnVariableRate
      contextRef="C_60707ab0-0133-4672-b0f4-ef21552b6370"
      decimals="2"
      id="F_be223111-7ed2-466b-9265-1c88200b92fa"
      unitRef="U_pure">0.01</us-gaap:LoansReceivableBasisSpreadOnVariableRate>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="C_8656ccf6-7b9a-4d86-93ef-e201e089a439"
      decimals="INF"
      id="F_99a0915d-f6e8-4d46-8556-a161437d8969"
      unitRef="U_pure">0.030</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <fgen:AccruedProductDevelopmentCostsExcludingInterest
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-5"
      id="F_79a57876-27be-4a33-a7a9-f732773d509f"
      unitRef="U_USD">10400000</fgen:AccruedProductDevelopmentCostsExcludingInterest>
    <fgen:AccruedProductDevelopmentCostsExcludingInterest
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-5"
      id="F_757c717a-7973-406f-a455-646992f8dd9f"
      unitRef="U_USD">10100000</fgen:AccruedProductDevelopmentCostsExcludingInterest>
    <us-gaap:InterestPayableCurrentAndNoncurrent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-5"
      id="F_1f868a0c-72f1-4f00-b535-12c16beeb2cd"
      unitRef="U_USD">7300000</us-gaap:InterestPayableCurrentAndNoncurrent>
    <us-gaap:InterestPayableCurrentAndNoncurrent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-5"
      id="F_6c66ad03-d7a6-475e-a32a-8327e2547bf9"
      unitRef="U_USD">6800000</us-gaap:InterestPayableCurrentAndNoncurrent>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_07008ea9-95f4-43e4-9d82-52f7e908ae42">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;12.	Commitments and Contingencies&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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Contract Obligations&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;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 had the following outstanding non-cancelable purchase obligations (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="font-size: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;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:47.26%;"&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:13.58%;"&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:13.58%;"&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:13.58%;"&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;Purchase Obligations &lt;br/&gt;Due In The Year Ending 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;2024&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;2025&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;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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;Manufacture and supply of pamrevlumab&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,995&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,827&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,822&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Manufacture and supply of roxadustat&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;573&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,719&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Other purchases and programs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,750&lt;/span&gt;&lt;/p&gt;&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;11,750&lt;/span&gt;&lt;/p&gt;&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:bottom;"&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:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;30,318&lt;/span&gt;&lt;/p&gt;&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;5,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;36,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;/table&gt;&lt;/div&gt;&lt;p style="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 expects to fulfill its commitments under these agreements in the normal course of business, and as such, no liability has been recorded.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;See Note 7, &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;Leases&lt;/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 details of the Company's operating and finance lease payment obligations. See Note 9, &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;Senior Secured Term Loan Facilities,&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; Note 10, &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;Liability Related to Sale of Future Revenues&lt;/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 Note 11, &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;Product Development 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; for details of the respective obligations.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 Company&#x2019;s license agreements provide for periodic maintenance fees over specified time periods, as well as payments by the Company upon the achievement of development, regulatory and commercial milestones. 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;, future milestone payments for research and preclinical stage development programs consisted of up to 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;697.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 in total potential future milestone payments under the Company&#x2019;s license agreements with HiFiBiO (for Gal-9 and CCR8), Medarex, Inc. and others. These milestone payments generally become due and payable only upon the achievement of certain developmental, clinical, regulatory and/or commercial milestones. The event triggering such payment or obligation has not yet occurred.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Legal Proceedings and Other Matters&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;From time to time, the Company is a party to various legal actions, both inside and outside the U.S., arising in the ordinary course of its business or otherwise. The Company accrues amounts, to the extent they can be reasonably estimated, that the Company believes will result in a probable loss (including, among other things, probable settlement value) to adequately address any liabilities related to legal proceedings and other loss contingencies. A loss or a range of loss is disclosed when it is reasonably possible that a material loss will incur and can be estimated, or when it is reasonably possible that the amount of a loss, when material, will exceed the recorded provision. The Company did not have any material accruals for any active legal action, except for the class action settlement mentioned below, in its consolidated balance sheet as of December 31, 2023, as the Company could not predict the ultimate outcome of these matters, or reasonably estimate the potential exposure.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Between April 2021 and May 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;five&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; putative securities class action complaints were filed against FibroGen and certain of its current and former executive officers (collectively, the &#x201c;Defendants&#x201d;) in the U.S. District Court for the Northern District of California. The lawsuits allege that Defendants violated the Securities Exchange Act of 1934 by making materially false and misleading statements regarding FibroGen&#x2019;s Phase 3 clinical studies data and prospects for U.S. Food and Drug Administration approval. On August 30, 2021, the Court consolidated the actions and appointed a group of lead plaintiffs. On October 17, 2023, the parties reached an agreement in principle to settle the class action at $&lt;/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.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. Accordingly, as of December 31, 2023, the Company recor&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;ded 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;28.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 accrued and other current liabilities in the consolidated balance sheet. The Company maintains insurance that covers exposure related to the class action lawsuit. As the amount is fully recoverable under the Company&#x2019;s insurance policies, the Company recorded a corresponding receivable in prepaid expenses and other current assets in the consolidated balance sheet. The determination that the recorded receivables are probable of collection is based on the terms of the applicable insurance policies and communications with the insurers. Another case, filed on May 25, 2023, against the same defendants, asserting similar claims as the class action and additional common-law and California state fraud claims&lt;/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 voluntarily dismissed on December 20, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Between July 30, 2021 and December 5, 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;six&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; shareholder derivative complaints were filed, naming as defendants certain of our current and former officers and certain current and former members of our board, as well as FibroGen as nominal defendants (the &#x201c;Derivative Lawsuits&#x201d;).  Of these Derivative Lawsuits, three were filed in the Delaware Court of Chancery, two were filed in the U.S. District Court for the District of Delaware (the &#x201c;Delaware Federal Derivative Actions&#x201d;), and one was filed in the U.S. District Court for the Northern District of California (the &#x201c;California Federal Derivative Action&#x201d;).  The plaintiffs assert state and federal claims based on some of the same alleged misstatements as the securities class action complaint. The complaints seek unspecified damages, attorneys&#x2019; fees, and other costs.  The status of the six Derivative Lawsuits is currently 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;div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&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;Two of the Delaware Chancery Derivative actions, filed on April 14, 2022, and June 1, 2023, have been consolidated (the &#x201c;Delaware Chancery Consolidated Derivative&#x201d;).  On February 1, 2024, Defendants moved to dismiss the Delaware Chancery Consolidated Derivative action.  In another derivative action, filed in the Delaware Court of Chancery on December 3, 2023, Defendants have not been served; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&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;The Delaware Federal Derivative actions remain stayed. One is stayed pending the resolution of the putative securities class action, and the other is stayed pending resolution of the motion to dismiss the Delaware Chancery Consolidated Derivative action; and&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="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.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&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;The California Federal Derivative action was voluntarily dismissed on January 22, 2024.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="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 believes that the claims asserted in the Derivative Lawsuits are without merit and it intends to vigorously defend against them. However, any litigation is inherently uncertain, and any judgment or injunctive relief entered against FibroGen or any adverse settlement could materially and adversely impact its business, results of operations, financial condition, and prospects.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 the fourth quarter of 2021, the Company received a subpoena from the SEC requesting documents related to roxadustat&#x2019;s pooled cardiovascular safety data. The Company is fully cooperating with the SEC. The Company cannot predict with any degree of certainty the outcome of the SEC&#x2019;s investigation or determine the extent of any potential liabilities. The Company also cannot predict whether there will be any loss as a result of the investigation nor can it provide an estimate of the possible loss or range of loss. Any adverse outcome in this matter or any related proceeding could expose the Company to substantial damages, penalties, or reputational harm that may have a material adverse impact on the Company&#x2019;s business, results of operations, financial condition, growth prospects, and price of its common stock.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Between 2022 and 2023, the Company&#x2019;s Board of Directors received five litigation demands from purported shareholders of the Company, asking the Board of Directors to investigate and take action against certain current and former officers and directors of the Company for alleged wrongdoing based on the same allegations in the pending derivative and securities class action lawsuits. The Company may in the future receive such additional demands.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Starting in October 2021, certain challenges have been filed with the China National Intellectual Property Administration against patents which claim a crystalline form of roxadustat. Final resolution of such proceedings will take time and the Company could not predict the ultimate outcome, or reasonably estimate the potential exposure.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Indemnification Agreements&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;The Company enters into standard indemnification arrangements in the ordinary course of business, including for example, service, manufacturing and collaboration agreements. Pursuant to these arrangements, the Company indemnifies, holds harmless, and agrees to reimburse the indemnified parties for losses suffered or incurred by the indemnified party, including in connection with intellectual property infringement claims by any third party with respect to its technology. The term of these indemnification agreements is generally perpetual any time after the execution of the agreement. The Company has entered into indemnification agreements with its directors and officers that may require the Company to indemnify its directors and officers against liabilities that may arise by reason of their status or service as directors or officers to the extent permissible under applicable law. The maximum potential amount of future payments the Company could be required to make under these arrangements is not determinable. The Company believes the estimated fair value of these arrangements is minimal.&lt;/span&gt;&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:RecordedUnconditionalPurchaseObligationsTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_f1d837e3-7679-4769-97c2-240b0cdb3a67">&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;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 had the following outstanding non-cancelable purchase obligations (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="font-size: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;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:47.26%;"&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:13.58%;"&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:13.58%;"&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:13.58%;"&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;Purchase Obligations &lt;br/&gt;Due In The Year Ending 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;2024&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;2025&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;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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;Manufacture and supply of pamrevlumab&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,995&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,827&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,822&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Manufacture and supply of roxadustat&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;573&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,719&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Other purchases and programs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,750&lt;/span&gt;&lt;/p&gt;&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;11,750&lt;/span&gt;&lt;/p&gt;&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:bottom;"&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:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;30,318&lt;/span&gt;&lt;/p&gt;&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;5,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;36,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;/table&gt;</us-gaap:RecordedUnconditionalPurchaseObligationsTextBlock>
    <us-gaap:RecordedUnconditionalPurchaseObligationDueWithinOneYear
      contextRef="C_d44c9749-451c-4526-b833-5cf90b8de898"
      decimals="-3"
      id="F_02b61bc4-3c45-4b67-91ba-e1c4dc5af3a8"
      unitRef="U_USD">17995000</us-gaap:RecordedUnconditionalPurchaseObligationDueWithinOneYear>
    <us-gaap:RecordedUnconditionalPurchaseObligationDueInSecondYear
      contextRef="C_d44c9749-451c-4526-b833-5cf90b8de898"
      decimals="-3"
      id="F_31a0bfc4-e3e7-447d-be15-d13729207d31"
      unitRef="U_USD">4827000</us-gaap:RecordedUnconditionalPurchaseObligationDueInSecondYear>
    <us-gaap:RecordedUnconditionalPurchaseObligation
      contextRef="C_d44c9749-451c-4526-b833-5cf90b8de898"
      decimals="-3"
      id="F_b67651ab-fab2-4ce0-bcab-10322753c0b0"
      unitRef="U_USD">22822000</us-gaap:RecordedUnconditionalPurchaseObligation>
    <us-gaap:RecordedUnconditionalPurchaseObligationDueWithinOneYear
      contextRef="C_9df69083-c305-4073-82ef-4bb5e3fd801e"
      decimals="-3"
      id="F_73390ad2-ef08-4a3f-a2e6-9167bd75f930"
      unitRef="U_USD">573000</us-gaap:RecordedUnconditionalPurchaseObligationDueWithinOneYear>
    <us-gaap:RecordedUnconditionalPurchaseObligationDueInSecondYear
      contextRef="C_9df69083-c305-4073-82ef-4bb5e3fd801e"
      decimals="-3"
      id="F_26e902eb-d43a-4734-937b-199d6f9968cb"
      unitRef="U_USD">1146000</us-gaap:RecordedUnconditionalPurchaseObligationDueInSecondYear>
    <us-gaap:RecordedUnconditionalPurchaseObligation
      contextRef="C_9df69083-c305-4073-82ef-4bb5e3fd801e"
      decimals="-3"
      id="F_c25b12a1-1056-436e-b511-70a2b6a5afca"
      unitRef="U_USD">1719000</us-gaap:RecordedUnconditionalPurchaseObligation>
    <us-gaap:RecordedUnconditionalPurchaseObligationDueWithinOneYear
      contextRef="C_a38fa15d-11c9-4186-a4fb-733e5d096f07"
      decimals="-3"
      id="F_0940c204-985e-40eb-8266-1a0e93d20e18"
      unitRef="U_USD">11750000</us-gaap:RecordedUnconditionalPurchaseObligationDueWithinOneYear>
    <us-gaap:RecordedUnconditionalPurchaseObligationDueInSecondYear
      contextRef="C_a38fa15d-11c9-4186-a4fb-733e5d096f07"
      decimals="-3"
      id="F_0503ac5a-d4e5-42d7-bac4-5f83b9d47713"
      unitRef="U_USD">0</us-gaap:RecordedUnconditionalPurchaseObligationDueInSecondYear>
    <us-gaap:RecordedUnconditionalPurchaseObligation
      contextRef="C_a38fa15d-11c9-4186-a4fb-733e5d096f07"
      decimals="-3"
      id="F_5cdc1936-f6a3-4c2c-ac78-a0e54b799cf1"
      unitRef="U_USD">11750000</us-gaap:RecordedUnconditionalPurchaseObligation>
    <us-gaap:RecordedUnconditionalPurchaseObligationDueWithinOneYear
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_40bd002d-0927-471e-8e3b-1cce8ebd8757"
      unitRef="U_USD">30318000</us-gaap:RecordedUnconditionalPurchaseObligationDueWithinOneYear>
    <us-gaap:RecordedUnconditionalPurchaseObligationDueInSecondYear
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_e6f2377e-7d29-4db2-be11-e2c388c37e42"
      unitRef="U_USD">5973000</us-gaap:RecordedUnconditionalPurchaseObligationDueInSecondYear>
    <us-gaap:RecordedUnconditionalPurchaseObligation
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_4e5240b3-04ae-4705-8544-89241dc2318d"
      unitRef="U_USD">36291000</us-gaap:RecordedUnconditionalPurchaseObligation>
    <fgen:MaximumFutureMilestonePayments
      contextRef="C_3f6c5da6-149d-4e23-bb36-bb5a0aaf655b"
      decimals="-5"
      id="F_b685ebfe-6809-4835-9763-0f389e7ee0d0"
      unitRef="U_USD">697900000</fgen:MaximumFutureMilestonePayments>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="C_587c875c-85c7-40f7-90ff-380658696ae9"
      decimals="INF"
      id="F_43002f06-c1e0-4b09-845f-b3a44fc9d647"
      unitRef="U_PutativeClassAction">5</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="C_b61346fe-47e6-41d4-bbe4-25b4aef1da42"
      decimals="-5"
      id="F_4f6bd77e-913f-4fe6-86ea-0a30004e9145"
      unitRef="U_USD">28500000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-5"
      id="F_b4452e62-2c19-4386-88fd-6cfac3994516"
      unitRef="U_USD">28500000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="C_c76f6e0e-7be1-4639-b16d-7816b6ab09d9"
      decimals="INF"
      id="F_4b8f01a4-aad9-4347-a96f-3cf5da98766c"
      unitRef="U_ShareholderDerivative">6</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_07fa6fb6-2a64-4da7-bdbf-7c82b26efdd4">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;13.	Equity and Stock-based Compensation&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-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Common Stock&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;Each share of Common Stock is entitled to &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;one vote&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 holders of Common Stock are also entitled to receive dividends whenever funds are legally available and when declared by the board of directors, subject to the prior rights of holders of all classes of stock outstanding.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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;Shares of Common Stock outstanding, shares of stock plans outstanding and shares reserved for future issuance related to stock options and RSU grants and the Company&#x2019;s Employee Stock Purchase Plan (&#x201c;ESPP&#x201d;) purchases are as follows (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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:67.007%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.601%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.885%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.621%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.885%;"&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: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;Common stock outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;98,770&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:#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;Stock options outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,104&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,088&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;RSUs outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,404&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,669&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Shares reserved for future stock options and RSUs grant&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,769&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:#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;Shares reserved for future ESPP offering&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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,952&lt;/span&gt;&lt;/p&gt;&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;5,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: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 shares of common stock reserved&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;130,999&lt;/span&gt;&lt;/p&gt;&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;123,820&lt;/span&gt;&lt;/p&gt;&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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:8pt;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;min-width:fit-content;"&gt;At-the-Market Program&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;On February 27, 2023, the Company entered into an Amended and Restated Equity Distribution Agreement (the &#x201c;at-the-market agreement&#x201d;) with Goldman Sachs &amp;amp; Co., LLC and BofA Securities, Inc. (each a &#x201c;Sales Agent&#x201d;), which amended and restated its Equity Distribution Agreement with Goldman Sachs &amp;amp; Co., LLC, dated August 8, 2022, to add BofA Securities, Inc. as an additional Sales Agent under that agreement. Under the at-the-market agreement, the Company may issue and sell, from time to time and through the Sales Agents, shares of its common stock having an aggregate offering price 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;200.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 &#x201c;ATM Program&#x201d;).&lt;/span&gt;&lt;/p&gt;&lt;p style="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 year ended 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 sold &lt;/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,472,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 under the ATM Program, for proceeds 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;48.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 commissions to Sales Agents, at a weighted-average offering prices per share 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;19.63&lt;/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;p style="font-size:10pt;margin-top:8pt;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;min-width:fit-content;"&gt;Stock 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;font-style:italic;min-width:fit-content;"&gt;Stock Option and RSU 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;Under the Company&#x2019;s Amended and Restated 2005 Stock Plan (&#x201c;2005 Stock Plan&#x201d;), the Company may issue shares of Common Stock and options to purchase Common Stock and other forms of equity incentives to employees, directors and consultants. Options granted under the 2005 Stock Plan may be incentive stock options or nonqualified stock options. Incentive stock options may be granted only to employees and officers of the Company. Nonqualified stock options and stock purchase rights may be granted to employees, directors and consultants. The board of directors has the authority to determine to whom options will be granted, the number of options, the term and the exercise price. Options are to be granted at an exercise price not less than fair market value for an incentive stock option or a nonqualified stock option. Options generally vest over &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;four 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;. Options expire no more than &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;10&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 after the date of grant. Upon the effective date of the registration statement related to the Company&#x2019;s initial public offering, the 2005 Plan was amended to cease the grant of any additional awards thereunder, although the Company will continue to issue common stock upon the exercise of previously granted stock options under the 2005 Plan.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 September 2014, the Company adopted a 2014 Equity Incentive Plan (the &#x201c;2014 Plan&#x201d;) which became effective on November 13, 2014. The 2014 Plan is the successor equity compensation plan to the 2005 Plan. The 2014 Plan will terminate 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 12, 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 2014 Plan provides for the grant of incentive stock options, nonqualified stock options, restricted stock awards, stock appreciation rights, performance stock awards, performance cash awards, restricted stock units and other stock awards to employees, directors and consultants. Stock options granted must be at prices not less 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;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 fair market value at date of grant. &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;Option vesting schedules are determined by the Company at the time of issuance and generally have a four year vesting schedule (&lt;/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;% vesting on the first anniversary of the vesting base date and quarterly thereafter over the next 3 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; Options generally 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;ten 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; from the date of grant unless the optionee is a 10% stockholder, in which case the term will be &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; from the date of grant. Unvested options exercised are subject to the Company&#x2019;s repurchase right. &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;Shares reserved for issuance increases on January 1 of each year commencing on January 1, 2016 and ending on January 1, 2024 by the lesser of (i) the amount 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;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;% of the number of shares issued and outstanding on December 31 immediately prior to the date of increase or (ii) such lower number of shares as may be determined by the board of directors. 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;, the Company has reserved &lt;/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,768,935&lt;/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 that remains unissued for issuance under the 2014 Plan.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Issuance of shares upon share option exercise or share unit conversion is made through issuance of new shares authorized under the plan.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 Common Stock option holders have the right to exercise unvested options, subject to a right held by the Company to repurchase the stock, at the original exercise price, in the event of voluntary or involuntary termination of employment of the stockholder. The shares are generally released from repurchase provisions ratably over four years. The Company accounts for the cash received in consideration for the early exercised options as a liability. At 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;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; shares of Common Stock were subject to repurchase by the Company.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 Fe&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;bruary 2023, the Company granted &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;159,150&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; total shares of PRSUs to certain executives for the performance period beginning January 1, 2023 and ending December 31, 2026. &lt;/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 Fe&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;bruary 2022, the Company granted &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;280,450&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; total shares of PRSUs to certain executives for the performance period beginning January 1, 2022 and ending December 31, 2025. &lt;/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 ultimate number of shares eligible to vest for PRSUs range from &lt;/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;% 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;200&lt;/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 target number of shares depending on achievement relative to the predefined clinical performance metrics and continued employment with the Company. During 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&lt;/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;68,541&lt;/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 PRSUs have vested and been released.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 Fe&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;bruary 2023, the Company granted &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;159,150&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; total shares of TSR awards to certain executives for the performance period beginning January 1, 2023 and ending December 31, 2026. &lt;/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 Fe&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;bruary 2022, the Company granted &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;280,450&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; total shares of TSR awards to certain executives for the performance period beginning January 1, 2022 and ending December 31, 2025. &lt;/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 ultimate number of shares eligible to vest for the TSR awards range from &lt;/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;% 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;200&lt;/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 target number of shares depending on the TSR of FibroGen&#x2019;s common stock as compared to companies in the NBI index, and continued employment with the Company. During 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&lt;/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;110,370&lt;/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 TSR awards have vested and been released.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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;Stock option transactions, including forfeited options granted under the 2014 Plan as well as prior plans, are summarized below:&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:10pt;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:44.009%;"&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.062%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.38%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.502%;"&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.062%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.38%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.602%;"&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;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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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 Price per &lt;br/&gt;Share&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 Contractual &lt;br/&gt;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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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 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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Outstanding 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,088&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:left;"&gt;&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:left;"&gt;&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:left;"&gt;&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:left;"&gt;&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:#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;Granted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,738&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.27&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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: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 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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;122&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.42&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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: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 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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,725&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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: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 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: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 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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,875&lt;/span&gt;&lt;/p&gt;&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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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: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 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:10pt;white-space:pre-wrap;vertical-align:bottom;"&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;Outstanding 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="min-width:fit-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;11,104&lt;/span&gt;&lt;/p&gt;&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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.21&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.26&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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Vested and expected to vest, 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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.21&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.11&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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Exercisable 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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.66&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.04&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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;/table&gt;&lt;/div&gt;&lt;p style="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 estimated weighted-average fair value of the stock options granted during 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;7.27&lt;/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.72&lt;/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;35.58&lt;/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 intrinsic value of options exercised 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&lt;/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.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, $&lt;/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 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.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, respectively.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 summarizes the activities of RSUs, PRSUs and TSR awards:&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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:58.928%;"&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.017%;"&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:19.796000000000003%;"&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;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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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 Fair Value at Grant&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;Unvested at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,669&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.80&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Granted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,612&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.61&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,002&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;14.70&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Forfeited&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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,875&lt;/span&gt;&lt;/p&gt;&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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;/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: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="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;4,404&lt;/span&gt;&lt;/p&gt;&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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="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="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The numbers of PRSUs and TSR awards granted included in the table above reflect the shares that could be eligible to vest at &lt;/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 target number of shares.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Among the vested RSUs during the year ended 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:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,648,201&lt;/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 released and issued, while the remaining was withheld for the related payroll taxes. The estimated weighted-average fair value of the 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&lt;/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;11.61&lt;/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.68&lt;/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;30.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;, respectively.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;ESPP&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;In September 2014, the Company adopted a 2014 ESPP that became effective on November 13, 2014. The 2014 ESPP is designed to enable eligible employees to periodically purchase shares of the Company&#x2019;s common stock at a discount through payroll deductions 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;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;% of their eligible compensation, subject to any plan or IRS limitations. At the end of each offering period, employees are able to purchase shares at &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;85&lt;/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 lower of the fair market value of the Company&#x2019;s common stock on the first trading day of the offering period or on the last day of the offering period. Purchases are accomplished through participation in discrete offering periods. The 2014 ESPP is intended to qualify as an ESPP under Section 423 of the Internal Revenue Code. &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 Company has reserved &lt;/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,600,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; shares of its common stock for issuance under the 2014 ESPP and shares reserved for issuance increases January 1 of each year, which commenced on January 1, 2016, by the lesser of (i) a number of shares 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;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;% of the total number of outstanding shares of common stock on December 31 immediately prior to the date of increase; (ii) &lt;/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,200,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; shares or (iii) such number of shares as may be determined by the board of directors.&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; There 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;361,911&lt;/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;327,298&lt;/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;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;213,505&lt;/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 purchased by employees under the 2014 Purchased 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, respectively.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;Stock-based compensation expense was recorded directly to research and development and selling, general and administrative expense 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 (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:10pt;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:43.78%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.84%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.9%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.84%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.9%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.84%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.9%;"&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;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;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,861&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Selling, general and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;25,305&lt;/span&gt;&lt;/p&gt;&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;30,740&lt;/span&gt;&lt;/p&gt;&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: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: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;30,614&lt;/span&gt;&lt;/p&gt;&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 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;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,767&lt;/span&gt;&lt;/p&gt;&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;65,601&lt;/span&gt;&lt;/p&gt;&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: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: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,161&lt;/span&gt;&lt;/p&gt;&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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company estimates the fair value of stock options using the Black-Scholes option valuation model. The fair value of employee stock options and RSUs is being amortized on a straight-line basis over the requisite service period of the awards. Compensation cost for PRSUs is expensed over the respective vesting periods when the achievement of performance criteria is probable. The Company estimates the fair value of the TSR awards using the Monte Carlo valuation model to simulate the probabilities of achievement. Compensation cost for the TSR awards is recognized over the requisite service period, regardless of when, if ever, the market condition is satisfied. The fair market value of common stock is based on the closing price of the Company&#x2019;s common stock as reported on the Nasdaq Global Select Market on the date of the grant.&lt;/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: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 employee stock-based compensation is estimated using the following assumptions:&lt;/span&gt;&lt;/p&gt;&lt;div style="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.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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; Expressed as a weighted-average, the expected life of the options is based on the average period the stock options are expected to be outstanding and was based on the Company&#x2019;s historical information of the option exercise patterns and post-vesting termination behavior as well as contractual terms of the instruments. The expected term of 2014 ESPP shares is the average of the remaining purchase periods under each offering period. The expected term of TSR awards is determined based on the grant date to the end of the performance period.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="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.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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; The Company considers its historical volatility data for volatility considerations for all of its stock-based compensation types except for its TSR awards, which is based on a blend of the Company&#x2019;s and comparable public entities&#x2019; historical volatility.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="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.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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; Expressed as a weighted-average, the risk-free interest rate assumption is based on the U.S. Treasury instruments whose term was consistent with the expected term of the Company&#x2019;s respective stock-based compensation types.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="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.537%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;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; The Company has never declared or paid any cash dividends and does not plan to pay cash dividends in the foreseeable future.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 assumptions used to estimate the fair value of stock options granted and ESPPs using the Black-Scholes option valuation model were 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:10pt;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:41.248%;"&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:13.923%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.32%;"&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:13.923%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.32%;"&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:13.923%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.601%;"&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="12" 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;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 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;/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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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;"&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;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 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;td 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;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;"&gt;Stock Options&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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:left;"&gt;&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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:left;"&gt;&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space: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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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;6.1&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.7&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.7&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space: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;Expected volatility&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;92.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="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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;66.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="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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;/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;Risk-free interest rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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="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;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;/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;Weighted average estimated fair value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.67&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.21&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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 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 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 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 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 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;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;"&gt;ESPPs&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 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 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 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 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 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;/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;min-width:fit-content;"&gt;Expected term (in years)&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 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&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.0&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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 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&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.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;2.0&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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 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&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.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;2.0&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space: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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;271.2&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="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: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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;58.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;97.6&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="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: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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;47.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;104.4&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="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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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 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="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;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.2&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="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: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 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="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;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.5&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="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: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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="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="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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="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;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;/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;Weighted average estimated fair value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span 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;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 assumptions used to estimate the fair value of the TSR awards using the Monte Carlo valuation model were 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:10pt;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.96%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.9%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:21.34%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.62%;"&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:21.34%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.84%;"&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="7" 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;Year 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 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;/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 style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;"&gt;TSR awards&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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:left;"&gt;&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space: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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.9&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.9&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space: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;Expected volatility&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;73.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:10pt;margin-top:0;font-family: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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;/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;Risk-free interest rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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 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="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;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:10pt;margin-top:0;font-family: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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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="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;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;/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;Weighted average estimated fair value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28.90&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.01&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span 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: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;, 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;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 of total unrecognized compensation costs, net of estimated forfeitures, related to non-vested stock option awards granted that will be recognized on a straight-line basis over the weighted-average 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.81&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. 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;, 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;35.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 total unrecognized compensation costs, net of estimated forfeitures, related to non-vested RSUs, PRSUs and TSR awards granted that will be recognized on a straight-line basis over the weighted-average 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.09&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.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Subsidiary Stock and Non-Controlling Interests&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;font-style:italic;min-width:fit-content;"&gt;FibroGen Europe&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;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;, respectively, FibroGen Europe had a total 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;42,619,022&lt;/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 Preferred Stock outstanding, of which there 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,700,845&lt;/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 Series A Preferred Stock, &lt;/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,875,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; shares of Series B Preferred Stock, &lt;/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,599,503&lt;/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 Series C Preferred Stock, &lt;/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,520,141&lt;/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 Series D Preferred Stock, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;459,565&lt;/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 Series E Preferred Stock, &lt;/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,714,332&lt;/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 Series F Preferred Stock, &lt;/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,927,500&lt;/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 Series G Preferred Stock 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;19,822,136&lt;/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 Series H Preferred Stock, all of which shares no longer have any right to be exchanged for FibroGen, Inc. Common Stock. The holders of FibroGen Europe&#x2019;s shares of Preferred Stock (&#x201c;Preferred Shares&#x201d;) have the following rights, preferences and privileges:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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;Dividend Rights &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014; When the assets of FibroGen Europe are distributed (except for distribution in a liquidation), Preferred Shares shall have the same rights to dividend or other forms of distribution as shares of Common Stock of FibroGen Europe. In the event of a merger, holders of Preferred Shares do not have the right to demand FibroGen Europe to redeem all or part of their Preferred Shares. FibroGen Europe may repurchase shares of Common Stock or Preferred Shares for consideration.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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;Pre-emptive Right &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014; Preferred Shares shall have pre-emptive subscription right in accordance with the Finnish Limited Liability Companies Act if additional shares are issued, option rights are given, or convertible loan is taken, &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;provided&lt;/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;font-style:italic;min-width:fit-content;"&gt;however&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, that the foregoing pre-emptive right does not apply to a directed share issue, for which two thirds (2/3) of the voting shares represented at a general meeting of shareholders approve for an important legitimate cause.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;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;font-style:italic;min-width:fit-content;"&gt;Redemption Right &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014; If a Preferred Share can be redeemed by a majority shareholder owning more than ninety percent (&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;90&lt;/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 shares of FibroGen Europe in accordance with the provisions of the Finnish Limited Liability Companies Act, the minority holders of Preferred Shares have the right to request redemption of their shares.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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;Voting Right &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014; Each share has &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;one vote&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;. Preferred Shares have voting rights only in situations that are specifically provided in the Articles of Association, which include a merger transaction and directed share issue. In addition, Preferred Shares have right to vote in a general shareholder meeting for amending the Articles of Association if the amendment will affect the rights of Preferred Shares.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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;Conversion Right&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt; (1-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;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; basis into Common Stock of FibroGen Europe):&lt;/span&gt;&lt;/p&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;&#x2022;&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;Voluntary conversion right: Preferred Shares can be converted into common shares upon the written request of a shareholder provided that the conversion is feasible within the maximum and minimum amounts of shares of classes of FibroGen Europe as set forth in its Articles of Association. Such request can be withdrawn before the notification of conversion is filed with the Finnish Trade Register.&lt;/span&gt;&lt;/div&gt;&lt;/div&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;&#x2022;&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;Compulsory conversion right: Preferred Shares will be converted into common shares if (i) FibroGen Europe&#x2019;s shares are listed in a stock exchange or other trading system in the European Economic Area, or (ii) FibroGen Europe&#x2019;s recombinant collagen and gelatin production technology is being put into commercial use in the area of Europe and certain other European states. Commercial use means there is income generated from the first commercial sale of the products incorporating the above-mentioned technology and does not include license fees, development financing, milestone payments or income from test products or equipment used in research. The board of directors of FibroGen Europe shall notify the shareholders of the compulsory conversion in writing, and the shareholders shall request to convert their shares within the timeframe provided in the notification. Should the shareholders fail to make the conversion request within the time limit, FibroGen Europe may redeem the shares of such shareholders.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-left:4.533%;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;Liquidation Right &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014; In the event of a dissolution of FibroGen Europe, holders of Preferred Shares are entitled to be paid in an amount equal to the subscription price of the shares before any distribution is made to holders of common shares. Among holders of Preferred Shares, holders of shares of Series F Preferred Stock are entitled to be paid in an amount equal to the subscription price of Series F Preferred Stock before any distribution is made to holders of other Preferred Shares.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Upon the initial public offering and as described above, all eligible FibroGen Europe preferred shares were exchanged 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;958,996&lt;/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 FibroGen Common Stock. No other FibroGen Europe shares have the right to be exchanged for FibroGen, Inc. Common Stock.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;FibroGen Cayman&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;FibroGen Cayman had &lt;/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,758,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; Series A Preference Shares outstanding 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, respectively. The holders of the FibroGen Cayman Series A Preference Shares have the following rights, preferences and privileges:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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;Liquidation &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014; In the event of liquidation, dissolution, or winding up of the Company, either voluntary or involuntary, including by means of a merger, the holders of FibroGen Cayman Series A Preference Shares are entitled to be paid an amount equal to the product of the number of shares held by a holder of shares of FibroGen Cayman Series A Preference Shares and the original issue 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;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; (subject to equitable adjustment for any stock dividend, combination, split, reclassification, recapitalization) plus all declared and unpaid dividends thereon.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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;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;&#x2014; Each share of FibroGen Cayman Series A Preference Shares is convertible into the number of fully paid and non-assessable shares of Common Stock of FibroGen Cayman that results from dividing the original issue price by the conversion price in effect at the time of the conversion, subject to adjustments for stock splits, stock dividends, reclassifications and like events. The FibroGen Cayman Series A Preference Shares have a conversion price that is equal to the original issuance price such that the conversion ratio to FibroGen Cayman Common Stock is 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;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; as of all periods presented.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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;Voting &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014; The holders of FibroGen Cayman Series A Preference Shares are entitled to vote together with the FibroGen Cayman Common Stockholders on all matters submitted for a vote of the stockholders. The holder of each share of FibroGen Cayman Series A Preference Shares has the number of votes equal to the number of shares of FibroGen Cayman Common Stock into which it is convertible.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;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;Dividends &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014; The holders of FibroGen Cayman Series A Preference Shares are entitled to receive cash dividends when and if declared, 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;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;/p&gt;&lt;p style="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 January 2013, FibroGen Cayman entered into 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;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 convertible promissory note. The note bears simple interest at a rate of two percent (&lt;/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.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 annum, accrued on an annual basis in arrears. The outstanding principal balance and unpaid accrued interest on the note is due and payable upon the earlier of (a) the effectiveness of the initial public offering of FibroGen Cayman or (b) the eight year anniversary of the date of the note. During the year ended December 31, 2021, at the option of the lender, 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;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 total outstanding principal balance and unpaid accrued interest on the note were converted into Series A Preferred Stock of FibroGen Cayman, and was recorded as an addition to the non-controlling interest of 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;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;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;Non-Controlling Interests&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;Non-controlling interest positions related to the issuance of subsidiary stock as described above are reported as a separate component of consolidated equity from the equity attributable to the Company&#x2019;s stockholders at 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;. In addition, the Company does &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_8260618e-7cd2-4e43-8e51-091a7824a311;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;not&lt;/span&gt;&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; allocate losses to the non-controlling interests as the outstanding shares representing the non-controlling interest do not represent a residual equity interest in the subsidiary.&lt;/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: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 nonredeemable NCI and redeemable NCI resulting from the acquisition of Fortis during the year ended December 31, 2023, see Note 4, &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;Exclusive License and Option to Acquire Fortis Therapeutics&lt;/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 details.&lt;/span&gt;&lt;/p&gt;</us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock>
    <us-gaap:CommonStockVotingRights
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_385e5858-86ec-476b-98ba-c5d861aee3ae">one vote</us-gaap:CommonStockVotingRights>
    <fgen:ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_4fd6b1f2-94a2-4a50-91d7-9b3d912a2d4e">&lt;p style="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;Shares of Common Stock outstanding, shares of stock plans outstanding and shares reserved for future issuance related to stock options and RSU grants and the Company&#x2019;s Employee Stock Purchase Plan (&#x201c;ESPP&#x201d;) purchases are as follows (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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:67.007%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.601%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.885%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.621%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.885%;"&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: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;Common stock outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;98,770&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:#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;Stock options outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,104&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,088&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;RSUs outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,404&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,669&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Shares reserved for future stock options and RSUs grant&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,769&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:#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;Shares reserved for future ESPP offering&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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,952&lt;/span&gt;&lt;/p&gt;&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;5,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: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 shares of common stock reserved&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;130,999&lt;/span&gt;&lt;/p&gt;&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;123,820&lt;/span&gt;&lt;/p&gt;&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;</fgen:ScheduleOfSharesOfCommonStockReservedForFutureIssuanceTableTextBlock>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_ad379d2d-eb8b-4e36-85ca-9e6587645b01"
      unitRef="U_shares">98770000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_571ce7ee-d355-4527-aae7-cf524c4e8722"
      unitRef="U_shares">94166000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_1b9e5266-b9a8-4b8a-8d0e-ef6fb7fea4c3"
      unitRef="U_shares">11104000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_6d47872f-2268-4c5a-a640-285d0ba06ac2"
      unitRef="U_shares">9088000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_ccea5c71-d3c3-4fae-9817-5f3e0a940d19"
      unitRef="U_shares">4404000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_4432b1c9-d9cf-4266-a770-93e9d33863be"
      unitRef="U_shares">3669000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_69e5fb40-9318-487c-a937-72c4d25096e9"
      unitRef="U_shares">10769000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_b469a105-d048-45d5-ba1a-d52dd6a98b1f"
      unitRef="U_shares">11524000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_c867876f-e980-4297-9c42-81c5643cd3fd"
      decimals="-3"
      id="F_128e72a0-07da-45ee-8275-bed0d2d5a016"
      unitRef="U_shares">5952000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_28284bee-e4c4-42f3-88d8-aa1be328eb8e"
      decimals="-3"
      id="F_cc16557d-bd03-40b0-9440-1ab67372cc94"
      unitRef="U_shares">5373000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <fgen:CommonStockSharesReserved
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_818a2d7f-5eed-4136-b7c3-b1bf3d78a4a7"
      unitRef="U_shares">130999000</fgen:CommonStockSharesReserved>
    <fgen:CommonStockSharesReserved
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_dfeda89f-fbc7-43b2-9dd9-4cc370c2c976"
      unitRef="U_shares">123820000</fgen:CommonStockSharesReserved>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="C_b20a7854-a42e-44ba-9c35-0a281cc96828"
      decimals="-2"
      id="F_e921f327-d063-4150-9571-3c92673cb614"
      unitRef="U_USD">200000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="C_3bb807ba-04ad-4d46-becb-e63d43a94e08"
      decimals="INF"
      id="F_9f0b97bd-800b-476a-bddb-ebbb0b1ce72a"
      unitRef="U_shares">2472090000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="C_3bb807ba-04ad-4d46-becb-e63d43a94e08"
      decimals="-5"
      id="F_fb9a9d52-9215-4914-90e9-d3558e06b2f1"
      unitRef="U_USD">48400000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <fgen:WeightedAverageOfferingPricesPerShare
      contextRef="C_3bb807ba-04ad-4d46-becb-e63d43a94e08"
      decimals="2"
      id="F_18acae3f-b79d-4582-bf55-8ecb717da73a"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">19.63</fgen:WeightedAverageOfferingPricesPerShare>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="C_d3b0e95a-6238-461b-991b-812b32ec223f"
      id="F_a0b56729-e043-47f7-83aa-68d94ff214ae">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="C_80e9ec01-68cc-4d71-8bd0-61807175b193"
      id="F_a5f22ee9-e121-4c45-8a9d-ba86eb67a5ff">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate
      contextRef="C_b490ff96-2542-4344-899b-17c8286897f4"
      id="F_85ab7fbb-f027-4a73-af01-a67500c17097">2024-11-12</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent
      contextRef="C_53bc918c-4181-4772-9d28-479d0f2e1e08"
      decimals="INF"
      id="F_6c034e4c-bac9-4876-8b0f-0d7a6d9ef15a"
      unitRef="U_pure">1</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights
      contextRef="C_b490ff96-2542-4344-899b-17c8286897f4"
      id="F_f18e6a62-9b06-42d3-b59e-24efc2659713">Option vesting schedules are determined by the Company at the time of issuance and generally have a four year vesting schedule (25% vesting on the first anniversary of the vesting base date and quarterly thereafter over the next 3 years).</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="C_b02eeac9-405e-4cbb-8fa1-5618869e0285"
      decimals="2"
      id="F_ef46aed8-e2b0-44ff-ab3a-e832fa6f57bc"
      unitRef="U_pure">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="C_b490ff96-2542-4344-899b-17c8286897f4"
      id="F_7f1ea902-9643-4cd9-9b54-296fddb1b07d">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="C_b490ff96-2542-4344-899b-17c8286897f4"
      id="F_65924d5a-35e2-4c29-acf9-1157c1a15c23">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription
      contextRef="C_b490ff96-2542-4344-899b-17c8286897f4"
      id="F_f90697f9-404b-42b9-b46e-ce7552c85124">Shares reserved for issuance increases on January 1 of each year commencing on January 1, 2016 and ending on January 1, 2024 by the lesser of (i) the amount equal to 4% of the number of shares issued and outstanding on December 31 immediately prior to the date of increase or (ii) such lower number of shares as may be determined by the board of directors. As of December 31, 2023, the Company has reserved 10,768,935 shares of its common stock that remains unissued for issuance under the 2014 Plan.</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum
      contextRef="C_fa364b09-74f7-4cb9-9b08-b298ee139f14"
      decimals="INF"
      id="F_60995ea8-49b4-4b00-a898-2822eabee67e"
      unitRef="U_pure">0.04</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_951e0203-c48a-4d08-955f-b254e9a55270"
      decimals="INF"
      id="F_32e72923-ab51-493f-aeb6-2971e4b5dce6"
      unitRef="U_shares">10768935</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="C_1328efd7-31fc-4729-9933-b94c0dad16c8"
      decimals="INF"
      id="F_81d195ba-cf72-4723-bc36-c5033d658feb"
      unitRef="U_shares">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="C_b490ff96-2542-4344-899b-17c8286897f4"
      decimals="INF"
      id="F_27704668-fd03-4fdf-ad1a-47a43f8803f8"
      unitRef="U_shares">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="C_b458ae5e-4dd0-40db-a156-3511b30b31df"
      decimals="0"
      id="F_1c60ace6-7843-44cd-badd-625f8fbc8850"
      unitRef="U_shares">159150</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="C_3b37eeed-a9e7-4dab-92c2-9e49eacbd228"
      decimals="0"
      id="F_50948b84-fee4-4b56-88e2-a4cca3e00787"
      unitRef="U_shares">280450</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="C_49146cde-48bb-43d6-9da6-b54f2856ecc8"
      decimals="INF"
      id="F_997b9e87-8c87-4c6f-94e9-bf10c236e6e9"
      unitRef="U_pure">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="C_009e6fff-97b4-4b93-aa48-ba8b29bbf832"
      decimals="INF"
      id="F_6789a696-0007-4649-8960-cc9f6918484d"
      unitRef="U_pure">2</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="C_3af042cd-501f-4d16-ab33-f5cc1769db27"
      decimals="INF"
      id="F_ee2e0179-3a3c-4954-baeb-bd1d43f93126"
      unitRef="U_shares">68541</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="C_230eef7e-0721-4d7a-9dba-1e0bcfce9bbd"
      decimals="0"
      id="F_004f1768-f1fd-4a94-a554-9c651660a005"
      unitRef="U_shares">159150</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="C_2c0f98cd-577c-4626-bc31-c1d608665324"
      decimals="0"
      id="F_6ee06dec-417c-4723-8ea6-6134e6f82ea4"
      unitRef="U_shares">280450</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="C_43212964-e3d4-447a-be42-9ee2d89d9290"
      decimals="INF"
      id="F_12c9f3b0-5260-4166-bc08-b1cce730a6bb"
      unitRef="U_pure">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="C_e82769fa-c6cc-4d5b-a6e6-4a445f9fbf48"
      decimals="INF"
      id="F_8f1ad75c-6874-4180-b3f4-9325612b9e58"
      unitRef="U_pure">2</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f"
      decimals="INF"
      id="F_3572b86c-6842-4703-85e5-cec750334ade"
      unitRef="U_shares">110370</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_12f76ca4-323a-47fa-be47-e6f65487e3a4">&lt;p style="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;Stock option transactions, including forfeited options granted under the 2014 Plan as well as prior plans, are summarized below:&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:10pt;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:44.009%;"&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.062%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.38%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.502%;"&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.062%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.38%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.602%;"&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;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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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 Price per &lt;br/&gt;Share&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 Contractual &lt;br/&gt;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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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 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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Outstanding 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,088&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:left;"&gt;&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:left;"&gt;&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:left;"&gt;&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:left;"&gt;&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:#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;Granted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,738&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.27&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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: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 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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;122&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.42&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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: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 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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,725&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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: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 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: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 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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Expired&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,875&lt;/span&gt;&lt;/p&gt;&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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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: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 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:10pt;white-space:pre-wrap;vertical-align:bottom;"&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;Outstanding 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="min-width:fit-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;11,104&lt;/span&gt;&lt;/p&gt;&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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.21&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.26&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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Vested and expected to vest, 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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.21&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.11&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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Exercisable 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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.66&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.04&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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_52295601-9300-4791-93e0-17890ef1bb7a"
      unitRef="U_shares">9088000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="2"
      id="F_eaa631c7-c24d-43d6-a2c4-4a7863ead4ed"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">29.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_0942e5d5-4f62-43e5-ae0e-3ea5e00355bf"
      unitRef="U_shares">5738000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="2"
      id="F_5d62333e-97ed-4289-9dde-04fd837c8d06"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">7.27</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <fgen:StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_38e02d6b-2ecd-488c-b07e-a479eb80dac3"
      unitRef="U_shares">122000</fgen:StockIssuedDuringPeriodSharesStockOptionsExercisedFullYear>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="2"
      id="F_5f3e92ac-4dc9-43c7-abdb-ff10f795aa49"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">12.42</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_b8eb1251-1e98-4914-821b-c28c3d0cf2cf"
      unitRef="U_shares">1725000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="2"
      id="F_f2ca7160-7500-4085-89ae-0bba5c328fb3"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">22.49</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_e3863e51-d2f9-4c4f-a690-b1d5430d963e"
      unitRef="U_shares">1875000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="2"
      id="F_7d7450f1-9fd8-4785-b1c1-7a91050c94f4"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">34.38</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_f781fe40-498f-42bc-8ebf-c7b9bd56ca30"
      unitRef="U_shares">11104000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="2"
      id="F_46b34018-15d1-4cc0-8754-22f1846ef05e"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">18.21</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_e7c33510-f558-459f-92d2-533d79154289">P7Y3M3D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_09bdc99b-8731-48b1-9cea-c213cee8ad55"
      unitRef="U_USD">83000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_c60edd85-60cb-49f1-961d-7e3b35b6dfb8"
      unitRef="U_shares">10224000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="2"
      id="F_491de45f-bf6f-4833-8631-636d8aaf307b"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">19.21</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_c6ea3264-7237-41b6-afc0-1eb39e22d682">P7Y1M9D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_693cd642-4c1d-4758-9d89-b33e9b2b3054"
      unitRef="U_USD">68000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_56dc0a34-0d81-433d-a9dd-c6b866aac279"
      unitRef="U_shares">4688000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="2"
      id="F_c5df0762-aab8-4600-80dc-3a184d118d59"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">30.66</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_f6412345-7118-4abb-8e38-f87136f2bf0c">P5Y14D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_fa05c13b-eb06-4718-bed4-09aadc8dadc5"
      unitRef="U_USD">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="2"
      id="F_01e77281-c8d2-4eec-95ce-ae82d21abec7"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">7.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="2"
      id="F_fd1ba52c-1920-4c15-8dd0-f6f34ddae30d"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">14.72</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="2"
      id="F_7d0c7f43-9b8e-4209-90e0-401ccdaa62f6"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">35.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="C_951e0203-c48a-4d08-955f-b254e9a55270"
      decimals="-5"
      id="F_9b8654fb-44ab-4b77-87c1-d642d49ade02"
      unitRef="U_USD">900000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="C_68ca4370-c0da-4899-81b5-ecfd60e71dc6"
      decimals="-5"
      id="F_bdeade57-18e7-4a58-a29b-04f33b6e498c"
      unitRef="U_USD">800000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="C_b33c70ef-163d-44f3-a4d5-4beab3fab652"
      decimals="-5"
      id="F_bacf3622-8966-499b-a444-75b6457315d7"
      unitRef="U_USD">13100000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <fgen:ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_bcbf2233-aef8-4f84-a5be-dfdc0762c688">&lt;p style="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 summarizes the activities of RSUs, PRSUs and TSR awards:&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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:58.928%;"&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.017%;"&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:19.796000000000003%;"&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;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;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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 Fair Value at Grant&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;Unvested at December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,669&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.80&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Granted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,612&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.61&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,002&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;14.70&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Forfeited&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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,875&lt;/span&gt;&lt;/p&gt;&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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;/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: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="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;4,404&lt;/span&gt;&lt;/p&gt;&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</fgen:ScheduleOfSharebasedCompensationRestrictedStockUnitsPerfomanceBasedRestrictedStockAndTotalShareholdersReturnAwardActivityTabletextblock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="C_00ff4cc6-603c-4028-b586-66f9708a9dab"
      decimals="-3"
      id="F_6bf81c08-b4a8-438a-bb55-9579a73f90ac"
      unitRef="U_shares">3669000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="C_00ff4cc6-603c-4028-b586-66f9708a9dab"
      decimals="2"
      id="F_dc2bf3f1-b73f-4d1d-9424-9addc9cbcbe1"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">18.80</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="C_b35f67ea-70ba-4200-a0f3-3b3fff354071"
      decimals="-3"
      id="F_4f84a1a9-85db-44f9-9120-86fe7613353e"
      unitRef="U_shares">4612000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_b35f67ea-70ba-4200-a0f3-3b3fff354071"
      decimals="2"
      id="F_b76567a7-7f91-4f3e-b2bd-9bf7a730bf1a"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">11.61</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="C_b35f67ea-70ba-4200-a0f3-3b3fff354071"
      decimals="-3"
      id="F_3f2da28c-ee5e-43c0-9e21-8bc0e57d2a80"
      unitRef="U_shares">2002000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_b35f67ea-70ba-4200-a0f3-3b3fff354071"
      decimals="2"
      id="F_6be1a53a-a894-4c51-94a1-3da80287fe09"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">14.7</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="C_b35f67ea-70ba-4200-a0f3-3b3fff354071"
      decimals="-3"
      id="F_91a302b4-c42f-421b-bfd7-cf69ea46d750"
      unitRef="U_shares">1875000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="C_b35f67ea-70ba-4200-a0f3-3b3fff354071"
      decimals="2"
      id="F_fb61b500-df3b-4838-9d8e-0f1b395295c5"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">20.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="C_5c3d02e2-fe4d-43ac-8f9d-1eb5284d29a6"
      decimals="-3"
      id="F_c1e21afb-1714-4146-a54e-1332d40af6f3"
      unitRef="U_shares">4404000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="C_5c3d02e2-fe4d-43ac-8f9d-1eb5284d29a6"
      decimals="2"
      id="F_161fde81-9776-4562-a9f6-28edec19ec0e"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">12.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="C_b8f4b6e4-aee2-4158-8eb3-5a763ab922f0"
      decimals="2"
      id="F_711a3435-d351-403e-b531-f7e82ea94225"
      unitRef="U_pure">1</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="INF"
      id="F_c8bd64e4-38da-439a-820c-2eae6ac8058b"
      unitRef="U_shares">1648201</us-gaap:RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="2"
      id="F_2c39b98e-dae8-4a04-b03f-fa222e9f0f95"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">11.61</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="2"
      id="F_1ee781c6-dc0b-4d98-ae16-92705801b754"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">14.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="2"
      id="F_23bc49a9-5dfa-460d-9663-6711bee35c5b"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">30.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate
      contextRef="C_8161ddbe-54e2-4bb7-99f5-03366cbf8d26"
      decimals="2"
      id="F_7a60ee0e-ee15-46c5-926b-84116c87484c"
      unitRef="U_pure">0.15</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent
      contextRef="C_8161ddbe-54e2-4bb7-99f5-03366cbf8d26"
      decimals="2"
      id="F_ac3a750f-0d7a-4405-b6f0-f2aee3102b66"
      unitRef="U_pure">0.85</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription
      contextRef="C_86aeaf95-72b1-4870-a0db-88d72f44070b"
      id="F_691f166b-564f-4b79-afcb-9cc970ddfd4e">The Company has reserved 1,600,000 shares of its common stock for issuance under the 2014 ESPP and shares reserved for issuance increases January 1 of each year, which commenced on January 1, 2016, by the lesser of (i) a number of shares equal to 1% of the total number of outstanding shares of common stock on December 31 immediately prior to the date of increase; (ii) 1,200,000 shares or (iii) such number of shares as may be determined by the board of directors.</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriodDescription>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_c7330853-b638-42fb-97ae-193aada07397"
      decimals="INF"
      id="F_1d7602c5-2744-47cf-b3b8-65ad4f7eed7a"
      unitRef="U_shares">1600000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum
      contextRef="C_8161ddbe-54e2-4bb7-99f5-03366cbf8d26"
      decimals="INF"
      id="F_a74d5e97-7e17-439c-82d5-4dcdbae073d6"
      unitRef="U_pure">0.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease
      contextRef="C_8161ddbe-54e2-4bb7-99f5-03366cbf8d26"
      decimals="INF"
      id="F_40e0973f-58c4-45b4-8e6b-18e30d0524ff"
      unitRef="U_shares">1200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingPeriodIncreaseDecrease>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="C_86aeaf95-72b1-4870-a0db-88d72f44070b"
      decimals="INF"
      id="F_9a4d3c0a-4953-46b5-8f55-53ef8ef80098"
      unitRef="U_shares">361911</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="C_5ffb95b0-9909-4502-8d55-3a41b5c36bdf"
      decimals="INF"
      id="F_a94f566a-323e-45b1-8e83-a2302137f18d"
      unitRef="U_shares">327298</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="C_ea3f32a9-135e-4a96-aee7-ba59212b1b46"
      decimals="INF"
      id="F_bc83b2da-ae1f-40d0-a93d-ae4ff39cf924"
      unitRef="U_shares">213505</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_7efa741b-d924-46b0-a92e-a1aabb1d839a">&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;Stock-based compensation expense was recorded directly to research and development and selling, general and administrative expense 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 (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:10pt;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:43.78%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.84%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.9%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.84%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.9%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.84%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.9%;"&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;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;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,861&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Selling, general and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;25,305&lt;/span&gt;&lt;/p&gt;&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;30,740&lt;/span&gt;&lt;/p&gt;&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: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: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;30,614&lt;/span&gt;&lt;/p&gt;&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 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;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,767&lt;/span&gt;&lt;/p&gt;&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;65,601&lt;/span&gt;&lt;/p&gt;&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: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: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,161&lt;/span&gt;&lt;/p&gt;&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:AllocatedShareBasedCompensationExpense
      contextRef="C_53103ab2-3a7a-4d7d-93af-4497295b7078"
      decimals="-3"
      id="F_94ac943f-d16e-4991-a9ce-679f1661f235"
      unitRef="U_USD">25462000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_bfb54ede-9fe4-45a3-8ed9-592de03fab65"
      decimals="-3"
      id="F_3b261377-169b-4718-906d-3514090953fa"
      unitRef="U_USD">34861000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_632750a9-441c-4788-9b20-27041510e572"
      decimals="-3"
      id="F_33ddba8e-0326-449e-b24e-db09f09e45f3"
      unitRef="U_USD">40547000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_95f6cf41-e8d8-45e2-b37a-63281db2cba5"
      decimals="-3"
      id="F_1ec18a52-34ba-47cd-aa7e-65386902e210"
      unitRef="U_USD">25305000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_86497fcc-651c-446b-9de9-6bd0791a23de"
      decimals="-3"
      id="F_44692cbe-95f3-45ec-b432-0f345bc6db55"
      unitRef="U_USD">30740000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_8c26fd17-5407-4883-a9b1-f63dc695e38a"
      decimals="-3"
      id="F_5528954f-c4ab-463d-94a4-d24c375d03e1"
      unitRef="U_USD">30614000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_a83d2c49-8e7a-49d0-a81b-2e691982d404"
      unitRef="U_USD">50767000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_46a238c5-3380-4d8f-acf8-ea7afa6f5902"
      unitRef="U_USD">65601000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_1aba5434-5798-4ff4-8f0c-7fb3acb241a7"
      unitRef="U_USD">71161000</us-gaap:AllocatedShareBasedCompensationExpense>
    <fgen:ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_1faee0c0-4542-4f32-a22a-06a3492d794e">&lt;p style="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 assumptions used to estimate the fair value of stock options granted and ESPPs using the Black-Scholes option valuation model were 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:10pt;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:41.248%;"&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:13.923%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.32%;"&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:13.923%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.32%;"&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:13.923%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.601%;"&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="12" 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;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 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;/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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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;"&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;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 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;td 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;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;"&gt;Stock Options&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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:left;"&gt;&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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:left;"&gt;&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space: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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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;6.1&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.7&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.7&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space: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;Expected volatility&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;92.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="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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;66.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="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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;/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;Risk-free interest rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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="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;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;/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;Weighted average estimated fair value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.67&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.21&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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 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 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 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 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 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;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;"&gt;ESPPs&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 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 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 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 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 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;/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;min-width:fit-content;"&gt;Expected term (in years)&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 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&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.0&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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 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&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.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;2.0&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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 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&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.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;2.0&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space: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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;56.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;271.2&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="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: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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;58.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;97.6&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="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: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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;47.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;104.4&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="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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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 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="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;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.2&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="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: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 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="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;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.5&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="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: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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="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="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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="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;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;/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;Weighted average estimated fair value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span 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;</fgen:ScheduleOfShareBasedPaymentAwardStockOptionsAndEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_5557388d-a83e-4fbc-91f0-a6e63de32eb6"
      id="F_f4288703-dd98-4950-9d03-caa90b3659da">P6Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_08984c92-4fb6-4b96-87fe-b04e6fbdf4ca"
      id="F_5fc82c0d-10d8-4b0d-81f4-1d835edf9a7b">P5Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_1cd63588-2c9d-4afb-9ad3-1e4fc4fe5d43"
      id="F_fffc8bf9-4bef-445a-96ec-5a11211a2a01">P5Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="C_5557388d-a83e-4fbc-91f0-a6e63de32eb6"
      decimals="3"
      id="F_e6d84679-61df-4e9c-a9ea-3626629a771b"
      unitRef="U_pure">0.928</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="C_08984c92-4fb6-4b96-87fe-b04e6fbdf4ca"
      decimals="3"
      id="F_14cbdd4f-f94c-4c7a-96cf-d4809ef2b690"
      unitRef="U_pure">0.668</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="C_1cd63588-2c9d-4afb-9ad3-1e4fc4fe5d43"
      decimals="3"
      id="F_59e46366-19b9-4827-ad85-64af3b7aba46"
      unitRef="U_pure">0.619</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="C_5557388d-a83e-4fbc-91f0-a6e63de32eb6"
      decimals="3"
      id="F_0435f304-a020-4a32-a975-ef2383797c4f"
      unitRef="U_pure">0.03</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="C_08984c92-4fb6-4b96-87fe-b04e6fbdf4ca"
      decimals="3"
      id="F_89788c05-2026-4110-bc78-290f22ca532e"
      unitRef="U_pure">0.022</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="C_1cd63588-2c9d-4afb-9ad3-1e4fc4fe5d43"
      decimals="3"
      id="F_9ef48b85-8893-42d6-b388-c8948bdbe7e9"
      unitRef="U_pure">0.008</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="C_5557388d-a83e-4fbc-91f0-a6e63de32eb6"
      decimals="2"
      id="F_e6302181-18ef-47d4-a0f5-b456fe06f549"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="C_08984c92-4fb6-4b96-87fe-b04e6fbdf4ca"
      decimals="2"
      id="F_1259779a-49d2-4af2-8c27-b32d4a690a6d"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="C_1cd63588-2c9d-4afb-9ad3-1e4fc4fe5d43"
      decimals="2"
      id="F_c627cdd8-8f3a-45c6-b018-066b1591bea7"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_5557388d-a83e-4fbc-91f0-a6e63de32eb6"
      decimals="2"
      id="F_a6994e2f-102f-4e9a-8d97-d080c5ac18a9"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">4.67</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_08984c92-4fb6-4b96-87fe-b04e6fbdf4ca"
      decimals="2"
      id="F_848d11ae-7bff-40ad-91a9-da813e1d3a5f"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">7.88</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_1cd63588-2c9d-4afb-9ad3-1e4fc4fe5d43"
      decimals="2"
      id="F_f81318fc-7d1d-4c23-a64b-5d8040575c90"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">20.21</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_547397e7-eb1b-49a0-a571-16036d2846dc"
      id="F_85fe0f05-a46d-49ea-9369-5be0f296cc3c">P0Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_b1abd3f6-9e5f-4849-a22f-19625fdae480"
      id="F_2a63a1bb-3f7b-4c4c-9640-7c878bfddc63">P2Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_c4776c5f-9047-4c34-b331-fbe33f89b649"
      id="F_64ae28bf-121b-40ce-b242-e38e18bdd192">P0Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_10344a47-fa45-4d9c-9af7-8a5f5494c8a3"
      id="F_0d2fec6a-f909-4bee-8709-1c489f62d139">P2Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_92195a5b-b6f3-4971-89a8-3a0b2aff7918"
      id="F_6ec1a2a1-ff6c-4d9c-a410-fd834e88a519">P0Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_d9313f8c-5a9b-4f62-a1eb-a404a4d5e997"
      id="F_ae01a260-b6ec-456c-8329-5cf91210e4e1">P2Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="C_965f9dfd-db09-4014-9ff2-4b3ce1fbeca1"
      decimals="3"
      id="F_5d0054d8-24b2-4197-89b7-67074e1ee302"
      unitRef="U_pure">0.567</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="C_965f9dfd-db09-4014-9ff2-4b3ce1fbeca1"
      decimals="3"
      id="F_ce0c0a8e-7b34-469c-9c68-ce56ed048cdd"
      unitRef="U_pure">2.712</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="C_1c8e2c62-53fb-4b38-b9a7-a49e48f6693a"
      decimals="3"
      id="F_d47bc071-83a6-46a7-8c89-a9252bb2de9b"
      unitRef="U_pure">0.585</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="C_1c8e2c62-53fb-4b38-b9a7-a49e48f6693a"
      decimals="3"
      id="F_2b6d5037-01ac-4a47-8fb6-76c69a4957b1"
      unitRef="U_pure">0.976</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="C_a8e9acae-1212-4097-9c37-f844af033f0a"
      decimals="3"
      id="F_4e1803a7-32cd-4e25-8308-0affff5e1b8f"
      unitRef="U_pure">0.471</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="C_a8e9acae-1212-4097-9c37-f844af033f0a"
      decimals="3"
      id="F_5885d5cb-f0b3-4dd6-9991-e97b09e8c75e"
      unitRef="U_pure">1.044</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="C_965f9dfd-db09-4014-9ff2-4b3ce1fbeca1"
      decimals="3"
      id="F_989d97b7-a18d-4888-a86c-54baa8cdbeea"
      unitRef="U_pure">0.002</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="C_965f9dfd-db09-4014-9ff2-4b3ce1fbeca1"
      decimals="3"
      id="F_3ed995bf-3e40-4e98-97d8-beb319fbab5a"
      unitRef="U_pure">0.052</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="C_1c8e2c62-53fb-4b38-b9a7-a49e48f6693a"
      decimals="3"
      id="F_863c2323-30c3-4d98-a98c-da42e22a110a"
      unitRef="U_pure">0.001</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="C_1c8e2c62-53fb-4b38-b9a7-a49e48f6693a"
      decimals="3"
      id="F_db24c8cd-8769-47ad-9b95-edbfbeb218ce"
      unitRef="U_pure">0.045</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="C_a8e9acae-1212-4097-9c37-f844af033f0a"
      decimals="3"
      id="F_5af6a6a8-6a61-43f1-b370-f3ca68f12459"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="C_a8e9acae-1212-4097-9c37-f844af033f0a"
      decimals="3"
      id="F_672698a4-f26f-4396-8369-0237d1acdcbb"
      unitRef="U_pure">0.022</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="C_965f9dfd-db09-4014-9ff2-4b3ce1fbeca1"
      decimals="2"
      id="F_7b1905b2-6081-4985-b689-e28c39eb8668"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="C_1c8e2c62-53fb-4b38-b9a7-a49e48f6693a"
      decimals="2"
      id="F_4ba3ac17-d755-4fc2-b40a-b7ab81da8607"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="C_a8e9acae-1212-4097-9c37-f844af033f0a"
      decimals="2"
      id="F_06acaf48-17b9-4d73-9a60-242508f9dada"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_965f9dfd-db09-4014-9ff2-4b3ce1fbeca1"
      decimals="2"
      id="F_6c779862-b302-4bbb-9c73-a7db62ac180e"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">5.64</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_1c8e2c62-53fb-4b38-b9a7-a49e48f6693a"
      decimals="2"
      id="F_fac69bf1-3e6c-4210-adb9-dfb80772c86f"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">8.6</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_a8e9acae-1212-4097-9c37-f844af033f0a"
      decimals="2"
      id="F_34cef8bc-a049-4817-be86-9b6eab182f2c"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">12.4</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <fgen:ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_cf0e98c4-f890-40e6-a2c1-876ffb8a6efa">&lt;p style="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 assumptions used to estimate the fair value of the TSR awards using the Monte Carlo valuation model were 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:10pt;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.96%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.9%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:21.34%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.62%;"&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:21.34%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.84%;"&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;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="7" 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;Year 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 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;/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 style="vertical-align:bottom;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-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;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;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-style:italic;min-width:fit-content;"&gt;TSR awards&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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:left;"&gt;&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space: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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.9&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&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.9&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space: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;Expected volatility&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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 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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;73.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:10pt;margin-top:0;font-family: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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;/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;Risk-free interest rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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 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="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;min-width:fit-content;"&gt;&#160;- &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:10pt;margin-top:0;font-family: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: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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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="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;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;/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;Weighted average estimated fair value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28.90&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.01&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span 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;</fgen:ScheduleOfShareBasedPaymentsAwardTotalShareholdersReturnTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f"
      id="F_698aa578-2ac1-4ca5-99ac-29c6706faf0a">P3Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="C_61185a7e-4cc2-4fa4-9a59-c6e7007d895e"
      id="F_2ba8b422-1f4c-4c9c-96cd-e556167e1790">P3Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f"
      decimals="3"
      id="F_e91b39e5-9878-4665-be90-531ec7fe9b90"
      unitRef="U_pure">0.69</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f"
      decimals="3"
      id="F_fb25ef5a-1899-4551-beb3-518ca6932e0f"
      unitRef="U_pure">0.733</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="C_61185a7e-4cc2-4fa4-9a59-c6e7007d895e"
      decimals="3"
      id="F_41eba658-e153-4856-a968-e78c5538606c"
      unitRef="U_pure">0.69</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f"
      decimals="3"
      id="F_d0867727-f8c8-440c-8286-c9dabcac3cd2"
      unitRef="U_pure">0.018</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f"
      decimals="3"
      id="F_e20e6a0d-b64b-4dbd-9082-34666d90dcd9"
      unitRef="U_pure">0.042</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="C_61185a7e-4cc2-4fa4-9a59-c6e7007d895e"
      decimals="3"
      id="F_5f0ede77-13d6-48dd-98cd-4fa112cd5c72"
      unitRef="U_pure">0.018</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f"
      decimals="2"
      id="F_a290bac6-9a43-4f1b-8810-c632acfa0ffd"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="C_61185a7e-4cc2-4fa4-9a59-c6e7007d895e"
      decimals="2"
      id="F_41e786c9-28e6-4f6f-b94f-eeb016fbbc30"
      unitRef="U_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_b16fad5d-74e8-4ab7-8111-77fa5fba1d0f"
      decimals="2"
      id="F_efb97abb-f399-46c2-ac5a-9debbada40a8"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">28.9</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_61185a7e-4cc2-4fa4-9a59-c6e7007d895e"
      decimals="2"
      id="F_761a485d-22f8-411f-8b2e-29c9da0a9e36"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">24.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="C_80abdbfe-1ea4-4f78-9a32-0e16549e5993"
      decimals="-5"
      id="F_708fb342-4028-4beb-9093-385d06aaa686"
      unitRef="U_USD">25600000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="C_26f2e989-5f07-458e-a4d2-388ca07124d6"
      id="F_0300d9ee-5999-4645-ab3d-1d749bb2257e">P2Y9M21D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="C_6fb9042d-0170-48a2-9c58-e516bcaec174"
      decimals="-5"
      id="F_909ac5d9-60c7-472b-8b44-713091c8e873"
      unitRef="U_USD">35600000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="C_b8f4b6e4-aee2-4158-8eb3-5a763ab922f0"
      id="F_3dfd26d4-2bf6-4eae-8e8c-d7661b1c1e50">P2Y1M2D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_8fb04946-4ae6-4072-8ec9-ffc9f2a84ad1"
      decimals="INF"
      id="F_1463ea16-d12f-4433-a813-558dce303b5e"
      unitRef="U_shares">42619022</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_ddc9ba9c-5861-4aa2-b92e-63b73c62e1d2"
      decimals="INF"
      id="F_b5bee3fc-9f69-4695-a9a2-0e1de9598686"
      unitRef="U_shares">42619022</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_bb0b20be-5ebd-46ff-962e-5b39583edd9d"
      decimals="INF"
      id="F_ef681a17-1c38-4c94-ba5b-24cf17b46e07"
      unitRef="U_shares">1700845</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_8fdde903-c818-40c6-862b-d0e48161bace"
      decimals="INF"
      id="F_bda278cc-8ccc-4fcf-a7ce-fc51acb2e016"
      unitRef="U_shares">1700845</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_59b97078-5956-4d16-9e00-c3b9d75ab86e"
      decimals="INF"
      id="F_fe4f769c-8194-4278-beb6-07a99ba676c1"
      unitRef="U_shares">1875000</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_a4a29692-8d36-4f1f-b49c-9ec01e60bbd7"
      decimals="INF"
      id="F_b88e613c-c2e4-494a-8a3c-188b0ea7a42e"
      unitRef="U_shares">1875000</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_4b18c675-f7ca-483d-b296-3fbb22c4ebcb"
      decimals="INF"
      id="F_a721601c-7ce6-4c4b-a27c-8091ba447a7a"
      unitRef="U_shares">1599503</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_e64035f6-74f7-43ad-8c0c-b5cc97e8e131"
      decimals="INF"
      id="F_a5c3db13-e6b5-45d1-9744-da5eba1e99c4"
      unitRef="U_shares">1599503</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_7bed8eff-b846-4d98-aa8d-91b72fc5710a"
      decimals="INF"
      id="F_e0ae0180-2c9f-4f55-8fc0-f9532026dced"
      unitRef="U_shares">1520141</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_b2310234-45bf-40f1-a1c6-b8d494cac233"
      decimals="INF"
      id="F_0a9eca4c-162e-44e9-acf0-a91ebc3181da"
      unitRef="U_shares">1520141</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_7e8436c1-49a6-41fa-a4fb-ea5535c12b40"
      decimals="INF"
      id="F_1d84be24-2808-47b2-bb62-330736f99c19"
      unitRef="U_shares">459565</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_09f0cc6d-149d-40c0-bb99-259b3d1af0eb"
      decimals="INF"
      id="F_8db7a742-5d8e-4f5c-90ab-d4036ce47890"
      unitRef="U_shares">459565</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_7497727e-27a1-44f0-a67c-9561eae1dc3a"
      decimals="INF"
      id="F_b8d35037-5794-464d-abaa-7bf8b450f04c"
      unitRef="U_shares">5714332</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_8d9e40ae-957f-4260-b5e8-454c8d0adade"
      decimals="INF"
      id="F_11cfd55b-f292-44ee-8fd0-6e956659dfa7"
      unitRef="U_shares">5714332</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_d94871d9-155f-45b6-85d5-3341ee165465"
      decimals="INF"
      id="F_178c2c53-38d6-4299-a47f-69f712c9fe03"
      unitRef="U_shares">9927500</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_79a389cf-3893-413e-92c7-f9510408990c"
      decimals="INF"
      id="F_6fa7e6b8-baad-40f6-ac2b-d73e035c18d6"
      unitRef="U_shares">9927500</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_98f064b8-c8d1-446b-9181-9c5edbdb8a71"
      decimals="INF"
      id="F_08561c7f-1b79-4e4e-b237-34aee34ce9d1"
      unitRef="U_shares">19822136</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_26dced14-d578-4a08-9c2b-d659676a67ce"
      decimals="INF"
      id="F_ba77974b-3fc9-4525-8b53-02fbe226285b"
      unitRef="U_shares">19822136</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockRedemptionTerms
      contextRef="C_7047ebdf-c9fc-481e-b8cf-3f6a15695bc2"
      id="F_c4580b44-c26e-4f58-af0d-e01cfde3c154">Redemption Right &#x2014; If a Preferred Share can be redeemed by a majority shareholder owning more than ninety percent (90%) of the shares of FibroGen Europe in accordance with the provisions of the Finnish Limited Liability Companies Act, the minority holders of Preferred Shares have the right to request redemption of their shares.</us-gaap:PreferredStockRedemptionTerms>
    <fgen:RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares
      contextRef="C_7047ebdf-c9fc-481e-b8cf-3f6a15695bc2"
      decimals="INF"
      id="F_11bb55db-161d-4506-a652-fa1d2a6e630b"
      unitRef="U_pure">0.90</fgen:RequiredMinimumShareholderPercentageToCallForRedemptionOfPreferredShares>
    <us-gaap:PreferredStockVotingRights
      contextRef="C_7047ebdf-c9fc-481e-b8cf-3f6a15695bc2"
      id="F_1992f0f7-9188-4d7b-adab-96def01e4212">one vote</us-gaap:PreferredStockVotingRights>
    <us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion
      contextRef="C_ddc9ba9c-5861-4aa2-b92e-63b73c62e1d2"
      decimals="INF"
      id="F_6dea86a6-ee51-45c6-ade6-8cb93baccc35"
      unitRef="U_shares">1</us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion>
    <us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion
      contextRef="C_6c42c9e1-23ed-4be2-a897-0b4a07cbcfae"
      decimals="INF"
      id="F_835eedbc-d601-45d7-863d-a046b921a2ab"
      unitRef="U_shares">958996</us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_c5c4b2d6-09ca-4252-accc-c6b9b5a7a55e"
      decimals="INF"
      id="F_56502287-fd52-4628-a062-72c90996716b"
      unitRef="U_shares">6758000</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_0c685793-fd28-4163-b729-a03a05362e9f"
      decimals="INF"
      id="F_0b39e7c8-c333-48a0-b30b-de5ce99d122a"
      unitRef="U_shares">6758000</us-gaap:PreferredStockSharesOutstanding>
    <fgen:PreferredSharesIssuedPricePerShare
      contextRef="C_c5c4b2d6-09ca-4252-accc-c6b9b5a7a55e"
      decimals="INF"
      id="F_914ba287-3f50-49a8-8cc0-1560b129fd9f"
      unitRef="U_UnitedStatesOfAmericaDollarsShare">1.00</fgen:PreferredSharesIssuedPricePerShare>
    <us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion
      contextRef="C_93c49346-c6c0-4035-9024-53edc792dbdc"
      decimals="INF"
      id="F_d8527117-2b09-416d-b5c6-1586081394bd"
      unitRef="U_shares">1</us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion>
    <us-gaap:PreferredStockDividendRatePercentage
      contextRef="C_9c5e7487-267e-4264-bd03-b5f0cc05bd71"
      decimals="INF"
      id="F_e3d9bb79-2789-4cb2-a975-744558a1138a"
      unitRef="U_pure">0.06</us-gaap:PreferredStockDividendRatePercentage>
    <us-gaap:ConvertibleDebt
      contextRef="C_999e73e6-ee7b-4b73-bf56-360fbfb0c5a5"
      decimals="-5"
      id="F_667b3f84-7cbd-4606-913f-6a34b9d992fa"
      unitRef="U_USD">600000</us-gaap:ConvertibleDebt>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="C_93c49346-c6c0-4035-9024-53edc792dbdc"
      decimals="INF"
      id="F_dcec1f93-119f-426c-8a9d-e54b7f8ed393"
      unitRef="U_pure">0.0200</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:ConvertibleDebt
      contextRef="C_cc914418-c5b0-4dde-97b9-ffde29490b6e"
      decimals="-5"
      id="F_08aa9b1d-4a63-4773-963e-0229d12097c1"
      unitRef="U_USD">700000</us-gaap:ConvertibleDebt>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_7bf7ac62-e7a5-43cf-a4cb-8a09601377fa">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;14.	Net Loss Per Share&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;Potential common shares that would have the effect of increasing diluted earnings per share are considered to be anti-dilutive and as such, these shares are not included in the calculation of diluted earnings per share. The Company reported a net loss for each of the years ended December 31, 2023, 2022 and 2021. Therefore, dilutive common shares are not assumed to have been issued since their effect is anti-dilutive for these periods.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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;Diluted weighted average shares excluded the following potential common shares related to stock options, RSUs, PRSUs, TSR awards and shares to be purchased under the 2014 Employee Stock Purchase Plan (&#x201c;ESPP&#x201d;) for the periods presented as they were anti-dilutive (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:10pt;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.17%;"&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:13.743%;"&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:13.743%;"&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:13.743%;"&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;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;"&gt;
        &lt;td style="white-space:pre-wrap;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Employee stock options&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;10,596&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;9,520&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;8,461&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: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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;RSUs, PRSUs and TSR awards&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;3,793&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;2,137&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;1,538&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: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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;ESPP&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;594&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;305&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;417&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;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-top:0.5pt solid #000000;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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;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;14,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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 style="border-top:0.5pt solid #000000;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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;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;11,962&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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: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="border-top:0.5pt solid #000000;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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;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;10,416&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_42ba4119-e1a5-4f60-9147-042409a7028c">&lt;p style="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;Diluted weighted average shares excluded the following potential common shares related to stock options, RSUs, PRSUs, TSR awards and shares to be purchased under the 2014 Employee Stock Purchase Plan (&#x201c;ESPP&#x201d;) for the periods presented as they were anti-dilutive (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:10pt;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.17%;"&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:13.743%;"&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:13.743%;"&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:13.743%;"&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;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;"&gt;
        &lt;td style="white-space:pre-wrap;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Employee stock options&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;10,596&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;9,520&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;8,461&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: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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;RSUs, PRSUs and TSR awards&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;3,793&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;2,137&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;1,538&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: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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;ESPP&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;594&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;305&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;417&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;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-top:0.5pt solid #000000;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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;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;14,983&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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 style="border-top:0.5pt solid #000000;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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;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;11,962&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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: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="border-top:0.5pt solid #000000;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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;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;10,416&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_025aeb48-93cb-46ce-b1ce-7c92cd66990f"
      decimals="-3"
      id="F_4fa787fe-16d3-4741-99ad-e8d46986111b"
      unitRef="U_shares">10596000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_2c22d0e6-9a4a-464d-8b52-2dd428e0c12e"
      decimals="-3"
      id="F_032e9d7b-aa20-4c9c-a8af-a047e6cc9ad1"
      unitRef="U_shares">9520000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_f7bae724-7806-4068-8a59-a49fed19890a"
      decimals="-3"
      id="F_a18154a4-dad4-4ef9-aa40-7d4400e37fe7"
      unitRef="U_shares">8461000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_fc1c4857-2dc4-4e74-ada3-9dafeeab80be"
      decimals="-3"
      id="F_92118aa6-ef7b-449c-9745-9471c371e12a"
      unitRef="U_shares">3793000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_0ec6afe4-7af2-41fa-a274-f2ffb1d3cc9a"
      decimals="-3"
      id="F_d4a26989-fcab-497b-974b-726726a9adaa"
      unitRef="U_shares">2137000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_a5131c42-9d4d-465f-879d-86d0b5d0591e"
      decimals="-3"
      id="F_14b730bf-21d4-482b-9077-4385d44a4eaa"
      unitRef="U_shares">1538000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_52f697e0-dad1-41cf-b6cc-29aa9845f30c"
      decimals="-3"
      id="F_4ae4b04f-389e-42ea-a2b8-30dde30906d8"
      unitRef="U_shares">594000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_8575fc66-808b-4431-8e13-1c20ae80d04b"
      decimals="-3"
      id="F_f7c22c0d-5b08-481c-b562-e3141570fef0"
      unitRef="U_shares">305000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_7930c720-a15a-49d5-a673-4ac5dfcd7bfe"
      decimals="-3"
      id="F_6e4beaec-4e3b-4380-b850-066abc32c35f"
      unitRef="U_shares">417000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_72d13238-9432-4a6f-8929-e24071e7341c"
      unitRef="U_shares">14983000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_45dace6f-15d8-48c5-869f-189596d6ec15"
      unitRef="U_shares">11962000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_38f1fcd1-ff4f-4f1a-8be6-a334dcffe4fd"
      unitRef="U_shares">10416000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_303f3d30-03e8-4da8-8509-36812ea532cc">&lt;p style="font-size:10pt;margin-top:8pt;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;min-width:fit-content;"&gt;15.	Income Taxes&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;The components of loss before income taxes are as follows (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:10pt;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.543%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.261%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.864999999999998%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.261%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.864999999999998%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.261%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.944999999999999%;"&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;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;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;328,475&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;307,056&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;268,499&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;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;41,608&lt;/span&gt;&lt;/p&gt;&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;12,187&lt;/span&gt;&lt;/p&gt;&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;22,184&lt;/span&gt;&lt;/p&gt;&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;Loss before provision for 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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;286,867&lt;/span&gt;&lt;/p&gt;&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;294,869&lt;/span&gt;&lt;/p&gt;&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: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: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;290,683&lt;/span&gt;&lt;/p&gt;&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;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 provision for income taxes consists of the following (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:10pt;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;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;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;Current:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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: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 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;&#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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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;&#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;&#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:bottom;"&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;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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;358&lt;/span&gt;&lt;/p&gt;&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;347&lt;/span&gt;&lt;/p&gt;&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:bottom;"&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 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;358&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&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;min-width:fit-content;"&gt;Deferred:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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: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 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;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;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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;&#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;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;&#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;&#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:10pt;white-space:pre-wrap;vertical-align:bottom;"&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;&#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;&#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;&#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:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"&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 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;&#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;&#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;&#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;Total provision for 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;3&lt;/span&gt;&lt;/p&gt;&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;358&lt;/span&gt;&lt;/p&gt;&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: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: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;347&lt;/span&gt;&lt;/p&gt;&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="font-size: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:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 the reconciliation between the statutory federal income tax rate and the Company&#x2019;s effective tax rate:&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:10pt;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.852%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.362%;"&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.362%;"&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.422%;"&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;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;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;"&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: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;Tax at statutory federal rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;&#160;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;&#160;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;&#160;%&lt;/span&gt;&lt;/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;State tax&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;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="color:#000000;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="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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;1.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="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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 losses not benefitted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;16.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;16.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="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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 net operating losses not benefitted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;&#160;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;&#160;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deduction limitation on executive compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Global intangible low-taxed income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;4.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;0.4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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;0.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;0.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;0.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&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: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;&#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="color:#000000;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="min-width:fit-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;(&lt;/span&gt;&lt;span style="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;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="min-width:fit-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;(&lt;/span&gt;&lt;span style="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;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;div style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 components of the Company&#x2019;s deferred tax assets are as follows (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:10pt;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:80.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: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;"&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;"&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;"&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;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="white-space:pre-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;Federal and state 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;175,257&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;166,708&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;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;123,156&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;106,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;/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;Foreign 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;48,396&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;49,990&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Capitalized research and development expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;45,125&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Stock-based 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,155&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,616&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Lease obligations&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,189&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,442&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Reserves and accruals&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,475&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;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;24,792&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,624&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;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;63,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,159&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,277&lt;/span&gt;&lt;/p&gt;&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;Subtotal&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;548,961&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;492,001&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;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;534,967&lt;/span&gt;&lt;/p&gt;&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;477,969&lt;/span&gt;&lt;/p&gt;&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: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;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;13,994&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,032&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&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;/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;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;10,511&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;13,101&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;Non-deductible accrued expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,483&lt;/span&gt;&lt;/p&gt;&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;931&lt;/span&gt;&lt;/p&gt;&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: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;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: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;13,994&lt;/span&gt;&lt;/p&gt;&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;14,032&lt;/span&gt;&lt;/p&gt;&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:15pt;white-space:pre-wrap;vertical-align:bottom;"&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 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;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;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="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 valuation allowance has been provided to reduce the deferred tax assets to an amount management believes is more likely than not to be realized. Expected realization of the deferred tax assets for which a valuation allowance has not been recognized is based on upon the reversal of existing temporary differences and future taxable income.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 valuation allowance increased by &lt;/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;57.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="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;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;68.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="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="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;72.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="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, respectively. Due to uncertainty surrounding the realization of the favorable tax attributes in the future tax returns, the Company has established a valuation allowance against its otherwise recognizable net deferred tax assets.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 intends to continue maintaining a full valuation allowance on its deferred tax assets until there is sufficient evidence to support the reversal of all or some portion of this 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;p style="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;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 net operating loss carryforwards available to offset future taxable income 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;796.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;147.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 for federal and state tax purposes, respectively. $&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;292.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 federal net operating loss carryforwards will begin to expire in &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;2026 &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;if not utilized, while the remainder can be carried forward indefinitely. The state net operating loss carryforward will begin to expire in &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;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;if not utilized. The Company also had foreign net operating loss carryforwards 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;235.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 expire between &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;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; 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;2033&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; if not utilized.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;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 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;143.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 of federal 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;50.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 California research and development tax credit and other tax credit carryforwards available to offset future taxable income. The federal credits begin to expire in &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;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; and the California research credits have no expiration dates.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Federal and state tax laws impose substantial restrictions on the utilization of net operating loss and credit carryforwards in the event of an &#x201c;ownership change&#x201d; for tax purposes, as defined in IRC Section 382. The Company did not perform an IRC Section 382 analysis and any previous ownership changes may result in a limitation that will reduce the total amount of net operating loss and tax credit carryforwards disclosed that can be utilized. Subsequent ownership changes may affect the limitation in future years.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 August 16, 2022, the Inflation Reduction Act of 2022 (&#x201c;IRA&#x201d;) was signed into law. Among other changes to the Internal Revenue Code, the IRA imposes 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;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;% corporate alternative minimum tax on certain corporations 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&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;% excise tax on public company stock buybacks for tax years beginning after December 31, 2022. The tax provisions in the IRA did not have a material impact on the Company&#x2019;s consolidated financial statements and related disclosures.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Uncertain Tax Positions&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;The Company had unrecognized tax benefits of approximately &lt;/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;81.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="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;. 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.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 unrecognized tax benefits, if recognized, would affect the effective tax rate. The interest accrued 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; was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_4256d155-e15f-4602-9cd7-3def6e363f77;"&gt;&lt;span style="-sec-ix-hidden:F_742d1821-3d19-4dff-bc16-8f6a11deb307;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;immaterial&lt;/span&gt;&lt;/span&gt;&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="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 the beginning and ending amounts of unrecognized income tax benefits during the three 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 is as follows (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:10pt;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:80.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;"&gt;
        &lt;td 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;"&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;Federal&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;and State&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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, 2020&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;48,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Decrease due to prior positions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;245&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;Increase due to current year position&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,415&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 exchange rate differential&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;927&lt;/span&gt;&lt;/p&gt;&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;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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,671&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Increase due to prior positions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,954&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Increase due to current year position&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,074&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 exchange rate differential&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;908&lt;/span&gt;&lt;/p&gt;&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;72,791&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Decrease due to prior positions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;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;/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;Increase due to current year position&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,805&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 exchange rate differential&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;477&lt;/span&gt;&lt;/p&gt;&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;80,965&lt;/span&gt;&lt;/p&gt;&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: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;Unrecognized tax benefits may change during the next twelve months for items that arise in the ordinary course of business. &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 Company does not anticipate a material change to its unrecognized tax benefits over the next twelve months that would affect the Company&#x2019;s effective tax rate.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="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 classifies interest and penalties as a component of tax expense, if any.&lt;/span&gt;&lt;/p&gt;&lt;p style="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 files income tax returns in the U.S. federal jurisdiction, U.S. state and other foreign jurisdictions. The U.S. federal and U.S. state taxing authorities may choose to audit tax returns for tax years beyond the statute of limitation period due to significant tax attribute carryforwards from prior years, making adjustments only to carryforward attributes. The foreign statute of limitation generally remains open from &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;2014&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 &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;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 is not currently under audit in any tax jurisdiction.&lt;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <fgen:ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_e57aa06c-cb96-46cb-ac6f-8f877c7e6066">&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;The components of loss before income taxes are as follows (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:10pt;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.543%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.261%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.864999999999998%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.261%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.864999999999998%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.261%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.944999999999999%;"&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;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;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;328,475&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;307,056&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;268,499&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;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;41,608&lt;/span&gt;&lt;/p&gt;&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;12,187&lt;/span&gt;&lt;/p&gt;&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;22,184&lt;/span&gt;&lt;/p&gt;&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;Loss before provision for 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;(&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;286,867&lt;/span&gt;&lt;/p&gt;&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;294,869&lt;/span&gt;&lt;/p&gt;&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: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: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;290,683&lt;/span&gt;&lt;/p&gt;&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;</fgen:ScheduleOfIncomeLossBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_eb794012-6a4f-4591-88dc-d133edbdfcab"
      unitRef="U_USD">-328475000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_f96a5b44-6125-4e2f-862e-98274e2a14d3"
      unitRef="U_USD">-307056000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_8129cad6-7552-42a1-ad7f-0d9b4b386bd8"
      unitRef="U_USD">-268499000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_3efccceb-358c-4759-afbc-57364991145e"
      unitRef="U_USD">41608000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_75aa4efb-bd88-4efd-b3d1-e2034791e102"
      unitRef="U_USD">12187000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_1224f8fd-e5c5-4dad-aff1-ebfcc186f6dc"
      unitRef="U_USD">-22184000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_9aabc272-8b90-471d-b0bb-bc08ed4ed853"
      unitRef="U_USD">-286867000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_dd778265-4153-460c-8d81-745041292e7c"
      unitRef="U_USD">-294869000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_a6ffc1d9-50e5-4ad6-8258-29d0978ee49d"
      unitRef="U_USD">-290683000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_6f141cd5-5860-45ef-b353-7a3cb012d928">&lt;p style="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 provision for income taxes consists of the following (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:10pt;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;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;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;Current:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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: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 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;&#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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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;&#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;&#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:bottom;"&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;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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;358&lt;/span&gt;&lt;/p&gt;&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;347&lt;/span&gt;&lt;/p&gt;&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:bottom;"&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 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;358&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&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;min-width:fit-content;"&gt;Deferred:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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: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 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;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;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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;&#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;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;&#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;&#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:10pt;white-space:pre-wrap;vertical-align:bottom;"&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;&#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;&#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;&#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:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"&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 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;&#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;&#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;&#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;Total provision for 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;3&lt;/span&gt;&lt;/p&gt;&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;358&lt;/span&gt;&lt;/p&gt;&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: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: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;347&lt;/span&gt;&lt;/p&gt;&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="font-size: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:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_795540bf-2091-4bb8-90ae-efccfdf7d979"
      unitRef="U_USD">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_83f74be0-c2f3-4dbf-8f81-2657cf744d03"
      unitRef="U_USD">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_90ed7a46-69c2-4651-bda2-3d0938a196c7"
      unitRef="U_USD">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_7ebc646c-ce46-4859-8bcf-344a976a2f84"
      unitRef="U_USD">0</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_625bd651-d4f5-453e-a986-24969ed1f01a"
      unitRef="U_USD">0</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_3029fbda-307e-4a47-8501-c95355c14275"
      unitRef="U_USD">0</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_016f681c-dc1d-4789-9626-7b0241915855"
      unitRef="U_USD">3000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_cee8727b-b10c-4992-9130-8884ec792f4f"
      unitRef="U_USD">358000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_5518b7de-631e-4863-8a74-a0f6654cac67"
      unitRef="U_USD">347000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_6e253dae-4ab1-457b-8c3f-1b80ab4509c7"
      unitRef="U_USD">3000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_cf75b93d-a460-4d97-be87-aca45a1e2d47"
      unitRef="U_USD">358000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_5b04e987-fd6a-4b2e-909f-1cfc5528191a"
      unitRef="U_USD">347000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_080edf54-3008-4d75-9bcd-bd6aed8aba4f"
      unitRef="U_USD">0</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_8f747cfa-e543-4319-9da9-29e86bf28ca1"
      unitRef="U_USD">0</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_f99fbb8f-d43c-48be-921e-6d3a757e156f"
      unitRef="U_USD">0</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_1692d6be-2b91-4fc4-996c-4f6ae9bd78e8"
      unitRef="U_USD">0</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_a2573da1-b30e-4d4d-a744-629f40f706ee"
      unitRef="U_USD">0</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_ac07e004-e351-41e8-b20d-b67d8b35e3eb"
      unitRef="U_USD">0</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_1b7e614b-f51f-4064-8206-e402bc616942"
      unitRef="U_USD">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_4e45d86c-73e1-4cf0-b8b2-fa03ccd333b3"
      unitRef="U_USD">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_8cd4be63-8c8d-404b-b734-53c425b186a9"
      unitRef="U_USD">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_650272ed-bf13-4a2a-8cde-7757d647bc1f"
      unitRef="U_USD">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_e177a3b1-0d1a-4079-bbab-cfadfd1d9e24"
      unitRef="U_USD">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_31d449d9-2cf7-4491-9671-e6ff8236d2d3"
      unitRef="U_USD">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_99cd456e-578b-41e7-b301-fdfd3709ea6c"
      unitRef="U_USD">3000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_d98e0363-1b99-4415-9234-f2ff41d5fc77"
      unitRef="U_USD">358000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_6e90ce64-0250-4eed-96b2-463e323acf29"
      unitRef="U_USD">347000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_3610549d-5b80-4750-b962-d95564955edc">&lt;p style="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 the reconciliation between the statutory federal income tax rate and the Company&#x2019;s effective tax rate:&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:10pt;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.852%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.362%;"&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.362%;"&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.422%;"&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;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;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;"&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: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;Tax at statutory federal rate&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;&#160;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;&#160;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;&#160;%&lt;/span&gt;&lt;/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;State tax&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="color:#000000;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="color:#000000;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="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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;1.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="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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 losses not benefitted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;16.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;16.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="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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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 net operating losses not benefitted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;&#160;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;&#160;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Deduction limitation on executive compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Global intangible low-taxed income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;4.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;0.4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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;0.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;0.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;0.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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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:bottom;"&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: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;&#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="color:#000000;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="min-width:fit-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;(&lt;/span&gt;&lt;span style="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;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="min-width:fit-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;(&lt;/span&gt;&lt;span style="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;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:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="3"
      id="F_7d598239-f029-436d-9523-917f7a1fd96a"
      unitRef="U_pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="3"
      id="F_de273bd6-cb98-4909-8c27-753369c85626"
      unitRef="U_pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="3"
      id="F_09cf871f-ba26-4cab-9835-916811eb5833"
      unitRef="U_pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="0"
      id="F_25650e1f-029c-4ed5-b506-0018713a91df"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="0"
      id="F_d02b474e-3ac0-4ad9-95d0-bd9cc4bbd178"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="0"
      id="F_de93ac37-54ae-4120-8541-78aede0289a1"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <fgen:EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="3"
      id="F_4c0c3090-8b68-4f0d-a78c-c26cffe76911"
      unitRef="U_pure">-0.011</fgen:EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost>
    <fgen:EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="3"
      id="F_77d6a0a0-21ea-4ba4-b318-da4491f59e0e"
      unitRef="U_pure">-0.025</fgen:EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost>
    <fgen:EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="3"
      id="F_ef98e166-2297-4963-86fa-ee75848ad46a"
      unitRef="U_pure">-0.018</fgen:EffectiveIncomeTaxRateReconciliationDeductionExpenseShareBasedCompensationCost>
    <fgen:EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="3"
      id="F_aa2a9668-7b1e-4587-92b1-b019003c0181"
      unitRef="U_pure">-0.179</fgen:EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted>
    <fgen:EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="3"
      id="F_c5960f98-a66c-4317-b8ce-72c76900871d"
      unitRef="U_pure">-0.163</fgen:EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted>
    <fgen:EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="3"
      id="F_e853aac7-c08b-40b4-bee9-1bf8c6bc8b39"
      unitRef="U_pure">-0.168</fgen:EffectiveIncomeTaxRateReconciliationNetOperatingLossesNotBenefitted>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="3"
      id="F_5106cd71-6b29-41b3-a357-cbafb2a90fa9"
      unitRef="U_pure">0.03</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="3"
      id="F_646146f3-36c9-4f11-8a76-73914abecc2e"
      unitRef="U_pure">0.009</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="3"
      id="F_68272b47-5a0e-4e9e-906c-46def9759697"
      unitRef="U_pure">-0.016</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationDeductions
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="3"
      id="F_2ac5c765-b26b-4665-8e82-578e439331dc"
      unitRef="U_pure">-0.005</us-gaap:EffectiveIncomeTaxRateReconciliationDeductions>
    <us-gaap:EffectiveIncomeTaxRateReconciliationDeductions
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="3"
      id="F_61833ea0-654c-48e6-970f-0ae0ba534461"
      unitRef="U_pure">-0.002</us-gaap:EffectiveIncomeTaxRateReconciliationDeductions>
    <us-gaap:EffectiveIncomeTaxRateReconciliationDeductions
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="3"
      id="F_b6be65c2-0691-4153-ad0c-8af015a2b61b"
      unitRef="U_pure">-0.003</us-gaap:EffectiveIncomeTaxRateReconciliationDeductions>
    <us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="3"
      id="F_1472f09a-ba90-4545-8d16-0e323ead3d55"
      unitRef="U_pure">0.043</us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="3"
      id="F_db7640be-c609-47bc-a881-841ae56fd004"
      unitRef="U_pure">0.028</us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="3"
      id="F_23a6e9b3-fb91-4b35-a20d-c99cc450fd1d"
      unitRef="U_pure">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="3"
      id="F_42b50b4d-c3a1-40a5-b8cd-8902c1579369"
      unitRef="U_pure">-0.002</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="3"
      id="F_3dd35212-da8f-4d41-ab72-01ed283b8b2b"
      unitRef="U_pure">-0.002</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="3"
      id="F_0b39ae3d-5ea5-4fdd-8aaf-92122c11cd39"
      unitRef="U_pure">-0.002</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="2"
      id="F_6c8b15a1-8f02-4daf-901c-72969c35a462"
      unitRef="U_pure">0</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="3"
      id="F_ceea5eb7-acc5-4c94-8749-3440728fe32e"
      unitRef="U_pure">-0.001</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="3"
      id="F_0e16b4d0-2451-4fa1-9f39-c443ca12b0ec"
      unitRef="U_pure">-0.001</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_4c2d10a9-1094-492f-afa7-af32a5c78b48">&lt;p style="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 components of the Company&#x2019;s deferred tax assets are as follows (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:10pt;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:80.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: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;"&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;"&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;"&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;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="white-space:pre-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;Federal and state 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="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;175,257&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;166,708&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;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;123,156&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;106,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;/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;Foreign 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;48,396&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;49,990&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Capitalized research and development expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;45,125&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Stock-based 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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,155&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,616&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Lease obligations&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,189&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,442&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Reserves and accruals&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,475&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;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;24,792&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21,624&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;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;63,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,159&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,277&lt;/span&gt;&lt;/p&gt;&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;Subtotal&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;548,961&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;492,001&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;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;534,967&lt;/span&gt;&lt;/p&gt;&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;477,969&lt;/span&gt;&lt;/p&gt;&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: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;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;13,994&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,032&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&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;/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;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;10,511&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;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;13,101&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;Non-deductible accrued expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,483&lt;/span&gt;&lt;/p&gt;&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;931&lt;/span&gt;&lt;/p&gt;&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: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;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: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;13,994&lt;/span&gt;&lt;/p&gt;&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;14,032&lt;/span&gt;&lt;/p&gt;&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:15pt;white-space:pre-wrap;vertical-align:bottom;"&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 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;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;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_addbb372-934e-48ad-99fd-210e9730c005"
      unitRef="U_USD">175257000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_9b768dd5-4dae-4dc9-bf60-c4914f7411d9"
      unitRef="U_USD">166708000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_405af76c-018f-4cc9-a441-db14a7853f1b"
      unitRef="U_USD">123156000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_0d5afb64-3921-441a-be3a-81c75df3e0c7"
      unitRef="U_USD">106131000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_d2d888a5-8153-46c0-9218-46af67f1cf90"
      unitRef="U_USD">48396000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_2b0819fb-1da4-4cec-aa86-5aa166a692c1"
      unitRef="U_USD">49990000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign>
    <fgen:DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_68977d73-f946-4192-8394-083134533341"
      unitRef="U_USD">81697000</fgen:DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses>
    <fgen:DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_c071a1b2-07f3-4a59-a22d-767a77e70360"
      unitRef="U_USD">45125000</fgen:DeferredTaxAssetstaxCapitalizedResearchAndDevelopmentExpenses>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_ab720f7d-577a-430c-8b7d-7be519db92d1"
      unitRef="U_USD">9155000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_e8ceef65-8821-4e41-a632-873c9330d8e7"
      unitRef="U_USD">8616000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_bf34d338-8a0b-4fbd-bbff-703b283212b6"
      unitRef="U_USD">17189000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_e9f30e1e-c264-4e9f-9f8b-2fa5b0fdaa60"
      unitRef="U_USD">18442000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_367cf623-104a-4369-8ce9-fa64bb91d486"
      unitRef="U_USD">5475000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_179842cd-c548-4d88-8be4-780bdfd37c0f"
      unitRef="U_USD">4929000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_492b588d-6a9d-4fe0-8437-36f7ff722df2"
      unitRef="U_USD">24792000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_7b524ea2-beef-4b96-8805-a02df33cd7b5"
      unitRef="U_USD">21624000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <fgen:DeferredTaxAssetsIntangibleAssets
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_f625e86b-0118-4eb9-b1c5-12286c55feb9"
      unitRef="U_USD">63146000</fgen:DeferredTaxAssetsIntangibleAssets>
    <fgen:DeferredTaxAssetsIntangibleAssets
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_07923b12-cb05-4b12-bae9-be130b42db3e"
      unitRef="U_USD">69159000</fgen:DeferredTaxAssetsIntangibleAssets>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_b5a3c506-6f7e-4f8d-903b-abf9aceaffb8"
      unitRef="U_USD">698000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_75cf94b3-4e7b-4d3e-bf69-43cf4b943c60"
      unitRef="U_USD">1277000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_3b1fb750-0550-4f23-9c20-70c1d63831ae"
      unitRef="U_USD">548961000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_8a78fcaa-ce7b-4764-89fa-0604f3504651"
      unitRef="U_USD">492001000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_33b416d3-fbf7-4aab-a8af-b70c229e8fd6"
      unitRef="U_USD">534967000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_f03a1edc-8b4e-4c40-bfba-6ce8dd1a9fe9"
      unitRef="U_USD">477969000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_cd871ac3-9aaa-4a92-bf6d-31296c26d644"
      unitRef="U_USD">13994000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_b943b8ae-a763-4019-b6f0-5a7b7f286db3"
      unitRef="U_USD">14032000</us-gaap:DeferredTaxAssetsNet>
    <fgen:DeferredTaxLiabilitiesFixedAssets
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_ed7e1151-650d-4dc3-bff6-b6d528ace78d"
      unitRef="U_USD">10511000</fgen:DeferredTaxLiabilitiesFixedAssets>
    <fgen:DeferredTaxLiabilitiesFixedAssets
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_84664d1a-5e30-4dd5-8d0a-b8071d7224d4"
      unitRef="U_USD">13101000</fgen:DeferredTaxLiabilitiesFixedAssets>
    <fgen:DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_274015c7-2df7-4978-8b49-34a1b58079f1"
      unitRef="U_USD">-3483000</fgen:DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses>
    <fgen:DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_9f5a7c6b-54a5-47f7-9e5b-b86de9723d93"
      unitRef="U_USD">-931000</fgen:DeferredTaxLiabilitiesNonDeductibaleAccruedExpenses>
    <us-gaap:DeferredTaxLiabilities
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_4c11e97b-06fe-496e-9af9-8f34dc835179"
      unitRef="U_USD">13994000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_5f129542-df4e-45c6-b69d-4787cdefb611"
      unitRef="U_USD">14032000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_76a46f9c-e096-46cd-9e1d-35eb6ef94755"
      unitRef="U_USD">0</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_aa117c81-5c59-4481-a4e8-e7e48dba4cb1"
      unitRef="U_USD">0</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-5"
      id="F_40036449-940d-46d5-ba95-a7e4247c03da"
      unitRef="U_USD">57000000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-5"
      id="F_7cd498bc-b56d-47cd-a4bc-84868eda1ec6"
      unitRef="U_USD">68200000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-5"
      id="F_d89e7491-eb6a-448f-995c-79ee7cc545a4"
      unitRef="U_USD">72000000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="C_a7f201a4-4fc8-46c3-9232-d6e0061d36a2"
      decimals="-5"
      id="F_ef210b18-519a-47b3-aca1-f4088125d825"
      unitRef="U_USD">796700000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="C_2da3ba07-57c7-4b3a-81c9-5f0d614a4241"
      decimals="-5"
      id="F_8feac1c3-427f-4379-bdcd-654a731e241f"
      unitRef="U_USD">147200000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="C_86aecf7f-d4ad-48d6-81ed-7fd0f6d75915"
      decimals="-5"
      id="F_2a212e41-7d0d-40d4-b2af-689eaba93686"
      unitRef="U_USD">292400000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <fgen:OperatingLossCarryforwardsExpirationYear
      contextRef="C_b9b518e4-8fd7-4a1a-94fd-6e9e0c387058"
      id="F_9ab4c33d-a1ec-4d70-8d25-af6d05952a89">2026</fgen:OperatingLossCarryforwardsExpirationYear>
    <fgen:OperatingLossCarryforwardsExpirationYear
      contextRef="C_d3683abc-2d3d-4acf-a7b0-5c5b3fd5e132"
      id="F_851fb47f-813d-4c21-8163-7d48bc337d7d">2028</fgen:OperatingLossCarryforwardsExpirationYear>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign
      contextRef="C_a009a95d-c91b-4118-a088-0722debb7cdf"
      decimals="-5"
      id="F_70538361-764c-43cd-9ca0-fcaec2aa3c9f"
      unitRef="U_USD">235100000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign>
    <fgen:OperatingLossCarryforwardsExpirationYear
      contextRef="C_f50a4abf-d42b-4eba-bcbe-16d0e1c79248"
      id="F_a81244f4-c9f6-4da9-a659-f34f41a19d93">2024</fgen:OperatingLossCarryforwardsExpirationYear>
    <fgen:OperatingLossCarryforwardsExpirationYear
      contextRef="C_788d981f-cb2d-4028-8f11-3a02658396ff"
      id="F_a2cf06a0-dd79-4d9d-92ff-360191cec533">2033</fgen:OperatingLossCarryforwardsExpirationYear>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsOther
      contextRef="C_a7f201a4-4fc8-46c3-9232-d6e0061d36a2"
      decimals="-5"
      id="F_bb53b251-9ba1-4e88-a224-9d3805f3dde2"
      unitRef="U_USD">143300000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsOther>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsOther
      contextRef="C_8c6e45bb-1f49-472e-9559-a3a3cefee8ec"
      decimals="-5"
      id="F_2de6fc97-12a3-4f7d-885a-77a0b20baead"
      unitRef="U_USD">50800000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsOther>
    <fgen:OtherTaxCreditCarryforwardsExpirationYear
      contextRef="C_b9b518e4-8fd7-4a1a-94fd-6e9e0c387058"
      id="F_3b010d1e-b3ed-41fe-b2bb-073555f61d9f">2024</fgen:OtherTaxCreditCarryforwardsExpirationYear>
    <fgen:CorporateAlternativeMinimumTaxPercentage
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="2"
      id="F_58dfbc06-6387-4243-a760-3ed798364ca9"
      unitRef="U_pure">0.15</fgen:CorporateAlternativeMinimumTaxPercentage>
    <fgen:PercentageOfExciseTaxOnStockBuyback
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="2"
      id="F_f9e4f1c7-d0f3-4da5-8995-ede336f7f8e3"
      unitRef="U_pure">0.01</fgen:PercentageOfExciseTaxOnStockBuyback>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-5"
      id="F_6a121397-8bb5-43c8-9a85-500580922912"
      unitRef="U_USD">81000000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-5"
      id="F_6e8e78e9-30de-4548-aa3b-7ea5ac97b825"
      unitRef="U_USD">600000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_654149fb-e48b-4099-998f-35e3fb628913">&lt;p style="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 the beginning and ending amounts of unrecognized income tax benefits during the three 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 is as follows (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:10pt;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:80.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;"&gt;
        &lt;td 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;"&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;Federal&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:'Calibri',sans-serif;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;and State&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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, 2020&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;48,574&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Decrease due to prior positions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;245&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;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;Increase due to current year position&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,415&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 exchange rate differential&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;927&lt;/span&gt;&lt;/p&gt;&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;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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,671&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Increase due to prior positions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,954&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Increase due to current year position&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,074&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 exchange rate differential&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;908&lt;/span&gt;&lt;/p&gt;&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;72,791&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Decrease due to prior positions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;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;/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;Increase due to current year position&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,805&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 exchange rate differential&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;477&lt;/span&gt;&lt;/p&gt;&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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;80,965&lt;/span&gt;&lt;/p&gt;&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:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="C_2241c9db-ebb5-46bc-bed6-e1572f418f14"
      decimals="-3"
      id="F_459b2969-c24c-4f49-8f27-86b066d6def3"
      unitRef="U_USD">48574000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="C_9fe43a64-ce73-4bb7-bf6e-a0ca0ee60adb"
      decimals="-3"
      id="F_e75ed246-397e-4280-b14a-c6be4a6a0c22"
      unitRef="U_USD">245000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="C_9fe43a64-ce73-4bb7-bf6e-a0ca0ee60adb"
      decimals="-3"
      id="F_15931c22-7c65-4b58-82b7-eddd52fcafa6"
      unitRef="U_USD">8415000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <fgen:UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation
      contextRef="C_9fe43a64-ce73-4bb7-bf6e-a0ca0ee60adb"
      decimals="-3"
      id="F_ad651b66-b4b3-44fd-8284-056f730cc43e"
      unitRef="U_USD">927000</fgen:UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="C_d30e646e-d518-4d7e-b48b-c0c5d8820692"
      decimals="-3"
      id="F_c9824142-2ed8-4884-887c-508a5166b0e4"
      unitRef="U_USD">57671000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="C_505b9183-755e-4b21-80ae-014c47dacb80"
      decimals="-3"
      id="F_1368622f-d436-4775-b3a7-d1c7879db8bc"
      unitRef="U_USD">6954000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="C_505b9183-755e-4b21-80ae-014c47dacb80"
      decimals="-3"
      id="F_83143853-6516-41af-914c-4ab014d5b7a9"
      unitRef="U_USD">9074000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <fgen:UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation
      contextRef="C_505b9183-755e-4b21-80ae-014c47dacb80"
      decimals="-3"
      id="F_7447d638-22c3-4e12-afbf-d223253903b1"
      unitRef="U_USD">-908000</fgen:UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="C_c60cbb68-073d-4df4-9abc-e00293551276"
      decimals="-3"
      id="F_c2173a29-c092-46dd-90d3-7dbfab785986"
      unitRef="U_USD">72791000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="C_f4110041-d180-43b1-9f3f-9d5bc9e44b24"
      decimals="-3"
      id="F_298c2ce0-c2b4-480a-b4ed-fe21498652f4"
      unitRef="U_USD">154000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="C_f4110041-d180-43b1-9f3f-9d5bc9e44b24"
      decimals="-3"
      id="F_89349dee-6e39-49f9-a61a-a115dc81fa07"
      unitRef="U_USD">8805000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <fgen:UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation
      contextRef="C_f4110041-d180-43b1-9f3f-9d5bc9e44b24"
      decimals="-3"
      id="F_2e7a8a8e-a871-49b5-9b4d-a4ab8d3d451d"
      unitRef="U_USD">-477000</fgen:UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="C_b0b4c4de-0aa6-4c3e-99c3-ea107fc99732"
      decimals="-3"
      id="F_2f955cee-734e-44cd-83e2-86fcb310c2ac"
      unitRef="U_USD">80965000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_ee1f567f-fe8a-42f4-9faf-a9072ef7ec34">The Company does not anticipate a material change to its unrecognized tax benefits over the next twelve months that would affect the Company&#x2019;s effective tax rate.</us-gaap:SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleEstimatedRangeNotPossible>
    <us-gaap:OpenTaxYear
      contextRef="C_779b6e72-8b61-47e2-9d07-7f55f735098c"
      id="F_4ed0707f-6dac-4a92-9648-528240622eda">2014</us-gaap:OpenTaxYear>
    <us-gaap:OpenTaxYear
      contextRef="C_5cb58967-39dc-499b-9339-2ee01419f424"
      id="F_b108b44f-ba05-496b-98f4-dc2d2e1320c6">2023</us-gaap:OpenTaxYear>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_6886561b-857d-44cd-ac22-6fadd33286b5">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;16.	Related Party Transactions&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;Astellas is an equity investor in the Company and considered a related party. During the years ended December 31, 2023, 2022 and 2021, the Company recorded license and development revenue related to collaboration agreements with Astellas 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;6.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="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;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32.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;, 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;130.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;, respectively. During the years ended December 31, 2023, 2022 and 2021, the Company also recorded drug product revenue from Astellas 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;18.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="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;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11.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="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="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.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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, respectively. See Note 3, &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;Collaboration Agreements, License Agreement and Revenues&lt;/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 details.&lt;/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: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 expense related to collaboration agreements with Astellas was immaterial for each of the three years ended December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="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&lt;/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 from Astellas 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;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 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.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.&lt;/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: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&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, total deferred revenue from Astellas 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;16.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;40.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;/p&gt;&lt;p style="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, the amount due to Astellas, included in accrued and other current liabilities, and other long-term liabilities, 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;40.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 of 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;, the amount due to Astellas, included in accrued and other current liabilities, was 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;63.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.&lt;/span&gt;&lt;/p&gt;&lt;p style="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;Falikang, an entity jointly owned by FibroGen Beijing and AstraZeneca is an unconsolidated VIE accounted for as an equity method investment, and considered as a related party to the Company. FibroGen Beijing owns &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;51.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;% of Falikang&#x2019;s equity. See Note 5, &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;Equity method investment - Variable Interest Entity&lt;/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 details.&lt;/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: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, the net product revenue from sales to Falikang 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;89.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="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;span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71.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="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="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;35.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;, respectively. See the &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;Product Revenue, Net &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;section in Note 3, &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;Collaboration Agreements, License Agreement and Revenues&lt;/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 details. The other income from Falikang were immaterial for each of the three years ended December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="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, the investment income (loss) in Falikang 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;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&lt;/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;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;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 &lt;/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;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="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;, respectively. During the year ended 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 received $&lt;/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 of dividend distribution from Falikang. &lt;/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 December 31, 2023 and 2022, the Company&#x2019;s equity method investment in Falikang 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;5.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&lt;/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="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&lt;/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. See Note 5, &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;Equity method investment - Variable Interest Entity&lt;/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 details.&lt;/span&gt;&lt;/p&gt;&lt;p style="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&lt;/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, net, from Falikang 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;5.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;10.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.&lt;/span&gt;&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:Revenues
      contextRef="C_8ad23aa4-dbf3-4abf-9c95-bf014b7bfe2f"
      decimals="-5"
      id="F_41e970fe-3b24-45d4-b585-d5f7abf66942"
      unitRef="U_USD">6700000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_2bcc9ae8-5367-4c0e-8506-7b39063bee70"
      decimals="-5"
      id="F_67476b99-c9f7-4426-a1f4-c1db5fcf2d67"
      unitRef="U_USD">32500000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_094f4a80-eacf-46b1-b93f-a4861cf28be3"
      decimals="-5"
      id="F_e593e2f5-18cc-4e05-ae72-86599ad688b0"
      unitRef="U_USD">130400000</us-gaap:Revenues>
    <fgen:DrugProductRevenueFromRelatedParty
      contextRef="C_a89db25d-a908-4a2c-a4b5-1acf00a714fa"
      decimals="-5"
      id="F_b5074e9a-eb61-4bc0-98e8-2002a61a8719"
      unitRef="U_USD">18800000</fgen:DrugProductRevenueFromRelatedParty>
    <fgen:DrugProductRevenueFromRelatedParty
      contextRef="C_57c84049-303f-43ed-998f-89ad95828c47"
      decimals="-5"
      id="F_dce968d6-95a4-4473-a5c6-20caef4c7525"
      unitRef="U_USD">11100000</fgen:DrugProductRevenueFromRelatedParty>
    <fgen:DrugProductRevenueFromRelatedParty
      contextRef="C_9dcf2e46-d8b2-4c2c-ab36-8a4e3b80aaf3"
      decimals="-5"
      id="F_994d883d-e9e5-495c-a0fe-2ebc53035013"
      unitRef="U_USD">3200000</fgen:DrugProductRevenueFromRelatedParty>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_cc537740-f6c3-470c-8622-b3d7bda3db47"
      decimals="-5"
      id="F_2aa2469f-d1ba-4460-9c01-cb1b6f41ce24"
      unitRef="U_USD">800000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_8b286242-b5c5-40f3-aff0-125cd2031463"
      decimals="-5"
      id="F_b952d1ec-fd30-4b0b-85a3-c04301eb89fc"
      unitRef="U_USD">1500000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_cc537740-f6c3-470c-8622-b3d7bda3db47"
      decimals="-5"
      id="F_e4b13d30-8430-4cae-9d41-3c54ee201ff8"
      unitRef="U_USD">16900000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_8b286242-b5c5-40f3-aff0-125cd2031463"
      decimals="-5"
      id="F_b5a60226-3d9d-4299-bb07-4f98426e2eb4"
      unitRef="U_USD">40300000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:OtherLiabilities
      contextRef="C_987c8269-c09a-4c09-adf8-8ff473c94317"
      decimals="-5"
      id="F_80b9cf06-be8e-48d4-be34-4984bf3b2a0d"
      unitRef="U_USD">40500000</us-gaap:OtherLiabilities>
    <us-gaap:OtherLiabilities
      contextRef="C_6fa8a44e-30f6-4a5b-9bd7-e5d40206a786"
      decimals="-5"
      id="F_18d5f5cf-936d-4f59-a398-42f278012d40"
      unitRef="U_USD">63900000</us-gaap:OtherLiabilities>
    <us-gaap:VariableInterestEntityOwnershipPercentage
      contextRef="C_ef8b564c-7619-41a4-be6d-99077aa05787"
      decimals="3"
      id="F_9b3c847a-3abb-4b48-a030-cd5d12972656"
      unitRef="U_pure">0.511</us-gaap:VariableInterestEntityOwnershipPercentage>
    <us-gaap:Revenues
      contextRef="C_d2a8a398-f907-4749-871e-11c30e02d4f5"
      decimals="-5"
      id="F_9a84f753-0142-4f2c-bce8-0abfa027ee4d"
      unitRef="U_USD">89100000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_c53c0b6d-1c9a-49b8-ac78-9ba4ce287637"
      decimals="-5"
      id="F_7d46b8da-d957-44c2-9b2a-51c035c48684"
      unitRef="U_USD">71200000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_4f3fb4b2-116d-43b3-94ee-3cfae72d071a"
      decimals="-5"
      id="F_d4f54683-5e06-4dc0-8de6-d6e24c7f14cf"
      unitRef="U_USD">35600000</us-gaap:Revenues>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="C_ef8b564c-7619-41a4-be6d-99077aa05787"
      decimals="-5"
      id="F_31406db3-deb6-49c1-b001-7e43fd5eccb3"
      unitRef="U_USD">2600000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="C_8cd46ce2-f63f-43c9-97de-d0eaaca65059"
      decimals="-5"
      id="F_848fc57c-4f07-4149-ba9d-921c9ede450e"
      unitRef="U_USD">1600000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="C_7704c37f-1cad-4567-a037-6e7f7b844901"
      decimals="-5"
      id="F_98e5d8f4-d7a0-4b7f-bff3-83f7bb7dd670"
      unitRef="U_USD">1000000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:InvestmentIncomeDividend
      contextRef="C_ef8b564c-7619-41a4-be6d-99077aa05787"
      decimals="-5"
      id="F_06fd1cde-28a6-45cf-aa23-80de8402bb9c"
      unitRef="U_USD">2300000</us-gaap:InvestmentIncomeDividend>
    <us-gaap:EquityMethodInvestments
      contextRef="C_14692126-1d87-484c-a361-1cc42818617b"
      decimals="-5"
      id="F_d6d6b078-3a6a-40b7-bac4-75ea9e40265d"
      unitRef="U_USD">5300000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="C_b9a3095e-7cea-4a4c-b2c9-5f08dad5771b"
      decimals="-5"
      id="F_6377c7f3-88a2-4a73-bab1-f1a3d024cada"
      unitRef="U_USD">5100000</us-gaap:EquityMethodInvestments>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_14692126-1d87-484c-a361-1cc42818617b"
      decimals="-5"
      id="F_e27e6bbf-2075-4a54-85d6-d0e5454b9797"
      unitRef="U_USD">5200000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_b9a3095e-7cea-4a4c-b2c9-5f08dad5771b"
      decimals="-5"
      id="F_37b7a313-ca71-43ae-b9cc-be734b1eadf6"
      unitRef="U_USD">10500000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_e1eca74f-e2c5-4ae8-97a4-94e352139e3e">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;17.	Segment and Geographic Information&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;The Company has determined that the chief executive officer is the chief operating decision maker (&#x201c;CODM&#x201d;). The CODM reviews financial information presented for the Company&#x2019;s various clinical trial programs as well as results on a consolidated basis. License revenues and development revenues received are not allocated to various programs for purposes of determining a profit measure and resource allocation decisions are made by the CODM based primarily on consolidated results. As such, the Company has concluded that it operates 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; segment. Supplemental enterprise-wide information has been presented below.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Geographic Revenues&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;Geographic revenues, which are based on the region that revenue is generated, are as follows (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:10pt;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:45.7%;"&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:14.32%;"&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:14.32%;"&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:14.32%;"&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;min-width:fit-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;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;"&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;"&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: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;China&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;109,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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;84,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: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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:#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;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;9,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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: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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,243&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Japan&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,867&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,764&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;/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;United States&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,961&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,121&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;147,752&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;140,734&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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: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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;235,309&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="font-size: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="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;Geographic Assets&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;Property and equipment, net by geographic location are as follows (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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.78%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.9%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.200000000000003%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.9%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.22%;"&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;min-width:fit-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;"&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;"&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: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;United States&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,785&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,094&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;China&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;8,341&lt;/span&gt;&lt;/p&gt;&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,511&lt;/span&gt;&lt;/p&gt;&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 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;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;13,126&lt;/span&gt;&lt;/p&gt;&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;20,605&lt;/span&gt;&lt;/p&gt;&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 style="font-size:10pt;font-family:Times New Roman;"&gt;&lt;p style="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 lease right-of-use assets and operating lease right-of-use assets, net by geographic location are as follows (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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.792%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.08%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.023%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.08%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.023%;"&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;min-width:fit-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;"&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;"&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: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;United States&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;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:#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;China&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;21&lt;/span&gt;&lt;/p&gt;&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&lt;/span&gt;&lt;/p&gt;&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 finance 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;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&lt;/span&gt;&lt;/p&gt;&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;435&lt;/span&gt;&lt;/p&gt;&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;min-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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;United States&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;76,273&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;China&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,154&lt;/span&gt;&lt;/p&gt;&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;3,620&lt;/span&gt;&lt;/p&gt;&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 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;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;68,093&lt;/span&gt;&lt;/p&gt;&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;79,893&lt;/span&gt;&lt;/p&gt;&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:18pt;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;min-width:fit-content;"&gt;Customer Concentration&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Times New Roman;"&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;The Company&#x2019;s revenues to date have been generated from the following collaboration partners and distribution entity that individually accounted for 10% or more of the Company&#x2019;s total revenue or accounts receivable:&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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:25.93%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.795%;"&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.795%;"&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.795%;"&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.795%;"&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.795%;"&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:middle;"&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:middle;"&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:middle;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;Percentage of Revenue&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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="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: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:middle;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;Percentage of Accounts Receivable&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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:middle;"&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:middle;"&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;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 style="vertical-align:middle;"&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:middle;"&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:middle;"&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;td style="vertical-align:middle;"&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:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Falikang &#x2014; Related party&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;60&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;51&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;15&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;42&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;65&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="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: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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Astellas &#x2014; Related party&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;17&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;31&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;57&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;7&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;9&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="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: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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;AstraZeneca&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;8&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;9&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;20&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;33&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;16&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="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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&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:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Substantially all direct product sales to distributors in China were made by Falikang. No individual distributor represented over 10% of the total revenue for the years ended December 31, 2023 and 2022. The aggregate accounts receivable from direct sales to distributors 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; were immaterial.&lt;/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:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="INF"
      id="F_ddfa614f-87df-40ac-af62-387bb11532f1"
      unitRef="U_Segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_6abed24b-60f0-4e8f-ad49-8db65846a285">&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;Geographic revenues, which are based on the region that revenue is generated, are as follows (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:10pt;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:45.7%;"&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:14.32%;"&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:14.32%;"&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:14.32%;"&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;min-width:fit-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;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;"&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;"&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: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;China&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;109,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:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;84,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: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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:#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;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;9,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="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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: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:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,243&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;Japan&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,867&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,764&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;/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;United States&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,961&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;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;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,121&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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 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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;147,752&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;140,734&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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: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="border-top:0.5pt solid #000000;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="border-top:0.5pt solid #000000;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;235,309&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;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="font-size: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:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:Revenues
      contextRef="C_bc67b859-6a7a-483d-b9ab-3f3606bfba16"
      decimals="-3"
      id="F_c9c92bfe-4e82-4e3d-bb6d-ae9da95e9761"
      unitRef="U_USD">109375000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_35841333-74f6-4133-a950-8375b5226923"
      decimals="-3"
      id="F_d6ca9c65-cb56-411b-ada9-734f3dc1337e"
      unitRef="U_USD">84631000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_5f576384-fdf3-41c5-9023-17746a985932"
      decimals="-3"
      id="F_7bfd9661-1cd6-4873-8b0c-8ec28a8118ba"
      unitRef="U_USD">55640000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_9feecbc0-749f-480e-9778-4fb17c34c7be"
      decimals="-3"
      id="F_c5e62d36-431c-4052-82e6-32d2b6cfcaa8"
      unitRef="U_USD">9549000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_e3ede601-bff4-412a-975e-c3fc0275bd2b"
      decimals="-3"
      id="F_09f45f9f-6d41-47ed-9177-74ee532632dd"
      unitRef="U_USD">33820000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_b236e042-06e0-4910-bdb2-e65dc298caf1"
      decimals="-3"
      id="F_143fb633-1ab3-484b-adb3-fca0ebf6dc66"
      unitRef="U_USD">131243000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_c8ee1d0d-831d-4de3-b1ca-208afec64a8d"
      decimals="-3"
      id="F_a2175fff-ebcc-4ec6-9fee-587f203e363e"
      unitRef="U_USD">15867000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_ecdcb19c-96f8-4de0-bd94-9f5ff1dbf91e"
      decimals="-3"
      id="F_de0ae074-7cf7-40f9-9834-30c83ccb3016"
      unitRef="U_USD">9764000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_c140df9a-e1bf-4a68-a31a-980d9399f28d"
      decimals="-3"
      id="F_187fd713-f7dc-49a5-8cfd-73394f8116d2"
      unitRef="U_USD">2305000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_4347292f-9186-426c-8f78-e90729035fab"
      decimals="-3"
      id="F_d20b92d7-f395-4b0f-8876-25b4f0b8ec00"
      unitRef="U_USD">12961000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_a9b93c03-b62c-4471-bdae-1229fdfb732c"
      decimals="-3"
      id="F_23a7e444-2167-45f6-a9b0-b23e15b86d60"
      unitRef="U_USD">12519000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_5b29dd8d-06ef-496b-b47d-66ef14ce30fa"
      decimals="-3"
      id="F_09091f95-f714-4acb-bdc3-3a6ad133cf0c"
      unitRef="U_USD">46121000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      decimals="-3"
      id="F_755bd2c0-2490-4743-9cc5-2cbc29379175"
      unitRef="U_USD">147752000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_351a0e1b-7ffb-41d7-931d-1e2eb709c3cf"
      decimals="-3"
      id="F_6d75c9b6-11b9-417e-8194-aff91583bfd8"
      unitRef="U_USD">140734000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_39a98200-d2b3-4bd6-aed4-ca0f3b8c391a"
      decimals="-3"
      id="F_e30ee8f6-8f31-49f2-b602-3864eb8c705a"
      unitRef="U_USD">235309000</us-gaap:Revenues>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_b3eceba1-5b8e-48a2-96d0-12e74e921f35">&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;Property and equipment, net by geographic location are as follows (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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.78%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.9%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.200000000000003%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.9%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.22%;"&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;min-width:fit-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;"&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;"&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: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;United States&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,785&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,094&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;China&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;8,341&lt;/span&gt;&lt;/p&gt;&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,511&lt;/span&gt;&lt;/p&gt;&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 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;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;13,126&lt;/span&gt;&lt;/p&gt;&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;20,605&lt;/span&gt;&lt;/p&gt;&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:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_8e1bfb2b-d5cc-4db7-ba97-d0173c471d20"
      decimals="-3"
      id="F_edaae382-a06e-47a1-8336-55f91fd25eb2"
      unitRef="U_USD">4785000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_d8ce0cee-d608-43e4-a0b7-1ed4f965cd2c"
      decimals="-3"
      id="F_0aacdf8c-39c3-4c7e-a7e5-83752009d245"
      unitRef="U_USD">10094000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_fd0c7653-e448-4e10-8cc5-3dc1479076ca"
      decimals="-3"
      id="F_b1514dcf-cafb-4028-87cf-76335389483a"
      unitRef="U_USD">8341000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_c1dcd9da-92cc-4481-bba3-209dfe51295b"
      decimals="-3"
      id="F_01cd2ff3-8e9e-4544-869f-d3a5c7edb662"
      unitRef="U_USD">10511000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_919e1cf0-da24-40fc-a575-79f4d1e09094"
      unitRef="U_USD">13126000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_1535e909-29ba-434b-bf94-76aab11d53e6"
      unitRef="U_USD">20605000</us-gaap:PropertyPlantAndEquipmentNet>
    <fgen:SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_977c57e1-f386-4ada-9720-1711e88b06c5">&lt;p style="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 lease right-of-use assets and operating lease right-of-use assets, net by geographic location are as follows (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:10pt;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:80.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.792%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.08%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.023%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.08%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.023%;"&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;min-width:fit-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;"&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;"&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: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;United States&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;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:#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;China&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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;21&lt;/span&gt;&lt;/p&gt;&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&lt;/span&gt;&lt;/p&gt;&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 finance 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;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&lt;/span&gt;&lt;/p&gt;&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;435&lt;/span&gt;&lt;/p&gt;&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;min-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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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;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;United States&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;76,273&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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;China&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&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,154&lt;/span&gt;&lt;/p&gt;&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;3,620&lt;/span&gt;&lt;/p&gt;&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 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;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;68,093&lt;/span&gt;&lt;/p&gt;&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;79,893&lt;/span&gt;&lt;/p&gt;&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;</fgen:SummaryOfFinanceAndOperatingLeaseRightOfUseAssetsByGeographicalLocationTableTextBlock>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="C_8e1bfb2b-d5cc-4db7-ba97-d0173c471d20"
      decimals="-3"
      id="F_a2c9d4cb-87f0-4b47-9b9a-96759cbca156"
      unitRef="U_USD">132000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="C_d8ce0cee-d608-43e4-a0b7-1ed4f965cd2c"
      decimals="-3"
      id="F_cebb5f21-89a0-48de-8c16-21c185f3f3ec"
      unitRef="U_USD">424000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="C_fd0c7653-e448-4e10-8cc5-3dc1479076ca"
      decimals="-3"
      id="F_fbaf5677-411c-4dbf-8813-65bd7b03f73e"
      unitRef="U_USD">21000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="C_c1dcd9da-92cc-4481-bba3-209dfe51295b"
      decimals="-3"
      id="F_d38e58ec-adf4-4d74-9e72-9c72fae39a6f"
      unitRef="U_USD">11000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_3c309b86-5db8-451b-ad95-14292ea75e32"
      unitRef="U_USD">153000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_ff926ee4-d23c-4dfd-a9cf-36b73ea34f79"
      unitRef="U_USD">435000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_8e1bfb2b-d5cc-4db7-ba97-d0173c471d20"
      decimals="-3"
      id="F_d966ec32-3844-4bef-9b92-8550d2724a19"
      unitRef="U_USD">64939000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_d8ce0cee-d608-43e4-a0b7-1ed4f965cd2c"
      decimals="-3"
      id="F_b2f64cdd-fa6d-470b-844c-8c164fb57d2d"
      unitRef="U_USD">76273000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_fd0c7653-e448-4e10-8cc5-3dc1479076ca"
      decimals="-3"
      id="F_9e14b244-1e4f-4c7e-88c5-f2bd98361cf8"
      unitRef="U_USD">3154000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_c1dcd9da-92cc-4481-bba3-209dfe51295b"
      decimals="-3"
      id="F_50cc1283-19cd-4304-bbd1-12a97e2ffbcc"
      unitRef="U_USD">3620000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_f107937d-1e24-4005-af4e-0bcfe4e4dd5b"
      decimals="-3"
      id="F_7822056a-3b8b-431e-998c-d0f1ad1b58cf"
      unitRef="U_USD">68093000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_f5d69702-7188-49ef-8671-e43bbddf4a62"
      decimals="-3"
      id="F_29835739-b8d4-48db-adcf-7756302cdcb2"
      unitRef="U_USD">79893000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_074e7971-7fad-4992-8e3b-e33cd957073e">&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;The Company&#x2019;s revenues to date have been generated from the following collaboration partners and distribution entity that individually accounted for 10% or more of the Company&#x2019;s total revenue or accounts receivable:&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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:25.93%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.795%;"&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.795%;"&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.795%;"&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.795%;"&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.795%;"&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:middle;"&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:middle;"&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:middle;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;Percentage of Revenue&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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="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: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:middle;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;Percentage of Accounts Receivable&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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:middle;"&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:middle;"&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;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 style="vertical-align:middle;"&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:middle;"&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:middle;"&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;td style="vertical-align:middle;"&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:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Falikang &#x2014; Related party&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;60&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;51&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;15&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;42&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;65&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="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: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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Astellas &#x2014; Related party&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;17&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;31&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;57&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;7&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;9&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="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: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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;AstraZeneca&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;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="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;8&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;9&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;20&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;33&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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-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;16&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="color:#000000;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_a9ac82b8-66aa-4bbd-a2d9-d559a20f5f07"
      decimals="2"
      id="F_d4bef24f-9fec-4bf6-9bb0-2543074c1a0e"
      unitRef="U_pure">0.60</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_f51c9e5b-00c8-4ed5-994a-c730fa65cca4"
      decimals="2"
      id="F_e1e74145-6783-4bd0-ad0f-12b5a9d52b37"
      unitRef="U_pure">0.51</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_8c1a506b-c25b-40df-9370-0bc732e1b43b"
      decimals="2"
      id="F_9875d251-5f54-4144-b854-a77fc688ee16"
      unitRef="U_pure">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_99f11c06-0f2e-4673-b7d9-8ef71a10f287"
      decimals="2"
      id="F_7a2cfd59-fb00-4799-90f3-455246563c82"
      unitRef="U_pure">0.42</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_7b9b71e3-6fba-4b08-970e-1cc9051fc211"
      decimals="2"
      id="F_9e238f50-4c40-4de7-8ef7-9e691f0335cb"
      unitRef="U_pure">0.65</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_61912f00-c0b8-4f8c-a4d0-ec6b32adcde7"
      decimals="2"
      id="F_40c5a8cf-a51a-47f7-8bc8-29c11f6f18c5"
      unitRef="U_pure">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_9ba5adc6-815e-43b9-ba53-e926244eadc8"
      decimals="2"
      id="F_4c0bad7d-d20f-4a06-94b7-7a6b65f1e086"
      unitRef="U_pure">0.31</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_26dccaf9-87b1-4a6b-b8bc-2decb5273511"
      decimals="2"
      id="F_411fa656-7ff9-4b0a-9bf3-1714379721b4"
      unitRef="U_pure">0.57</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_60f25780-d00e-4f9c-b047-4d24cf708a30"
      decimals="2"
      id="F_8e093d2b-e6b1-48ec-bfff-9450bafa6583"
      unitRef="U_pure">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_591ccf76-7cf2-415c-afc5-42b0d40ee65d"
      decimals="2"
      id="F_2d642c9b-45ad-4b9d-8f31-79287072146b"
      unitRef="U_pure">0.09</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_52726052-ce44-4f91-bb8f-1eb1fd0872d7"
      decimals="2"
      id="F_d94bbf9d-000e-4084-89ca-f3f14b1f63b4"
      unitRef="U_pure">0.08</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_37883dc5-23ed-47b3-b062-cfdc186d89a8"
      decimals="2"
      id="F_f19306e3-54cd-41ca-82f5-bec0a2e67b8e"
      unitRef="U_pure">0.09</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_d878faaa-d974-4b9c-9ef1-ec19c9a317fb"
      decimals="2"
      id="F_5e1d8b30-0309-440d-8738-992a722e93c6"
      unitRef="U_pure">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_daa4758b-d109-45ac-bb36-09309b7fcf2b"
      decimals="2"
      id="F_2a11c27c-30f5-4b66-ba95-755fb3ad1335"
      unitRef="U_pure">0.33</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_528c68f0-1f5d-4086-a9b8-00002b8a2506"
      decimals="2"
      id="F_a66a860e-c1d6-4ae3-98e6-b33b1ee286bf"
      unitRef="U_pure">0.16</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_11a18543-d6d4-4b54-a6b0-ac13bd726a15">&lt;p style="font-size:10pt;margin-top:18pt;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;min-width:fit-content;"&gt;18.	Subsequent Event&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;On February 23, 2024, the Company and AstraZeneca entered into an agreement to terminate the AstraZeneca U.S./RoW Agreement dated July 30, 2013 (as amended). Pursuant to the termination and transition agreement, AstraZeneca is returning all of their non-China roxadustat rights to the Company, with the exception of South Korea, and providing certain assistance during a transition period. The Company&#x2019;s collaboration agreement with AstraZeneca for roxadustat in China remains in place.&lt;/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: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 a part of this termination and transition agreement, the Company and AstraZeneca will settle the outstanding balances relating to past transactions related to manufacturing and AstraZeneca will receive tiered mid-single digit royalties on FibroGen&#x2019;s sales of roxadustat in the terminated territories, or thirty-five percent of all revenue FibroGen receives if it licenses or sells such rights to a third-party. Neither party incurred any early termination penalties. The Company is currently evaluating the accounting impact of this transaction as it relates to the first quarter of 2024.&lt;/span&gt;&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock
      contextRef="C_32c5005e-7734-4197-b44e-37a11e09e7fc"
      id="F_54f93351-922a-45d9-83c2-0d1722c31366">&lt;p id="schedule_ii" 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;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;Schedule II: Valuation an&lt;/span&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;d Qualifying Accounts&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:center;"&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;(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:10pt;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:100.0%;border-collapse:separate;margin-right:auto;"&gt;
     &lt;tr style="visibility:collapse;"&gt;
      &lt;td style="width:35.787%;"&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:9.582%;"&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:9.582%;"&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:9.582%;"&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:9.582%;"&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:9.582%;"&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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Charged&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-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:'Calibri',sans-serif;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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;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:middle;"&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:middle;"&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:middle;"&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:middle;"&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:middle;"&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:middle;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Charged&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="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: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:middle;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;to Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="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: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:middle;"&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:middle;"&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:middle;"&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:middle;"&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:middle;"&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;/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:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Balance at&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;(Credited)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Accounts -&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&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="vertical-align:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&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="vertical-align:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&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="vertical-align:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&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;/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:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Beginning of&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;to Statement&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Deductions,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Balance at&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="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:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Year&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;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:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;of Operation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;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:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;and Equity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;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:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;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;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;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:middle;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space: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;"&gt;&lt;p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;End of Year&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="vertical-align:middle;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: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="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Valuation allowances for deferred tax assets&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 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: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 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: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 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: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 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: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 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;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="white-space:pre-wrap;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Year ended December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;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="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="color:#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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;477,969&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="color:#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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,998&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;534,967&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Year ended December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;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="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="color:#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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;409,810&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="color:#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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,159&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;477,969&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Year ended December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;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="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="color:#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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;337,824&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="color:#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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,986&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;409,810&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&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: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 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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;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:'Calibri',sans-serif;min-width:fit-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:'Calibri',sans-serif;min-width:fit-content;"&gt;&#160;&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: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="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"&gt;Allowances for rebates, discounts and adjustments&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 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: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 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: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 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: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 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: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 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;/tr&gt;
     &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
      &lt;td style="white-space:pre-wrap;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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Year ended December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;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="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="color:#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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,349&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="color:#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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;63,475&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;849&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;60,964&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,011&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Year ended December 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;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="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="color:#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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,443&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="color:#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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;39,082&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,050&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;53,226&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,349&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/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: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="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;Year ended December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;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="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;548&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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: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="color:#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;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,258&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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;734&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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;29,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="color:#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;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family: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,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:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align: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;</srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="C_649d562e-a8ae-40b4-bb9a-131e714124b9"
      decimals="-3"
      id="F_dbfba751-2212-4da9-94ea-af13e1e3d8b1"
      unitRef="U_USD">477969000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="C_44966446-1567-4557-9601-0657675deb31"
      decimals="-3"
      id="F_5a2a73a4-fc47-4814-a110-b516f67833dd"
      unitRef="U_USD">56998000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="C_44966446-1567-4557-9601-0657675deb31"
      decimals="-3"
      id="F_2fea1096-4e99-436a-bd2b-16e1a44c5050"
      unitRef="U_USD">0</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="C_44966446-1567-4557-9601-0657675deb31"
      decimals="-3"
      id="F_79672c22-38a4-4240-91f3-c920aae14cac"
      unitRef="U_USD">0</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="C_260c93a8-c8e9-4970-9f44-90a16e8aed4d"
      decimals="-3"
      id="F_5d29a742-3304-431c-b3bc-2f13bf416119"
      unitRef="U_USD">534967000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="C_6eb1ac9b-f9eb-46f5-a850-37b4f530bdd0"
      decimals="-3"
      id="F_f38879d3-3394-4af9-9af8-8ada7c09a087"
      unitRef="U_USD">409810000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="C_2d9f1232-09cf-4a56-8df0-87268529c4f4"
      decimals="-3"
      id="F_1538f3da-6788-4444-bbc9-4631468907a5"
      unitRef="U_USD">68159000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="C_2d9f1232-09cf-4a56-8df0-87268529c4f4"
      decimals="-3"
      id="F_535e8d7e-33d2-4b63-b5ac-e770d2880bfb"
      unitRef="U_USD">0</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="C_2d9f1232-09cf-4a56-8df0-87268529c4f4"
      decimals="-3"
      id="F_76d89dcc-ade8-43f1-a051-c81d79b5dd65"
      unitRef="U_USD">0</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="C_649d562e-a8ae-40b4-bb9a-131e714124b9"
      decimals="-3"
      id="F_b87ea3e2-97f1-4c25-ab9e-bf6238052702"
      unitRef="U_USD">477969000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="C_20ffc867-55c8-4555-91bd-a994a29c5242"
      decimals="-3"
      id="F_a5aebaf5-73e9-4a66-ac37-9605c9a9bebd"
      unitRef="U_USD">337824000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="C_06f086f0-9936-4c4a-8404-d51e9b1dcc47"
      decimals="-3"
      id="F_5d0d69b4-9d3d-4f5a-9a1f-f46cc345c001"
      unitRef="U_USD">71986000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="C_06f086f0-9936-4c4a-8404-d51e9b1dcc47"
      decimals="-3"
      id="F_472c696b-ca07-4895-93a3-b4e14b85da85"
      unitRef="U_USD">0</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="C_06f086f0-9936-4c4a-8404-d51e9b1dcc47"
      decimals="-3"
      id="F_91810d62-5747-45c4-8791-09b652bea775"
      unitRef="U_USD">0</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="C_6eb1ac9b-f9eb-46f5-a850-37b4f530bdd0"
      decimals="-3"
      id="F_5995a90e-4151-4481-8580-143e6c2056f0"
      unitRef="U_USD">409810000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="C_1a1fdc4a-4d80-4d7b-911a-eb0a0063070f"
      decimals="-3"
      id="F_eafe4ff8-71e2-461b-8f8d-0cccba51f163"
      unitRef="U_USD">1349000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="C_4348a71c-ade0-4f33-b4d8-0ca686ba006c"
      decimals="-3"
      id="F_38db4519-fa14-46a3-8190-30aea0b9eb50"
      unitRef="U_USD">63475000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="C_4348a71c-ade0-4f33-b4d8-0ca686ba006c"
      decimals="-3"
      id="F_f49fbb67-866a-4ce7-931d-aee8e5d7634e"
      unitRef="U_USD">-849000</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="C_4348a71c-ade0-4f33-b4d8-0ca686ba006c"
      decimals="-3"
      id="F_12379b38-6cd7-4e59-96f3-cce5a4929093"
      unitRef="U_USD">60964000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="C_d18421a3-6eb0-41c3-865f-3d30610e76de"
      decimals="-3"
      id="F_768859a9-36cb-4be0-8d41-b6c85cb43197"
      unitRef="U_USD">3011000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="C_464653e2-3d5b-4147-89da-5a519b1f4dc3"
      decimals="-3"
      id="F_4d4284db-7971-4570-a9ae-184951059185"
      unitRef="U_USD">14443000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="C_29ae50fc-6f09-4103-bb32-9be92f9a8bcc"
      decimals="-3"
      id="F_e17a190c-06ce-4e28-a990-197e58db1280"
      unitRef="U_USD">39082000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="C_29ae50fc-6f09-4103-bb32-9be92f9a8bcc"
      decimals="-3"
      id="F_073c5215-eb02-48cd-a0a3-b9dde4166a63"
      unitRef="U_USD">1050000</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="C_29ae50fc-6f09-4103-bb32-9be92f9a8bcc"
      decimals="-3"
      id="F_c1cf1695-f996-4415-bcce-ba7f1e53cb3a"
      unitRef="U_USD">53226000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="C_1a1fdc4a-4d80-4d7b-911a-eb0a0063070f"
      decimals="-3"
      id="F_84703520-a993-4f6e-b16f-4243b27c9104"
      unitRef="U_USD">1349000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="C_5995f929-3741-4c1d-848c-3ccfd1ee27cc"
      decimals="-3"
      id="F_ebf5ef2c-6335-42af-91fd-82696c278b79"
      unitRef="U_USD">548000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="C_892731c6-14d2-4862-b12f-20aa8648074a"
      decimals="-3"
      id="F_5c2c7afc-11d8-40cf-86f6-c4c0cd7d9510"
      unitRef="U_USD">44258000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="C_892731c6-14d2-4862-b12f-20aa8648074a"
      decimals="-3"
      id="F_3d637ea4-cf88-4ee4-aae5-65e7ed4547fc"
      unitRef="U_USD">-734000</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="C_892731c6-14d2-4862-b12f-20aa8648074a"
      decimals="-3"
      id="F_882eef8f-6a7a-4b14-80d5-5199e677e710"
      unitRef="U_USD">29629000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="C_464653e2-3d5b-4147-89da-5a519b1f4dc3"
      decimals="-3"
      id="F_24a876a7-9d15-435f-b7af-84adcfb2a7cf"
      unitRef="U_USD">14443000</us-gaap:ValuationAllowancesAndReservesBalance>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
